CN113377461A - 一种通过C程序实现对OSGi插件进行管理操作的方式 - Google Patents

一种通过C程序实现对OSGi插件进行管理操作的方式 Download PDF

Info

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
Application number
CN202110754047.7A
Other languages
English (en)
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.)
Xinhe Semiconductor Technology Wuxi Co Ltd
Original Assignee
Xinhe Semiconductor Technology Wuxi 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 Xinhe Semiconductor Technology Wuxi Co Ltd filed Critical Xinhe Semiconductor Technology Wuxi Co Ltd
Priority to CN202110754047.7A priority Critical patent/CN113377461A/zh
Publication of CN113377461A publication Critical patent/CN113377461A/zh
Pending legal-status Critical Current

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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-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插件进行管理操作的方式
技术领域
本发明涉及智能家庭网关开发,具体是一种通过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)下载成功后,需要做一些合法性检查,比如根据插件安装包的大小,判断是否和安装消息中一致。根据插件名称和版本,判断该插件是否已经存在,若存在则更新插件,若不存在,则安装新插件;
执行安装,安装后启动该插件。
CN202110754047.7A 2021-07-04 2021-07-04 一种通过C程序实现对OSGi插件进行管理操作的方式 Pending CN113377461A (zh)

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)

* Cited by examiner, † Cited by third party
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 上海斐讯数据通信技术有限公司 一种基于网页管理模块管理插件的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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