CN113377461A - 一种通过C程序实现对OSGi插件进行管理操作的方式 - Google Patents
一种通过C程序实现对OSGi插件进行管理操作的方式 Download PDFInfo
- Publication number
- CN113377461A CN113377461A CN202110754047.7A CN202110754047A CN113377461A CN 113377461 A CN113377461 A CN 113377461A CN 202110754047 A CN202110754047 A CN 202110754047A CN 113377461 A CN113377461 A CN 113377461A
- Authority
- CN
- China
- Prior art keywords
- plug
- message
- module
- management
- osgi
- 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.)
- Pending
Links
Images
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
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
本发明公开了一种通过C程序实现对OSGi插件进行管理操作的方式,按功能分层,Web控制接口模块,是C语言应用的外部控制接口;权限管理模块,用于对用户分级管理;消息中转接口模块,用于将用户的请求操作,组成消息内容,发送给OSGi的接收模块;OSGi消息接收模块,用于接收消息;处理操作模块,根据已知的消息格式,解析出请求的消息类型和内容,根据不同的消息类型,执行不同的操作。本发明支持C程序来管理Java插件,使得对Java插件的管理不局限于开发语言,做到了跨平台的操作;添加权限管理,使得不同级别的用户有不同的管理权限;安装插件的资源包可支持本地上传,同时支持远程下载模式,方便测试和调试。
Description
技术领域
本发明涉及智能家庭网关开发,具体是一种通过C程序实现对OSGi插件进行管理操作的方式。
背景技术
OSGi的框架是基于Java语言的,只有Java开发的应用才可以调用管理接口,实现对插件进行安装、更新、卸载等操作。而对于一些基于C语言的应用,则无法直接调用。本发明提供了一种设计思路,实现了通过C语言应用来管理Java插件的功能。
Web console是一个已经实现的Java应用,通过Web窗口对OSGi各插件进行管理操作。但是该应用没有提供权限控制,这样只要用户打开此窗口,则可以对所有的插件进行操作,一旦执行删除等误操作,将无法恢复。本发明提供了多用户权限管理,低级别用户可以进行查看的操作,仅高级别用户可以执行安装、卸载等高级操作。
发明内容
本发明的目的在于提供一种通过C程序实现对OSGi插件进行管理操作的方式,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种通过C程序实现对OSGi插件进行管理操作的方式,按功能分层,包括Web控制接口模块、权限管理模块、消息中转接口模块、OSGi消息接收模块和处理操作模块。
Web控制接口模块是C语言应用的外部控制接口,用Web界面体现以方便用户的可视化操作;也可根据实际换成命令行等其他外部控制接口。
权限管理模块,用于对用户分级管理;若应用于智能网关,此处不必增加额外的用户管理,可以利用智能网关自己的用户权限管理;对管理权限的用户开通安装、卸载等高级操作,而对于普通权限的用户则只提供查询等基本操作。
消息中转接口模块,用于将用户的请求操作,组成一定格式的消息内容,并将它通过Socket等方式,发送给OSGi的接收模块;为防止接收方因繁忙或启动延时,可以按需增加消息重传机制。
OSGi消息接收模块,用于接收消息;该模块创建了一个消息队列,使得接收和处理消息分割,以达到实现异步操作的目的,更方便对一些耗时的操作如安装等做超时的处理。
处理操作模块根据已知的消息格式,解析出请求的消息类型和内容,根据不同的消息类型,执行不同的操作。操作包括安装插件、卸载插件、启动插件、停止插件和查询插件基本信息等。
另外需要指出的是,本方案支持的插件的资源同时支持本地上传和远程下载两种方式;远程下载是为了满足运营商的开发需求,而本地上传模式可方便用户调试,提高测试人员的调试效率。
与现有技术相比,本发明的优点是:
1.支持C程序来管理Java插件,使得对Java插件的管理不局限于开发语言,做到了跨平台的操作。2.添加权限管理,使得不同级别的用户有不同的管理权限,达到分级管理的效果。3.安装插件的资源包可支持本地上传,同时支持远程下载模式,方便测试和调试。
附图说明
图1为本发明的模块分层结构图。
图2为本发明的操作流程图。
图3为本发明的安装操作流程图。
具体实施方式
下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
请参阅图1、2,一种通过C程序实现对OSGi插件进行管理操作的方式,按功能分层,包括Web控制接口模块、权限管理模块、消息中转接口模块、OSGi消息接收模块和处理操作模块。
Web控制接口模块是C语言应用的外部控制接口,用Web界面体现以方便用户的可视化操作;也可根据实际换成命令行等其他外部控制接口。
权限管理模块,用于对用户分级管理;若应用于智能网关,此处不必增加额外的用户管理,可以利用智能网关自己的用户权限管理;对管理权限的用户开通安装、卸载等高级操作,而对于普通权限的用户则只提供查询等基本操作。
消息中转接口模块,用于将用户的请求操作,组成一定格式的消息内容,并将它通过Socket等方式,发送给OSGi的接收模块;为防止接收方因繁忙或启动延时,可以按需增加消息重传机制。
OSGi消息接收模块,用于接收消息;该模块创建了一个消息队列,使得接收和处理消息分割,以达到实现异步操作的目的,更方便对一些耗时的操作如安装等做超时的处理。
处理操作模块根据已知的消息格式,解析出请求的消息类型和内容,根据不同的消息类型,执行不同的操作;操作包括安装插件、卸载插件、启动插件、停止插件和查询插件基本信息等。
另外需要指出的是,本方案支持的插件的资源同时支持本地上传和远程下载两种方式;远程下载是为了满足运营商的开发需求,而本地上传模式可方便用户调试,提高测试人员的调试效率。
如图3所示,安装插件主要步骤是:
1.Web界面下发安装操作。
2.判断该用户是否有安装权限,若无权限,则直接返回错误。
3.组成一定格式的消息,内容中携带插件名称、插件版本、远程下载URL、插件资源文件的大小等信息。通过Socket将消息发出。
4.接收消息,将该消息存放在消息队列中,等待执行。
5.执行消息队列中的消息,若是安装,在安装前,先检查是否有相同的任务在执行,若有相同任务则返回。
6.判断该下载是本地安装模式,还是远程下载。若是本地安装,则通过Web上传你要安装的插件至OSGi的执行目录;若是远程下载,则根据URL,执行http下载或ftp下载。
7.下载成功后,需要做一些合法性检查,比如根据插件安装包的大小,判断是否和安装消息中一致。根据插件名称和版本,判断该插件是否已经存在,若存在则更新插件,若不存在,则安装新插件。
8.执行安装,安装后启动该插件。
本发明提供了C程序管理Java程序的一种解决方案;根据用户级别通过权限控制实现分级管理。且安装插件的资源包同时支持本地上传和远程下载。
上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。
Claims (6)
1.一种通过C程序实现对OSGi插件进行管理操作的方式,按功能分层,其特征在于,包括Web控制接口模块、权限管理模块、消息中转接口模块、OSGi消息接收模块和处理操作模块;
Web控制接口模块是C语言应用的外部控制接口,用Web界面体现以方便用户的可视化操作;也可根据实际换成命令行等其他外部控制接口;
权限管理模块,用于对用户分级管理;若应用于智能网关,此处不必增加额外的用户管理,能够利用智能网关自己的用户权限管理;
消息中转接口模块,用于将用户的请求操作,组成一定格式的消息内容,并将它通过Socket等方式,发送给OSGi的接收模块;
处理操作模块根据已知的消息格式,解析出请求的消息类型和内容,根据不同的消息类型,执行不同的操作;
OSGi消息接收模块,用于接收消息;该模块创建了一个消息队列,使得接收和处理消息分割,以达到实现异步操作的目的,更方便对一些耗时的操作如安装等做超时的处理。
2.根据权利要求1所述的一种通过C程序实现对OSGi插件进行管理操作的方式,其特征在于,为防止接收方因繁忙或启动延时,能够按需增加消息重传机制。
3.根据权利要求1所述的一种通过C程序实现对OSGi插件进行管理操作的方式,其特征在于,处理操作模块的操作包括安装插件、卸载插件、启动插件、停止插件和查询插件基本信息。
4.根据权利要求1所述的一种通过C程序实现对OSGi插件进行管理操作的方式,其特征在于,权限管理模块能够对管理权限的用户开通安装、卸载等高级操作,而对于普通权限的用户则只提供查询等基本操作
5.根据权利要求3所述的一种通过C程序实现对OSGi插件进行管理操作的方式,其特征在于,支持的插件的资源同时支持本地上传和远程下载两种方式;远程下载是为了满足运营商的开发需求,而本地上传模式可方便用户调试,提高测试人员的调试效率。
6.根据权利要求3所述的一种通过C程序实现对OSGi插件进行管理操作的方式,其特征在于,安装插件主要步骤是:
(1)Web界面下发安装操作;
(2)判断该用户是否有安装权限,若无权限,则直接返回错误;
(3)组成一定格式的消息,内容中携带插件名称、插件版本、远程下载URL、插件资源文件的大小等信息。通过Socket将消息发出;
(4)接收消息,将该消息存放在消息队列中,等待执行;
(5)执行消息队列中的消息,若是安装,在安装前,先检查是否有相同的任务在执行,若有相同任务则返回;
(6)判断该下载是本地安装模式,还是远程下载;若是本地安装,则通过Web上传你要安装的插件至OSGi的执行目录;若是远程下载,则根据URL,执行http下载或ftp下载;
(7)下载成功后,需要做一些合法性检查,比如根据插件安装包的大小,判断是否和安装消息中一致。根据插件名称和版本,判断该插件是否已经存在,若存在则更新插件,若不存在,则安装新插件;
执行安装,安装后启动该插件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110754047.7A CN113377461A (zh) | 2021-07-04 | 2021-07-04 | 一种通过C程序实现对OSGi插件进行管理操作的方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110754047.7A CN113377461A (zh) | 2021-07-04 | 2021-07-04 | 一种通过C程序实现对OSGi插件进行管理操作的方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377461A true CN113377461A (zh) | 2021-09-10 |
Family
ID=77580808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110754047.7A Pending CN113377461A (zh) | 2021-07-04 | 2021-07-04 | 一种通过C程序实现对OSGi插件进行管理操作的方式 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377461A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746959A (zh) * | 2013-11-27 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | OSGi环境下Java和C的通信机制的实现方法 |
CN104765592A (zh) * | 2014-01-03 | 2015-07-08 | 任子行网络技术股份有限公司 | 一种面向网页采集任务的插件管理方法及其装置 |
CN107562489A (zh) * | 2017-08-22 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种基于网页管理模块管理插件的方法及系统 |
-
2021
- 2021-07-04 CN CN202110754047.7A patent/CN113377461A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746959A (zh) * | 2013-11-27 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | OSGi环境下Java和C的通信机制的实现方法 |
CN104765592A (zh) * | 2014-01-03 | 2015-07-08 | 任子行网络技术股份有限公司 | 一种面向网页采集任务的插件管理方法及其装置 |
CN107562489A (zh) * | 2017-08-22 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种基于网页管理模块管理插件的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8621419B2 (en) | Automating the life cycle of a distributed computing application | |
CN108632375B (zh) | 一种针对分布式部署服务软件程序的在线升级方法 | |
CN106325847B (zh) | 基于iOS平台获取应用程序功能的方法和装置 | |
KR101544210B1 (ko) | 네트워크에서 에러 정보를 통지하기 위한 방법 및 시스템 | |
CN109918061B (zh) | 基于安卓系统的跨平台接口中间件实现方法和装置 | |
CN111427594B (zh) | 应用程序运行方法及装置 | |
CN109525584B (zh) | 一种构建移动端跨平台多类型应用容器的方法 | |
US20090210925A1 (en) | Authentication control apparatus and authentication control method | |
CN111142910B (zh) | 一种面向多界面的资源调配处理方法及系统 | |
CN112506477A (zh) | 一种在Kubernetes集群中使用RESTful API添加计算节点的方法 | |
CN115421740A (zh) | 云原生应用的部署方法和装置 | |
CN112688794A (zh) | Yang模型的管理方法、装置、系统、设备及存储介质 | |
JP2005196772A (ja) | ネットワーク上でのサービス共有のための装置及び方法 | |
CN113377461A (zh) | 一种通过C程序实现对OSGi插件进行管理操作的方式 | |
CN103064676A (zh) | 一种对开放服务网关中组件的控制方法 | |
US7860987B2 (en) | Apparatus for providing service in response to user request and method therefor | |
JP2006119071A (ja) | 分析データ処理システム及び分析装置 | |
CN112910956B (zh) | 一种资源创建方法、装置及电子设备 | |
US7908397B1 (en) | Application server gateway technology | |
CN110389791B (zh) | 组件调度方法、装置、设备及存储介质 | |
CN110661852B (zh) | 云环境中的业务处理方法及装置 | |
EP2053504A1 (en) | System and method for managing processing resources | |
CA2604489A1 (en) | System and method for generating a wireless application from a web service definition | |
CN108572832B (zh) | 应用版本动态更新的方法及其系统 | |
KR20190059168A (ko) | 웹페이지와 응용프로그램을 연동하는 미들웨어장치 |
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 |