CN113391852B - 一种平台软件扩展方法及装置 - Google Patents
一种平台软件扩展方法及装置 Download PDFInfo
- Publication number
- CN113391852B CN113391852B CN202110634026.1A CN202110634026A CN113391852B CN 113391852 B CN113391852 B CN 113391852B CN 202110634026 A CN202110634026 A CN 202110634026A CN 113391852 B CN113391852 B CN 113391852B
- Authority
- CN
- China
- Prior art keywords
- plug
- resource
- catalog
- static
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000003068 static effect Effects 0.000 claims abstract description 132
- 230000008569 process Effects 0.000 claims description 22
- 230000018109 developmental process Effects 0.000 description 5
- 230000006378 damage Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种平台软件扩展方法及装置。本申请实施例提供的技术方案,通过在接收客户端上传的静态资源插件并存储到预设的资源上传目录中;接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件;接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除。
Description
技术领域
本申请实施例涉及应用开发技术领域,尤其涉及一种平台软件扩展方法及装置。
背景技术
OSGi(Open Service GatewayInitiative)技术是由OSGiAlliance组织制定的一个基于Java语言的服务规范——OSGi服务平台(Service Platform)。在基于OSGi的应用开发中,对于插件的扩展技术方面,最知名的是eclipse的扩展机制。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。在进行插件扩展时,只需要根据Eclipse的扩展定义实现一个扩展,然后添加一个引导文件,当Eclipse启动的时候就会把扩展加载进来,就能够实现自定义Eclipse的插件开发。
但Eclipse的扩展机制仍存在一些问题:每次进行扩展时,都需要对系统进行重启后才能够实现;同时,Eslipse的扩展机制并不是总那么靠谱,比如在加载配置文件的过程中,有时会出现无法加载的情况。
发明内容
本申请实施例提供一种平台软件扩展方法及装置,能够解决软件扩展过程中的需要重启和无法加载的问题,提高扩展过程的稳定性。
在第一方面,本申请实施例提供了一种平台软件扩展方法,包括:
接收客户端上传的静态资源插件并存储到预设的资源上传目录中;
接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件;
接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除。
进一步的,所述接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,包括:
接收客户端发送的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;
若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。
进一步的,所述接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除,包括:
接收客户端发送的插件禁用指令,判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;
若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。进一步的,
在第二方面,本申请实施例提供了一种平台软件扩展方法,包括:
接收客户端上传的动态资源插件,确认所述动态资源插件的实现类的接口类型;
将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录;
接收客户端发送的插件启用指令,创建所述插件启用指令确认的动态资源插件中的类的对象,并将所述对象放入插件对象容器;
主程序运行过程中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象。
进一步的,接收客户端发送的插件禁用指令,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应的对象。
在第三方面,本申请实施例提供了一种平台软件扩展装置,包括:
静态接收模块,用于接收客户端上传的静态资源插件并存储到预设的资源上传目录中;
静态启用模块,用于接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件;
静态禁用模块,用于接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除。
进一步的,所述静态启用模块,还用于接收客户端发送的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;
若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。
进一步的,所述静态禁用模块,还用于接收客户端发送的插件禁用指令,判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;
若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。
在第四方面,本申请实施例提供了一种软件扩展装置,包括:
动态接收模块,用于接收客户端上传的动态资源插件,确认所述动态资源插件的实现类的接口类型;
将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录;
动态启用模块,用于接收客户端发送的插件启用指令,创建所述插件启用指令确认的动态资源插件中的类的对象,并将所述对象放入插件对象容器;
主程序运行过程中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象。
进一步的,还包括:
动态禁用模块,用于接收客户端发送的插件禁用指令,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应的对象。
本申请实施例通过在软件扩展过程中,接收客户端上传的静态资源插件存储到预设的资源上传目录中,在接收到启用指令时,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录;在接收到禁用指令时,将所述插件禁用指令确认的静态资源插件从所述资源运行目录中移除。通过接收客户端上传的动态资源插件,将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录,在接收到启用指令时,创建插件启用指令确认的动态资源插件中类的对象,并将所述对象放入插件对象容器,通过主程序运行依序读取插件对象容器和标准容器中的对象;在接收到禁用指令时,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应对象。采用上述技术手段,可以通过多个目录和容器的针对性存储、替换和销毁,提高了运行效率、提高了插件管理的条理性和降低了资源占用,以此可避免在软件扩展中因运行量过大或资源占用过大等需要重启才能实现扩展以及因运行混乱而无法加载的问题,提高扩展过程的稳定性。
附图说明
图1是本申请实施例一提供的一种平台软件扩展方法的流程图;
图2是本申请实施例二提供的一种平台软件扩展装置的结构示意图;
图3是本申请实施例三提供的一种平台软件扩展方法的流程图;
图4是本申请实施例四提供的一种平台软件扩展装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的平台软件扩展方法及装置,旨在通过多个目录和容器的针对性存储、替换和销毁,提高了运行效率、提高了插件管理的条理性和降低了资源占用,以此可避免在软件扩展中因运行量过大或资源占用过大等需要重启才能实现扩展以及因运行混乱而无法加载的问题,提高扩展过程的稳定性。相对于传统的软件扩展方式,每次进行扩展都需要对系统进行重启才能实现,并且扩展时会因运行混乱或者资源占用量大而出现无法加载的情况。基于此,提供本申请实施例的平台软件扩展方法,以解决现有软件扩展过程中的稳定性问题。
实施例一:
图1给出了本申请实施例一提供的一种平台软件扩展方法的流程图,本实施例中提供的平台软件扩展方法可以由平台软件扩展设备执行,该平台软件扩展设备可以通过软件和/或硬件的方式实现,该平台软件扩展设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该平台软件扩展设备可以是待软件扩展设备的智能终端、电脑设备等。
参照图1,该平台软件扩展方法具体包括:
S101、接收客户端上传的静态资源插件并存储到预设的资源上传目录中。
具体的,同一命名的静态资源插件在所述资源上传目录中只允许保存一个。
S102、接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件。
具体的,所述接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,包括:接收客户端发送的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。
示例性的,所述客户端为浏览器客户端,接收浏览器客户端上传的动态资源插件并存储到预设的资源上传目录中;接收浏览器客户端发动的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。通过资源上传目录、资源运行目录和资源备份目录对所述静态资源插件进行存储,降低了资源占用,在扩展时将所述静态资源插件移动到相应的目录中,提高的插件管理的条理性,提高了运行效率,从而提高了扩展过程的稳定性。
S103、接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除。
具体的,所述接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除,包括:接收客户端发送的插件禁用指令,判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。
示例性的,所述客户端为浏览器客户端,接收到客户端发送的插件禁用指令判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。接收到禁用指令时,通过将所述资源运行目录中的所述静态资源插件删除,以减少资源的占用。
上述,通过资源上传目录、资源运行目录和资源备份目录对所述静态资源插件进行存储,在扩展时将所述静态资源插件移动到相应的目录中进行启用,在禁用静态资源插件时删除所述静态资源插件。采用上述技术手段,通过不同的目录进行存储所述静态资源插件以提高的插件管理的条理性,并在禁用静态资源插件时删除所述静态资源插件以降低了资源占用,提高了运行效率,从而提高了扩展过程的稳定性。
实施例二:
在上述实施例的基础上,图2为本申请实施例二提供的一种平台软件扩展装置的结构示意图。参考图2,本实施例提供的平台软件扩展装置具体包括:静态接收模块21、静态启用模块22和静态禁用模块23。
在一实施例中,静态接收模块21,用于接收客户端上传的静态资源插件并存储到预设的资源上传目录中;静态启用模块22,用于接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件;静态禁用模块23,用于接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除。
具体的,所述静态启用模块22,还用于接收客户端发送的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。
具体的,所述静态禁用模块23,还用于接收客户端发送的插件禁用指令,判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。
上述,通过资源上传目录、资源运行目录和资源备份目录对所述静态资源插件进行存储,在扩展时将所述静态资源插件移动到相应的目录中进行启用,在禁用静态资源插件时删除所述静态资源插件。采用上述技术手段,通过不同的目录进行存储所述静态资源插件以提高的插件管理的条理性,并在禁用静态资源插件时删除所述静态资源插件以降低了资源占用,提高了运行效率,从而提高了扩展过程的稳定性。
本申请实施例二提供的平台软件扩展装置可以用于执行上述实施例一提供的平台软件扩展方法,具备相应的功能和有益效果。
实施例三:
图3给出了本申请实施例三提供的一种平台软件扩展方法的流程图,本实施例中提供的平台软件扩展方法可以由平台软件扩展设备执行,该平台软件扩展设备可以通过软件和/或硬件的方式实现,该平台软件扩展设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该平台软件扩展设备可以是待软件扩展设备的智能终端、电脑设备等。
参照图3,该平台软件扩展方法具体包括:
S301、接收客户端上传的动态资源插件,确认所述动态资源插件的实现类的接口类型。
具体的,所述客户端为浏览器客户端,接收所述浏览器客户端上传的动态资源插件,判断所述动态资源插件是否为扩展类,若是则将所述动态资源插件保存到预设的插件库目录中;若否,则无法保存所述动态资源插件,并提供上传其他非法动态资源插件包。
S302、将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录。
S303、接收客户端发送的插件启用指令,创建所述插件启用指令确认的动态资源插件中的类的对象,并将所述对象放入插件对象容器。
S304、主程序运行过程中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象。
具体的,将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录中,接收到启用指令,在所述插件库目录中加载所述插件启用指令确定的动态资源插件中的类,创建类的对象,把对象插入所述插件对象容器中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象。
具体的,标准容器中添加的是原始默认的对象,插件对象容器添加的是更新或增加的对象,例如有一个预约班的规则,通过扩展来修改这个预约班规则,标准容器加载预约班规则的原有规则,再通过插件对象容器来修改所述原有规则。
示例性的,继承同一类接口的动态资源插件在所述插件库目录中可存储多个,并以版本号区分,每次启用时,只允许同时启用一个同类型的所述动态资源插件,优先启用最新版本号的所述动态资源插件。
在一实施例中,接收客户端发送的插件禁用指令,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应的对象。
上述,通过接收客户端上传的动态资源插件,将接口为继承扩展接口的动态资源插件保存到预设的插件库目录,接收启用指令后创建所述插件启用指令确认的动态资源插件的类的对象,并将所述对象插入对象容器中,依序读取插件对象容器和标准容器中的对象;接收禁止指令,将所述插件禁止指令确认的动态资源插件从所述插件库中删除,并在所述插件对象容器中销毁对应的对象。采用上述技术手段,通过多个目录和容器的针对性存储、替换和销毁,提高了运行效率,提高了插件管理的调理性和降低了资源占用,从而提高了扩展过程的稳定性。
实施例四:
在上述实施例的基础上,图4为本申请实施例四提供的一种平台软件扩展装置的结构示意图。参考图4,本实施例提供的平台软件扩展装置具体包括:动态接收模块41、动态启用模块42和动态禁用模块43。
在一实施例中,动态接收模块41,用于接收客户端上传的动态资源插件,确认所述动态资源插件的实现类的接口类型;将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录;动态启用模块42,用于接收客户端发送的插件启用指令,创建所述插件启用指令确认的动态资源插件中的类的对象,并将所述对象放入插件对象容器;主程序运行过程中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象。
在一实施例中,动态禁用模块43,用于接收客户端发送的插件禁用指令,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应的对象。
通过接收客户端上传的动态资源插件,将接口为继承扩展接口的动态资源插件保存到预设的插件库目录,接收启用指令后创建所述插件启用指令确认的动态资源插件的类的对象,并将所述对象插入对象容器中,依序读取插件对象容器和标准容器中的对象;接收禁止指令,将所述插件禁止指令确认的动态资源插件从所述插件库中删除,并在所述插件对象容器中销毁对应的对象。采用上述技术手段,通过多个目录和容器的针对性存储、替换和销毁,提高了运行效率,提高了插件管理的调理性和降低了资源占用,从而提高了扩展过程的稳定性。
本申请实施例四提供的平台软件扩展装置可以用于执行上述实施例三提供的平台软件扩展方法,具备相应的功能和有益效果。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (6)
1.一种平台软件扩展方法,其特征在于,接收客户端上传的资源插件,所述方法包括:
在客户端上传的资源插件为静态资源插件时,接收客户端上传的静态资源插件并存储到预设的资源上传目录中;
接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件;
接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除;
在客户端上传的资源插件为动态资源插件时,接收客户端上传的动态资源插件,确认所述动态资源插件的实现类的接口类型;
将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录;
接收客户端发送的插件启用指令,创建所述插件启用指令确认的动态资源插件中的类的对象,并将所述对象放入插件对象容器;
主程序运行过程中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象;
接收客户端发送的插件禁用指令,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应的对象。
2.根据权利要求1所述的平台软件扩展方法,其特征在于,所述接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,包括:
接收客户端发送的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;
若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。
3.根据权利要求2所述的平台软件扩展方法,其特征在于,所述接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除,包括:
接收客户端发送的插件禁用指令,判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;
若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。
4.一种平台软件扩展装置,其特征在于,所述装置用于接收客户端上传的资源插件,所述装置包括:
静态接收模块,用于在客户端上传的资源插件为静态资源插件时,接收客户端上传的静态资源插件并存储到预设的资源上传目录中;
静态启用模块,用于接收客户端发送的插件启用指令,将所述插件启用指令确认的静态资源插件从所述资源上传目录移动到预设的资源运行目录,所述插件启用指令用于启用所述资源上传目录中的静态资源插件,所述资源运行目录用于保存待运行的静态资源插件;
静态禁用模块,用于接收客户端发送的插件禁用指令,将所述插件禁用指令确认的静态资源插件从所述资源运行目录移除;
动态接收模块,用于在客户端上传的资源插件为动态资源插件时,接收客户端上传的动态资源插件,确认所述动态资源插件的实现类的接口类型;
将接口类型为继承扩展接口的动态资源插件保存到预设的插件库目录;
动态启用模块,用于接收客户端发送的插件启用指令,创建所述插件启用指令确认的动态资源插件中的类的对象,并将所述对象放入插件对象容器;
主程序运行过程中,依序读取插件对象容器中的对象和标准容器中的对象,所述标准容器中为默认标准对象;
动态禁用模块,用于接收客户端发送的插件禁用指令,将所述插件禁用指令确认的动态资源插件从所述插件库目录中删除,并在所述插件对象容器中销毁对应的对象。
5.根据权利要求4所述的平台软件扩展装置,其特征在于,所述静态启用模块,还用于接收客户端发送的插件启用指令,判断所述资源运行目录是否存在与所述插件启用指令确认的静态资源插件同名的已有插件;
若存在所述已有插件,则将所述已有插件备份到预设的资源备份目录,并将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录;否则,将所述插件启用指令确认的静态资源插件,从所述资源上传目录移动到所述资源运行目录。
6.根据权利要求5所述的平台软件扩展装置,其特征在于,所述静态禁用模块,还用于接收客户端发送的插件禁用指令,判断所述资源备份目录中是否存在与所述插件禁用指令确认的静态资源插件同名的备份插件;
若存在所述备份插件,则将所述备份插件替换所述资源运行目录中同名的静态资源插件;否则将所述插件禁用指令确认的静态资源插件从所述资源运行目录删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110634026.1A CN113391852B (zh) | 2021-06-07 | 2021-06-07 | 一种平台软件扩展方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110634026.1A CN113391852B (zh) | 2021-06-07 | 2021-06-07 | 一种平台软件扩展方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113391852A CN113391852A (zh) | 2021-09-14 |
CN113391852B true CN113391852B (zh) | 2024-06-04 |
Family
ID=77618627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110634026.1A Active CN113391852B (zh) | 2021-06-07 | 2021-06-07 | 一种平台软件扩展方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391852B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN102033743A (zh) * | 2010-09-02 | 2011-04-27 | 西安赛斐软件科技有限公司 | 一种应用插件扩充模型驱动开发能力的系统及其方法 |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理系统和方法 |
CN102868747A (zh) * | 2012-09-19 | 2013-01-09 | 深圳中兴网信科技有限公司 | 资源信息管理方法和资源信息管理装置 |
CN105404539A (zh) * | 2015-12-30 | 2016-03-16 | 网易(杭州)网络有限公司 | 客户端游戏向网页游戏移植的方法、网页游戏系统及终端 |
CN105404524A (zh) * | 2014-09-15 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Java应用中的类加载隔离方法及装置 |
CN106155749A (zh) * | 2016-07-28 | 2016-11-23 | 浪潮(北京)电子信息产业有限公司 | 一种监控插件扩展方法及装置 |
CN106557495A (zh) * | 2015-09-25 | 2017-04-05 | 北京国双科技有限公司 | 爬虫功能的扩展方法和装置 |
CN107133057A (zh) * | 2016-02-29 | 2017-09-05 | 上海指和信息科技有限公司 | 一种应用于安卓系统的插件更新方法 |
CN107911401A (zh) * | 2017-08-04 | 2018-04-13 | 上海壹账通金融科技有限公司 | 应用插件扩展功能方法及应用服务器 |
CN108572813A (zh) * | 2018-03-24 | 2018-09-25 | 深圳市前海安测信息技术有限公司 | 组件式程序开发框架创建应用系统及方法 |
CN109298897A (zh) * | 2018-06-29 | 2019-02-01 | 杭州数澜科技有限公司 | 一种采用资源组的任务分发的系统和方法 |
CN109901817A (zh) * | 2017-12-11 | 2019-06-18 | 镇江共远软件开发有限公司 | 一种软件架构系统 |
CN110007980A (zh) * | 2019-01-29 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 多业务服务端的实现方法和装置 |
CN110704122A (zh) * | 2018-07-10 | 2020-01-17 | 中国移动通信集团浙江有限公司 | 插件加载方法及装置 |
CN111930525A (zh) * | 2020-10-10 | 2020-11-13 | 北京世纪好未来教育科技有限公司 | Gpu资源使用方法、电子设备及计算机可读介质 |
WO2020228033A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | Sdk插件的加载方法、装置、移动终端以及存储介质 |
CN112559026A (zh) * | 2020-12-23 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
CN112883446A (zh) * | 2021-03-23 | 2021-06-01 | 广东电网有限责任公司 | 一种套图筛选方法、装置、设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088656A1 (en) * | 2001-11-02 | 2003-05-08 | Wahl Mark F. | Directory server software architecture |
US20070156913A1 (en) * | 2005-12-30 | 2007-07-05 | Hiroyuki Miyamoto | Method for enabling extension points through plug-ins |
US8074234B2 (en) * | 2007-04-16 | 2011-12-06 | Microsoft Corporation | Web service platform for keyword technologies |
US20140365861A1 (en) * | 2011-04-25 | 2014-12-11 | Google Inc. | Prefetching binary data for use by a browser plugin |
US9893887B2 (en) * | 2015-01-30 | 2018-02-13 | Ciena Corporation | Dynamic licensing for applications and plugin framework for virtual network systems |
US10007534B2 (en) * | 2015-08-11 | 2018-06-26 | Vmware, Inc. | Methods and apparatus to manage asset capabilities in a computing environment using a common agent framework |
US10674438B2 (en) * | 2017-06-29 | 2020-06-02 | Sap Se | Restricting access to external schemas from within a database level container by whitelisting allowed schemas |
US20200379781A1 (en) * | 2019-05-28 | 2020-12-03 | Netapp, Inc. | Methods and systems for plugin development in a networked computing environment |
-
2021
- 2021-06-07 CN CN202110634026.1A patent/CN113391852B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968154A (zh) * | 2006-09-15 | 2007-05-23 | 华为技术有限公司 | 使用插件进行业务扩展的系统及其方法 |
CN102033743A (zh) * | 2010-09-02 | 2011-04-27 | 西安赛斐软件科技有限公司 | 一种应用插件扩充模型驱动开发能力的系统及其方法 |
CN102073520A (zh) * | 2010-12-30 | 2011-05-25 | 中国民航信息网络股份有限公司 | 一种c++应用程序版本动态管理系统和方法 |
CN102868747A (zh) * | 2012-09-19 | 2013-01-09 | 深圳中兴网信科技有限公司 | 资源信息管理方法和资源信息管理装置 |
CN105404524A (zh) * | 2014-09-15 | 2016-03-16 | 阿里巴巴集团控股有限公司 | Java应用中的类加载隔离方法及装置 |
CN106557495A (zh) * | 2015-09-25 | 2017-04-05 | 北京国双科技有限公司 | 爬虫功能的扩展方法和装置 |
CN105404539A (zh) * | 2015-12-30 | 2016-03-16 | 网易(杭州)网络有限公司 | 客户端游戏向网页游戏移植的方法、网页游戏系统及终端 |
CN107133057A (zh) * | 2016-02-29 | 2017-09-05 | 上海指和信息科技有限公司 | 一种应用于安卓系统的插件更新方法 |
CN106155749A (zh) * | 2016-07-28 | 2016-11-23 | 浪潮(北京)电子信息产业有限公司 | 一种监控插件扩展方法及装置 |
CN107911401A (zh) * | 2017-08-04 | 2018-04-13 | 上海壹账通金融科技有限公司 | 应用插件扩展功能方法及应用服务器 |
CN109901817A (zh) * | 2017-12-11 | 2019-06-18 | 镇江共远软件开发有限公司 | 一种软件架构系统 |
CN108572813A (zh) * | 2018-03-24 | 2018-09-25 | 深圳市前海安测信息技术有限公司 | 组件式程序开发框架创建应用系统及方法 |
CN109298897A (zh) * | 2018-06-29 | 2019-02-01 | 杭州数澜科技有限公司 | 一种采用资源组的任务分发的系统和方法 |
CN110704122A (zh) * | 2018-07-10 | 2020-01-17 | 中国移动通信集团浙江有限公司 | 插件加载方法及装置 |
CN110007980A (zh) * | 2019-01-29 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 多业务服务端的实现方法和装置 |
WO2020228033A1 (zh) * | 2019-05-16 | 2020-11-19 | 深圳市欢太科技有限公司 | Sdk插件的加载方法、装置、移动终端以及存储介质 |
CN111930525A (zh) * | 2020-10-10 | 2020-11-13 | 北京世纪好未来教育科技有限公司 | Gpu资源使用方法、电子设备及计算机可读介质 |
CN112559026A (zh) * | 2020-12-23 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 基于api接口的原生能力拓展方法、设备及存储介质 |
CN112883446A (zh) * | 2021-03-23 | 2021-06-01 | 广东电网有限责任公司 | 一种套图筛选方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113391852A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
CN105867947B (zh) | 预置应用程序升级后的数据处理方法及装置 | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
US8296758B2 (en) | Deployment and versioning of applications | |
US8112745B2 (en) | Apparatus and method for capabilities verification and restriction of managed applications in an execution environment | |
CN110083360B (zh) | 一种应用程序代码的编译方法、装置、设备及存储介质 | |
US20060161898A1 (en) | Method and system for project library dependency management | |
CN110262825B (zh) | 热更新方法、装置、电子设备及可读存储介质 | |
CN113326058A (zh) | 一种应用的版本更新方法、装置、设备及介质 | |
CN102195817A (zh) | 一种软件升级方法和装置以及软件回退方法和装置 | |
JP5533935B2 (ja) | ソフトウェア配信システム、ソフトウェア配信方法 | |
EP2329368B1 (en) | Updating content without using a mini operating system | |
US8769521B2 (en) | Calendar aware adaptive patching of a computer program | |
CN106293790B (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN117707543A (zh) | 一种应用安装包制作和安装方法、计算设备及存储介质 | |
CN113391852B (zh) | 一种平台软件扩展方法及装置 | |
CN113867768A (zh) | 操作系统处理方法、装置、电子设备及存储介质 | |
US10552135B1 (en) | Reducing a size of an application package | |
CN114490103A (zh) | 一种操作系统接口调用方法、装置以及电子设备 | |
CN106815004B (zh) | 一种兼容不同Cocos2d-x版本的方法 | |
CN107402761A (zh) | 应用修复方法及装置 | |
CN116880877A (zh) | 虚拟机增强工具升级方法、装置、计算机设备和存储介质 | |
CN116541035A (zh) | 容器编排引擎的升级方法、系统、设备及介质 | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 | |
CN112685063B (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 |