CN103810008B - 插件加载方法及系统 - Google Patents

插件加载方法及系统 Download PDF

Info

Publication number
CN103810008B
CN103810008B CN201410056687.0A CN201410056687A CN103810008B CN 103810008 B CN103810008 B CN 103810008B CN 201410056687 A CN201410056687 A CN 201410056687A CN 103810008 B CN103810008 B CN 103810008B
Authority
CN
China
Prior art keywords
plug
unit
script
business
unified platform
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
CN201410056687.0A
Other languages
English (en)
Other versions
CN103810008A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201410056687.0A priority Critical patent/CN103810008B/zh
Publication of CN103810008A publication Critical patent/CN103810008A/zh
Application granted granted Critical
Publication of CN103810008B publication Critical patent/CN103810008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种插件加载方法及系统,属于计算机应用软件技术领域,包括以下步骤:S1:业务插件按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;S2:统一平台通过扫描插件配置文件,获取业务插件启动所需的描述信息;S3:统一平台初始化完成后,调用各个业务插件对应的脚本文件,通过脚本文件完成对业务插件的加载和启动;S4:各个业务插件根据需要通过统一平台的接口获取公共信息数据。本发明的有益效果如下:本发明通过脚本的方式加载、启动插件,使得插件的加载过程更加简明,加载方式更加灵活且易于维护。

Description

插件加载方法及系统
技术领域
本发明涉及计算机应用软件技术领域,尤其涉及一种插件加载方法及系统。
背景技术
随着网络的普及,应用类软件进入了高速发展期,对于业务功能的需求变得更加的多样。因此,系统的兼容性与易扩展性变更尤为重要。为保证系统的这一特性,将系统平台化,业务模块插件化已经成为了一种较为普遍的架构方式。
平台化架构方式是指系统基础平台提供基本的、公共的功能服务。系统的业务模块以插件的方式存在,插件还包括了系统的第三方插件。系统根据具体需求,能够选择加载、卸载各个插件。通过系统基础平台实现对各个插件的控制、调用。当前常用的插件加载方式,插件与平台系统会存在依赖树关系,没有真正的将业务插件独立化,同时对系统的第三方插件也不能保证良好的兼容性。
当前较为通用的插件加载方式,在加载时,通常会使用到其开发语言的特性,或在数据结构定义上,未能完全脱离平台限制,未能实现对业务插件的独立化或者加载方式依赖于开发语言,这些均成为了亟需解决的难题。
发明内容
本发明的目的在于解决未能实现对业务插件独立化及加载方式依赖于开发语言等问题而提出的一种插件加载方法及系统。
为了实现以上发明目的,本发明采取的技术方案如下:一种插件加载方法,包括至少一个业务插件和统一平台,步骤如下:
S1:业务插件按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;
S2:统一平台通过扫描插件配置文件,获取业务插件启动所需的描述信息;
S3:统一平台初始化完成后,调用各个业务插件对应的脚本文件,通过脚本文件完成对业务插件的加载和启动;
S4:各个业务插件根据需要通过统一平台的接口获取公共信息数据。
作为优选:步骤S1中,所述的插件配置文件定义的信息包括:业务插件名称、版本、描述信息及入口点脚本信息。
作为优选:步骤S1中,所述的启动脚本配置如下:在业务插件的入口点脚本至少包含初始化、启动、停止、重启和查看插件状态的接口。
作为优选:统一平台支持各业务插件在配置文件中定义对应组件的启动级别,统一平台在启动时按照启动级别从高到低依次进行加载,统一平台在停止时按照启动级别从低到高依次进行卸载。
作为优选:步骤S4中所述的接口是远程方法调用RMI接口。
为了解决上述问题,本发明还提出了一种系统,包括至少一个业务插件和统一平台,
所述业务插件包括配置模块,所述配置模块用于按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;并通过统一平台的接口获取公共信息数据;
所述统一平台包括扫描模块和脚本调用模块,所述扫描模块用于扫描插件配置文件,获取业务插件启动所需的描述信息;所述脚本调用模块用于在统一平台初始化完成后,调用各个业务插件对应的脚本文件,完成对业务插件的加载和启动。
作为优选:所述配置模块具体包括插件配置模块和脚本配置模块;所述插件配置模块用于在插件配置文件中定义的信息包括插件名称、版本、描述信息及入口点脚本信息;所述脚本配置模块用于在业务插件的入口点脚本完成初始化、启动、停止、重启和查看插件。
作为优选:所述统一平台还包括启动级别模块,启动级别模块用于各业务插件在配置文件中定义对应组件的启动级别。
作为优选:所述的接口是远程方法调用RMI接口。
作为优选:所述的接口是JAVA消息服务JMS接口或者即时消息接口。
本发明的有益效果:为适应当前系统业务需求多变,将各个功能包装为独立插件的方式能够有效的提高系统扩展性与维护性,本发明通过脚本的方式加载、启动插件,使得插件的加载过程更加简明,加载方式更加灵活且易于维护。
具体有益效果如下:
1.因为是基于脚本启动,加载过程更加清晰,且易于扩充;
2.各个业务插件均能够独立运行,不存在强依赖树关系,使得各个插件更加易于维护;
3.具有良好的兼容性,因为脚本语言本身的特点,使得系统能够更加容易实现对三方插件的兼容和扩展。
附图说明
图1为本发明的系统框架结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
一种插件加载方法,包括至少一个业务插件和统一平台,步骤如下:
S1:业务插件按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;
S2:统一平台通过扫描插件配置文件,获取业务插件启动所需的描述信息;
S3:统一平台初始化完成后,调用各个业务插件对应的脚本文件,通过脚本文件完成对业务插件的加载和启动;
S4:各个业务插件根据需要通过统一平台的接口获取公共信息数据。
步骤S1中,所述的插件配置文件定义的信息包括:业务插件名称、版本、描述信息及入口点脚本信息。
步骤S1中,所述的启动脚本配置如下:在业务插件的入口点脚本至少包含初始化、启动、停止、重启和查看插件状态的接口。
统一平台支持各业务插件在配置文件中定义对应组件的启动级别,统一平台在启动时按照启动级别从高到低依次进行加载,统一平台在停止时按照启动级别从低到高依次进行卸载。
步骤S4中所述的接口是远程方法调用RMI接口。
为了解决上述问题,本发明还提出了一种系统,包括至少一个业务插件和统一平台,
所述业务插件包括配置模块,所述配置模块用于按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;并通过统一平台的接口获取公共信息数据;
所述统一平台包括扫描模块和脚本调用模块,所述扫描模块用于扫描插件配置文件,获取业务插件启动所需的描述信息;所述脚本调用模块用于在统一平台初始化完成后,调用各个业务插件对应的脚本文件,完成对业务插件的加载和启动。
所述配置模块具体包括插件配置模块和脚本配置模块;所述插件配置模块用于在插件配置文件中定义的信息包括插件名称、版本、描述信息及入口点脚本信息;所述脚本配置模块用于在业务插件的入口点脚本完成初始化、启动、停止、重启和查看插件。
所述统一平台还包括启动级别模块,启动级别模块用于各业务插件在配置文件中定义对应组件的启动级别。
所述的接口是远程方法调用RMI接口。
所述的接口是JAVA消息服务JMS接口或者即时消息接口。
如图1所示,RMI(Remote Method Invocation,远程方法调用)是一种实现远程过程调用的应用程序编程接口,其中业务插件与统一平台通信不一定需要使用RMI接口,也可通过JMS(Java Message Service Java,Java消息服务)、即时消息接口等其他进程间信息交互方式。
本发明是各个业务插件按照统一平台的接口要求进行插件配置文件定义和启动脚本配置,在启动脚本文件中实现基本的启动、停止、初始化等控制接口用于平台加载调用,从而将各个业务插件包装为能够独立运行启动的服务,各个插件均为独立进程。
统一平台与各业务插件的关系为松耦合的独立进程关系。统一平台与业务插件,插件和插件之间应尽可能保持相互独立、不受开发语言及插件本身的运行框架的限制。
具体实施例如下:
如图1所示,统一平台主用是完成各业务功能插件的加载、控制,同时提供各项公共服务,如授权、SSO(Single Sign On,单点登录)、页面菜单、样式控制、资源服务等。
统一平台自身启动完成后,将扫描插件配置文件,获取到四个业务插件的描述信息,描述信息中包括插件名称、插件启动脚本文件路径、插件加载优先级等信息。统一平台根据插件优先级依次加载各个插件。具体加载过程如下:
1)根据插件名称与启动脚本文件路径调用插件启动接口;
2)插件启动完成后,统一平台调用启动脚本文件中的初始化接口;
3)插件通过RMI接口,向平台请求自身初始化所需数据,完成插件加载。
具体流程如下:
S1:统一平台通过扫描业务插件配置文件,获取业务插件启动所需的描述信息,具体包括插件名称、启动脚本路径、权限控制(license)名称、数据库初始化文件路径等信息,以完成各个插件在统一平台的注册;
S2:统一平台初始化完成后,调用各个插件对应的脚本文件,通过脚本文件完成对业务插件的加载和启动;
S3:各个业务插件可根据需要通过RMI接口从统一平台获取公共信息数据。
要求各插件开发时必须按照统一平台的接口要求进行插件配置文件定义和启动脚本配置。
此基本要求包括:
(1)插件配置文件定义:插件配置文件定义的信息包括:当前业务插件名称、版本、描述信息及入口点脚本等必要信息;
(2)启动脚本配置:在插件的入口点脚本应至少包含初始化、启动、停止、重启、查看插件状态的接口;
(3)为了正确处理好各业务插件启动顺序,统一平台支持各业务插件在配置文件中定义对应插件的启动级别,统一平台在启动时会按照启动级别从高到低依次进行加载,统一平台在停止时会按照启动级别从低到高依次进行卸载。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (10)

1.一种插件加载方法,其特征在于,包括至少一个业务插件和统一平台,步骤如下:
S1:业务插件按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;
S2:统一平台通过扫描插件配置文件,获取业务插件启动所需的描述信息;
S3:统一平台初始化完成后,利用获取的所述业务插件启动所需的描述信息调用各个业务插件对应的脚本文件,通过脚本文件完成对业务插件的加载和启动;
S4:各个业务插件根据需要通过统一平台的接口获取公共信息数据。
2.根据权利要求1所述的方法,其特征在于,步骤S1中,所述的插件配置文件定义的信息包括:业务插件名称、版本、描述信息及入口点脚本信息。
3.根据权利要求2所述的方法,其特征在于,步骤S1中,所述的启动脚本配置如下:在业务插件的入口点脚本至少包含初始化、启动、停止、重启和查看插件状态的接口。
4.根据权利要求3所述的方法,其特征在于,统一平台支持各业务插件在配置文件中定义对应组件的启动级别,统一平台在启动时按照启动级别从高到低依次进行加载,统一平台在停止时按照启动级别从低到高依次进行卸载。
5.根据权利要求2-4任一项所述的方法,其特征在于,步骤S4中所述的接口是远程方法调用RMI接口。
6.一种插件加载系统,其特征在于,包括至少一个业务插件和统一平台,
所述业务插件包括配置模块,所述配置模块用于按照统一平台的接口要求进行插件配置文件定义和启动脚本配置;并通过统一平台的接口获取公共信息数据;
所述统一平台包括扫描模块和脚本调用模块,所述扫描模块用于扫描插件配置文件,获取业务插件启动所需的描述信息;所述脚本调用模块用于在统一平台初始化完成后,利用所述扫描模块获取的所述业务插件启动所需的描述信息调用各个业务插件对应的脚本文件,完成对业务插件的加载和启动。
7.根据权利要求6所述的系统,其特征在于,所述配置模块具体包括插件配置模块和脚本配置模块;所述插件配置模块用于在插件配置文件中定义的信息包括插件名称、版本、描述信息及入口点脚本信息;所述脚本配置模块用于在业务插件的入口点脚本完成初始化、启动、停止、重启和查看插件。
8.根据权利要求6或7所述的系统,其特征在于,所述统一平台还包括启动级别模块,启动级别模块用于各业务插件在配置文件中定义对应组件的启动级别。
9.根据权利要求8所述的系统,其特征在于,所述的接口是远程方法调用RMI接口。
10.根据权利要求9所述的系统,其特征在于,所述的接口是JAVA消息服务JMS接口或者即时消息接口。
CN201410056687.0A 2014-02-19 2014-02-19 插件加载方法及系统 Active CN103810008B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410056687.0A CN103810008B (zh) 2014-02-19 2014-02-19 插件加载方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410056687.0A CN103810008B (zh) 2014-02-19 2014-02-19 插件加载方法及系统

Publications (2)

Publication Number Publication Date
CN103810008A CN103810008A (zh) 2014-05-21
CN103810008B true CN103810008B (zh) 2018-03-02

Family

ID=50706822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410056687.0A Active CN103810008B (zh) 2014-02-19 2014-02-19 插件加载方法及系统

Country Status (1)

Country Link
CN (1) CN103810008B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216738A (zh) * 2014-08-20 2014-12-17 北京奇艺世纪科技有限公司 一种应用程序的运行方法及装置
CN104391700A (zh) * 2014-11-11 2015-03-04 百度在线网络技术(北京)有限公司 应用程序功能扩展方法和装置
CN104536733B (zh) * 2014-12-10 2018-05-11 广东欧珀移动通信有限公司 描述插件安装包的方法及移动终端
CN105183468A (zh) * 2015-08-31 2015-12-23 国家计算机网络与信息安全管理中心 一种开放式插件处理装置及分布式系统
CN107087230A (zh) * 2016-02-16 2017-08-22 阿里巴巴集团控股有限公司 播放器插件加载方法及其装置
CN106406930A (zh) * 2016-08-25 2017-02-15 苏州蓝海彤翔系统科技有限公司 插件系统
CN110032400A (zh) * 2018-01-09 2019-07-19 武汉斗鱼网络科技有限公司 一种加载插件的方法及电子终端
CN109491718A (zh) * 2018-09-13 2019-03-19 北京米文动力科技有限公司 一种插件加载方法及设备
CN110908726A (zh) * 2018-09-14 2020-03-24 广州神马移动信息科技有限公司 数据管理方法、装置、设备及计算机可读存储介质
CN110633098B (zh) * 2019-08-20 2023-11-14 华能四川水电有限公司 一种组件化服务的实现方式
CN110704041A (zh) * 2019-10-10 2020-01-17 达飞云贷科技(北京)有限公司 软件开发方法及装置
CN110825453B (zh) * 2019-10-25 2023-12-05 中盈优创资讯科技有限公司 基于大数据平台的数据处理方法及装置
CN112445576B (zh) * 2020-11-30 2024-04-16 中国人寿保险股份有限公司 一种屏蔽业务差异的设备调用方法及相关设备
CN112860345A (zh) * 2021-02-26 2021-05-28 中国银行股份有限公司 插件管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501643A (zh) * 2002-11-19 2004-06-02 华为技术有限公司 一种服务器同时处理多业务逻辑的实现方法和装置
CN1859356A (zh) * 2006-02-23 2006-11-08 华为技术有限公司 一种业务处理装置及业务处理方法
CN103577227A (zh) * 2013-10-25 2014-02-12 北京奇虎科技有限公司 一种加载插件的方法、浏览器和服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769825B2 (en) * 2002-02-22 2010-08-03 Bea Systems, Inc. System and method for web services Java API-based invocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501643A (zh) * 2002-11-19 2004-06-02 华为技术有限公司 一种服务器同时处理多业务逻辑的实现方法和装置
CN1859356A (zh) * 2006-02-23 2006-11-08 华为技术有限公司 一种业务处理装置及业务处理方法
CN103577227A (zh) * 2013-10-25 2014-02-12 北京奇虎科技有限公司 一种加载插件的方法、浏览器和服务器

Also Published As

Publication number Publication date
CN103810008A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
CN103810008B (zh) 插件加载方法及系统
CN107704277A (zh) 插件加载方法及系统
US10466998B2 (en) Model based upgrade campaign generation
CN112491948B (zh) 非侵入式的单体应用微服务化方法、装置及计算机设备
CN106681718A (zh) 一种基于工具集的桌面端插件框架及实现方法
US20090210925A1 (en) Authentication control apparatus and authentication control method
CN112363845A (zh) 系统集成中台的数据同步方法及集成中台系统
CN111597110A (zh) 页面测试方法、装置、电子设备及存储介质
CN113157345A (zh) 前端工程自动启动方法及装置
CN110262838A (zh) 一种程序崩溃的处理方法、装置、终端及存储介质
CN110069366A (zh) 一种重加载方法、装置及服务器
CN108021445B (zh) 内存优化方法、装置、系统及计算机可读存储介质
CN104346376A (zh) 数据挖掘算法动态插入到数据挖掘平台的方法及系统
US20090319985A1 (en) Method, system and apparatus for acquiring interface
CN110633074A (zh) 一种软件开发工具包的使用控制方法及装置
CN117407065A (zh) 网卡预启动控制方法、装置、设备、系统及存储介质
CN107273102A (zh) 移动应用程序的生成方法及装置
CN111191216B (zh) 具有java接口的ofd签章客户端及其用于签章验章的方法和系统
CN115022385A (zh) 基于rpa和ai实现ia的对话式流程数据处理方法和装置
CN110389791B (zh) 组件调度方法、装置、设备及存储介质
CN113779638A (zh) 一种动态代理模式下实现接口调用方鉴权的方法及装置
CN106156235A (zh) 一种基于Android平台的图片下载方法及系统
CN111198721A (zh) 应用程序运行方法和装置
CN116170506B (zh) 实现移动端签章服务与阅读器松耦合对接的系统和方法
González-Agulla et al. A multiplatform Java wrapper for the BioAPI framework

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 Maple tower, 16 Hing Hing Road, nine High-tech Zone, Chengdu, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.