CN111611016B - 一种基于时空隔离域加载MicroPython的方法 - Google Patents

一种基于时空隔离域加载MicroPython的方法 Download PDF

Info

Publication number
CN111611016B
CN111611016B CN202010447609.9A CN202010447609A CN111611016B CN 111611016 B CN111611016 B CN 111611016B CN 202010447609 A CN202010447609 A CN 202010447609A CN 111611016 B CN111611016 B CN 111611016B
Authority
CN
China
Prior art keywords
micropython
space
domain
configuring
time
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.)
Active
Application number
CN202010447609.9A
Other languages
English (en)
Other versions
CN111611016A (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.)
Chengdu Yinhanyi Technology Co ltd
Original Assignee
Chengdu Yinhanyi 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 Chengdu Yinhanyi Technology Co ltd filed Critical Chengdu Yinhanyi Technology Co ltd
Priority to CN202010447609.9A priority Critical patent/CN111611016B/zh
Publication of CN111611016A publication Critical patent/CN111611016A/zh
Application granted granted Critical
Publication of CN111611016B publication Critical patent/CN111611016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于时空隔离域加载MicroPython的方法,包括如下步骤:(1)将MicroPython以域服务模块形式加载并运行;(2)配置MicroPython运行时所需的多线程机制和线程调度;(3)配置MicroPython运行时所需的文件系统;(4)配置MicroPython运行时所需的IO设备管理;(5)配置MicroPython运行时所需的网络协议栈;(6)配置MicroPython运行时所需的RTC;(9)配置MicroPython运行时所需的标准输入、输出。本发明通过将MicroPython以域服务模块形式加载并运行,并在时空隔离域中配置了MicroPython运行所需的各类资源,从而解决了如何将MicroPython运行于时空隔离域中的问题。

Description

一种基于时空隔离域加载MicroPython的方法
技术领域
本发明涉及信息技术领域,尤其是一种基于时空隔离域加载MicroPython的方法。
背景技术
MicroPython是Python3编程语言的一种精简而高效的实现,它包含Python标准库的一个子集,运行于裸金属系统或嵌入式系统中。通过MicroPython实现硬件底层的访问和控制,不需要了解底层寄存器、数据手册、厂家的库函数等,即可轻松控制硬件。外设与常用功能都有相应的模块,降低开发难度,使开发和移植变得容易和快速。
目前支持MicroPython的嵌入式系统都是将MicroPython作为一个服务组件与其他服务、应用运行在同一个系统空间。MicroPython可作为主要应用或作为次要应用与实时应用一同运行。
但随着应用复杂度逐渐升高,应用任务越来越多,且绝大部分实时应用能优先抢占CPU,将无法保障MicroPython的执行时间。因此为了保障MicroPython的执行时间,应将MicroPython运行于时空隔离域中。而MicroPython并不是基于时空隔离域开发的,因此现有的MicroPython无法直接运行于时空隔离域中。
发明内容
本发明所要解决的技术问题是:针对如何将MicroPython运行于时空隔离域中的问题,提供一种基于时空隔离域加载MicroPython的方法。
本发明采用的技术方案如下:
一种基于时空隔离域加载MicroPython的方法,包括如下步骤:
(1)将MicroPython以域服务模块形式加载并运行;
(2)配置MicroPython运行时所需的多线程机制和线程调度;
(3)配置MicroPython运行时所需的文件系统;
(4)配置MicroPython运行时所需的IO设备管理;
(5)配置MicroPython运行时所需的网络协议栈;
(6)配置MicroPython运行时所需的RTC;
(7)配置MicroPython运行时所需的标准输入、输出。
具体地,所述MicroPython以域服务模块形式,通过以下两种方式加载并运行:
(1.1)静态加载:MicroPython作为静态库链接到时空隔离域的域镜像中,当内核加载时空隔离域时将MicroPython与其他域服务模块一同运行;
(1.2)动态加载:MicroPython作为动态库,也即一个独立的模块镜像,在时空隔离域启动后,再动态加载到内存中运行。
具体地,所述配置MicroPython运行时所需的多线程机制和线程调度的方法包括步骤(2.1)~(2.5):
(2.1)将MicroPython的多线程功能为以下4类:线程管理、线程调度、线程锁管理和线程中断;
(2.2)线程管理由时空隔离域的任务管理抽象实现;
(2.3)线程调度由时空隔离域的任务调度抽象实现;
(2.4)线程锁管理由时空隔离域的互斥锁抽象实现;
(2.5)线程中断由时空隔离域的软中断抽象实现。
具体地,所述配置MicroPython运行时所需的文件系统的方法为:MicroPython支持的文件访问包括4类标准接口:open、read、write、close;当MicroPython调用文件访问的标准接口时,将直接访问时空隔离域提供的对应接口。
具体地,所述配置MicroPython运行时所需的IO设备管理的方法为:时空隔离域内需要初始化IO设备,将IO设备注册管理,并提供IO设备的访问接口:open、read、write、ioctl、close;当MicroPython访问IO设备时,将调用时空隔离域的多个IO设备访问接口,执行对应的IO操作。
具体地,所述配置MicroPython运行时所需的网络协议栈的方法为:时空隔离域内需要初始化网络协议栈,当MicroPython调用BSD socket接口时,将调用时空隔离域的网络协议栈对应接口,执行对应的操作。
具体地,所述配置MicroPython运行时所需的RTC的方法为:时空隔离域需要从内核获取当前的RTC,并独立的管理RTC偏移;当MicroPython访问RTC时,将调用时空隔离域对应的RTC接口,同时加上RTC偏移完成访问。
具体地,所述配置MicroPython运行时所需的标准输入、输出的方法为:
a)MicroPython使用stdin时,将从时空隔离域的stdin输入数据;
b)MicroPython使用stdout时,将信息输出到时空隔离域的stdout;
c)MicroPython使用stderr时,错误信息将输出到时空隔离域的stderr。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明通过将MicroPython以域服务模块形式加载并运行,并在时空隔离域中配置了MicroPython运行所需的各类资源,从而解决了如何将MicroPython运行于时空隔离域中的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的基于时空隔离域加载MicroPython的方法的流程框图。
图2为本发明的MicroPython在时空隔离域中的加载方式示意图。
图3为本发明的MicroPython在时空隔离域中静态加载的示意图。
图4为本发明的MicroPython在时空隔离域中动态加载的示意图。
图5为本发明的实现MicroPython的多线程机制的示意图。
图6为本发明的实现MicroPython的文件系统的示意图。
图7为本发明的实现MicroPython的IO设备管理的示意图。
图8为本发明的实现MicroPython的网络协议栈的示意图。
图9为本发明的实现MicroPython的RTC的示意图。
图10为本发明的实现MicroPython的标准输入、输出的示意图。
具体实施方式
以下结合实施例对本发明的特征和性能作进一步的详细描述。
如图1所示,本实施例的一种基于时空隔离域加载MicroPython的方法,包括如下步骤:
(1)将MicroPython以域服务模块形式加载并运行;
如图2所示,在时空隔离域内,为了隔离保护系统内核,APP是无法直接访问内核的,为了支撑APP的运行,需要提供各类服务,MicroPython将以域服务模块形式与其他域服务模块一同加载并运行。
具体地,所述MicroPython以域服务模块形式,通过以下两种方式加载并运行:
(1.1)静态加载:MicroPython作为静态库链接到时空隔离域的域镜像中,当内核加载时空隔离域时将MicroPython与其他域服务模块一同运行;
当所述MicroPython以静态加载方式加载时,将MicroPython编译为一个静态库,在时空隔离域的初始化过程中直接调用MicroPython的初始化函数。在编译时空隔离域时,直接链接MicroPython静态库,形成一个完整的时空隔离域镜像,如图3所示。
在内核加载时空隔离域时,将时空隔离域镜像搬移到运行空间,当时空隔离域运行初始化时,通过链接的函数直接运行MicroPython的初始化函数,完成MicroPython的初始化,并将MicroPython与其他域服务模块一同运行。
在时空隔离域完成初始化后,MicroPython的APP以字节码方式被加载到时空隔离域中,加载APP后,时空隔离域将调用MicroPython的执行器,执行APP。
(1.2)动态加载:MicroPython作为动态库,也即一个独立的模块镜像,在时空隔离域启动后,再动态加载到内存中运行。
当所述MicroPython以动态加载方式加载时,将MicroPython编译为一个动态库,也即一个独立的二进制。时空隔离域的初始化过程并不调用MicroPython的初始化函数。在编译时空隔离域时,也不链接MicroPython,而是链接MicroPython的桩库,如图4所示。
当时空隔离域加载MicroPython的APP后,时空隔离域调用MicroPython的初始化桩函数。MicroPython的初始化桩函数内动态地将MicroPython动态库加载到运行空间,并调用真正的MicroPython初始化函数。随后时空隔离域继续调用MicroPython的执行器,执行APP。
(2)配置MicroPython运行时所需的多线程机制和线程调度;
MicroPython是支持多线程的,要在时空隔离域中支持MicroPython的多线程,需要提供多线程机制,即对应时空隔离域的多任务机制。如图5所示,本实施例通过时空隔离域的多任务机制来抽象实现MicroPython的多线程机制,具体包括步骤(2.1)~(2.5):
(2.1)将MicroPython的多线程功能进行归类;
MicroPython的多线程功能包括:
a)Errno;
b)创建线程(启动线程时使用);
c)中断主线程;
d)删除线程(线程退出时使用);
e)分配线程锁;
f)线程切换(线程退出时使用);
g)获取线程标识符;
h)获取、设置线程栈大小;
i)设置获取线程锁的超时时间;
j)线程锁;
将MicroPython的多线程功能归类为以下4类:
线程管理,包括Errno,创建线程(启动线程时使用),删除线程(线程退出时使用),获取线程标识符,获取、设置线程栈大小功能;
线程调度,包括创建线程(启动线程时使用)和线程切换(线程退出时使用)功能。
线程锁管理,包括分配线程锁、设置获取线程锁的超时时间和线程锁功能;
线程中断,包括中断主线程功能。
(2.2)线程管理由时空隔离域的任务管理抽象实现,实现了Errno,创建线程(启动线程时使用),删除线程(线程退出时使用),获取线程标识符,获取、设置线程栈大小功能。
(2.3)线程调度由时空隔离域的任务调度抽象实现,实现了创建线程(启动线程时使用)和线程切换(线程退出时使用)功能。
线程管理和线程调度的实现具体如下:
a)由任务管理的Errno直接实现为MicroPython线程的Errno;
b)MicroPython启动线程时,将调用任务管理的创建线程接口创建一个任务作为MicroPython线程的执行体;然后利用任务调度,启动任务的运行;
c)MicroPython线程退出时,将任务管理的删除任务接口来删除任务资源,然后利用任务调度(非接口调用),切换到其他MicroPython线程对应的任务;
d)MicroPython获取线程标识符和获取、设置线程栈大小,则直接调用任务管理中获取任务标识和获取、设置任务栈大小的接口。
(2.4)线程锁管理由时空隔离域的互斥锁抽象实现,实现了分配线程锁、设置获取线程锁的超时时间和线程锁功能;具体地:
a)MicroPytho分配线程锁时,调用创建互斥锁的接口,创建互斥锁;
b)MicroPython设置获取线程锁的超时时间时,将时空隔离域记录超时时间,待调用MicroPython调用获取线程锁时,按记录的超时时间等待;
c)MicroPython调用线程锁操作时,将调用时空隔离域的互斥锁对应的操作。
(2.5)线程中断由时空隔离域的软中断抽象实现,实现了中断主线程功能;具体地:
MicroPython线程执行中断主线程时,将调用时空隔离域的发送软中断接口,触发一个软中断,然后由MicroPython主线程对应的任务执行软中断处理函数。
(3)配置MicroPython运行时所需的文件系统;
如图6所示,MicroPython支持文件访问,由时空隔离域提供文件系统服务用于支撑MicroPython的文件访问;
即:MicroPython支持的文件访问包括4类标准接口:open、read、write、close;当MicroPython调用文件访问的标准接口时,将直接访问时空隔离域提供的对应接口。
(4)配置MicroPython运行时所需的IO设备管理;
如图7所示,MicroPython支持访问IO设备,如UART、CAN、I2C、GPIO、SPI等,时空隔离域将提供IO设备管理,用于管理所有IO设备。
即:时空隔离域内需要初始化IO设备,将IO设备注册管理,并提供IO设备的访问接口:open、read、write、ioctl、close;当MicroPython访问IO设备时,将调用时空隔离域的多个IO设备访问接口,执行对应的IO操作。
(5)配置MicroPython运行时所需的网络协议栈;
如图8所示,MicroPython支持BSD socket接口,如socket、bind、listen、send、recv、close等,时空隔离域将提供网络协议栈,用于支撑BSD socket接口。
即:时空隔离域内需要初始化网络协议栈,当MicroPython调用BSD socket接口时,将调用时空隔离域的网络协议栈对应接口,执行对应的操作。
(6)配置MicroPython运行时所需的RTC;
如图9所示,MicroPython支持访问RTC时间,如asctime、gmtime、localtime、mktime、time等,时空隔离域将提供RTC,用于支撑MicroPython访问RTC。
即:时空隔离域需要从内核获取当前的RTC,并独立的管理RTC偏移;当MicroPython访问RTC时,将调用时空隔离域对应的RTC接口,同时加上RTC偏移完成访问。
(7)配置MicroPython运行时所需的标准输入、输出;
如图10所示,MicroPython需要使用stdin、stdout和stderr,时空隔离域将提供抽象的stdin、stdout和stderr,用于支撑MicroPython的运行;即:
a)MicroPython使用stdin时,将从时空隔离域的stdin输入数据;
b)MicroPython使用stdout时,将信息输出到时空隔离域的stdout;
c)MicroPython使用stderr时,错误信息将输出到时空隔离域的stderr。
通过上述内容可知,本发明通过将MicroPython以域服务模块形式加载并运行,并在时空隔离域中配置了MicroPython运行所需的各类资源,从而解决了如何将MicroPython运行于时空隔离域中的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种基于时空隔离域加载MicroPython的方法,其特征在于,包括如下步骤:
(1)将MicroPython以域服务模块形式加载并运行;
(2)配置MicroPython运行时所需的多线程机制和线程调度;
(3)配置MicroPython运行时所需的文件系统;
(4)配置MicroPython运行时所需的IO设备管理;
(5)配置MicroPython运行时所需的网络协议栈;
(6)配置MicroPython运行时所需的RTC;
(7)配置MicroPython运行时所需的标准输入和输出;
所述MicroPython以域服务模块形式,通过以下两种方式加载并运行:
(1.1)静态加载:MicroPython作为静态库链接到时空隔离域的域镜像中,当内核加载时空隔离域时将MicroPython与其他域服务模块一同运行;
(1.2)动态加载:MicroPython作为动态库,也即一个独立的模块镜像,在时空隔离域启动后,再动态加载到内存中运行;
所述配置MicroPython运行时所需的多线程机制的方法包括步骤(2.1)~(2.5):
(2.1)将MicroPython的多线程功能为以下4类:线程管理、线程调度、线程锁管理和线程中断;
(2.2)线程管理由时空隔离域的任务管理抽象实现;
(2.3)线程调度由时空隔离域的任务调度抽象实现;
(2.4)线程锁管理由时空隔离域的互斥锁抽象实现;
(2.5)线程中断由时空隔离域的软中断抽象实现;
所述配置MicroPython运行时所需的文件系统的方法为:MicroPython支持的文件访问包括4类标准接口:open、read、write和close;当MicroPython调用文件访问的标准接口时,将直接访问时空隔离域提供的对应接口;
所述配置MicroPython运行时所需的IO设备管理的方法为:时空隔离域内需要初始化IO设备,将IO设备注册管理,并提供IO设备的访问接口:open、read、write、ioctl和close;当MicroPython访问IO设备时,将调用时空隔离域的多个IO设备访问接口,执行对应的IO操作;
所述配置MicroPython运行时所需的网络协议栈的方法为:时空隔离域内需要初始化网络协议栈,当MicroPython调用BSD socket接口时,将调用时空隔离域的网络协议栈对应接口,执行对应的操作;
所述配置MicroPython运行时所需的RTC的方法为:时空隔离域需要从内核获取当前的RTC,并独立的管理RTC偏移;当MicroPython访问RTC时,将调用时空隔离域对应的RTC接口,同时加上RTC偏移完成访问;
所述配置MicroPython运行时所需的标准输入和输出的方法为:
a)MicroPython使用stdin时,将从时空隔离域的stdin输入数据;
b)MicroPython使用stdout时,将信息输出到时空隔离域的stdout;
c)MicroPython使用stderr时,错误信息将输出到时空隔离域的stderr。
CN202010447609.9A 2020-05-25 2020-05-25 一种基于时空隔离域加载MicroPython的方法 Active CN111611016B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010447609.9A CN111611016B (zh) 2020-05-25 2020-05-25 一种基于时空隔离域加载MicroPython的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010447609.9A CN111611016B (zh) 2020-05-25 2020-05-25 一种基于时空隔离域加载MicroPython的方法

Publications (2)

Publication Number Publication Date
CN111611016A CN111611016A (zh) 2020-09-01
CN111611016B true CN111611016B (zh) 2023-03-21

Family

ID=72200889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010447609.9A Active CN111611016B (zh) 2020-05-25 2020-05-25 一种基于时空隔离域加载MicroPython的方法

Country Status (1)

Country Link
CN (1) CN111611016B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105657204A (zh) * 2016-02-01 2016-06-08 厦门锋联信息技术有限公司 一种带ip语音功能的4g无线传真装置及其使用方法
WO2016156657A1 (en) * 2015-03-27 2016-10-06 Cyberlightning Oy Arrangement for implementation of data decentralization for the internet of things platform
CN108334035A (zh) * 2017-12-21 2018-07-27 苏州谷夫道自动化科技有限公司 一种数控系统编程方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681016B2 (en) * 2017-06-06 2020-06-09 Giesecke+Devrient Mobile Security America, Inc. Method and apparatus for operating a connected device using a secure element device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016156657A1 (en) * 2015-03-27 2016-10-06 Cyberlightning Oy Arrangement for implementation of data decentralization for the internet of things platform
CN105657204A (zh) * 2016-02-01 2016-06-08 厦门锋联信息技术有限公司 一种带ip语音功能的4g无线传真装置及其使用方法
CN108334035A (zh) * 2017-12-21 2018-07-27 苏州谷夫道自动化科技有限公司 一种数控系统编程方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
python动态加载模块;codingcode;《网页在线公开:jianshu.com/p/f41639a92c28》;第1-8页 *

Also Published As

Publication number Publication date
CN111611016A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
JP5597196B2 (ja) プロセス内のスケジューラインスタンス
US7127709B2 (en) System and method for jointly managing dynamically generated code and data
WO2021196597A1 (zh) 业务插件加载实现方法、装置和终端设备
KR101366402B1 (ko) 가상 실행 시스템 및 가상 실행 시스템의 성능 향상 방법
KR100898315B1 (ko) 인핸스드 런타임 호스팅
JP4690437B2 (ja) ネットワークアプリケーションにおける通信方法、通信装置及びそのためのプログラム
US7246346B2 (en) System and method for persisting dynamically generated code in a directly addressable and executable storage medium
US7406684B2 (en) Compiler, dynamic compiler, and replay compiler
EP0667575A2 (en) Concurrent processing in object oriented parallel and near parallel systems
US20090307292A1 (en) Dynamically changing a garbage collector in a managed runtime system
CN107977369B (zh) 便于移植的嵌入式数据库管理系统
KR20040068600A (ko) 운영 시스템 기능 실행 방법 및 시스템, 전자 기기
RU2494446C2 (ru) Восстановление управления ресурсом обработки, который исполняет внешний контекст исполнения
JP2021530756A (ja) ポーズレスなガベージ・コレクションのための活性化フレームを表す方法および装置
KR102086757B1 (ko) Gpu 메모리 스케줄러 및 이를 이용한 gpu 메모리 선점 방법
US7350193B2 (en) Procedure invocation in an integrated computing environment having both compiled and interpreted code segments
US7350211B2 (en) Middleware application environment
Gui et al. A framework for adaptive real-time applications: the declarative real-time OSGi component model
CN111611016B (zh) 一种基于时空隔离域加载MicroPython的方法
US8041852B1 (en) System and method for using a shared buffer construct in performance of concurrent data-driven tasks
CN111338638A (zh) 实现自动生成嵌入式软件部件之间通信的系统及其方法
CN108647087B (zh) 实现php内核可重入的方法、装置、服务器和存储介质
US8321606B2 (en) Systems and methods for managing memory using multi-state buffer representations
US8752052B2 (en) Sub-dispatching application server
CN115061738B (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