CN104298511A - 实现网络化远程插件的方法及系统 - Google Patents
实现网络化远程插件的方法及系统 Download PDFInfo
- Publication number
- CN104298511A CN104298511A CN201410529630.8A CN201410529630A CN104298511A CN 104298511 A CN104298511 A CN 104298511A CN 201410529630 A CN201410529630 A CN 201410529630A CN 104298511 A CN104298511 A CN 104298511A
- Authority
- CN
- China
- Prior art keywords
- plug
- local agent
- network
- unit
- module
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种网络化远程插件系统,包括:本地主机、网络和远程主机;所述本地主机上安装有一个软件系统,该软件系统包含:插件本地代理主办模块121和插件本地代理109;所述插件本地代理主办模块121提供加载和运行时环境和管理插件本地代理109的功能;所述网络用于本地主机上的插件本地代理主办模块121从远程主机下载插件程序,以及用于插件本地代理109向远程主机发送消息处理请求和获得处理结果回应。本申请还公开了一种通过网络加载插件的实现方法和一种通过网络远程运行插件的实现方法。本发明把插件技术与网络化结合,改造插件加载和运行的过程和方式,使插件具有:程序结构的相对动态可变性、功能相对多样性以及更新容易等特点。
Description
技术领域
本申请涉及计算机软件领域的插件技术,特别涉及一种实现网络化远程插件的方法及系统。
背景技术
插件(又译外挂,英文为Plug-in、addin、add-in、addon或add-on或app,)是一种电脑程序,通过和应用程序(例如网页浏览器,电子邮件服务器)的互动,用来替应用程序增加一些所需要的特定的功能。最常见的有游戏、网页浏览器的插件和媒体播放器的插件。(引自维基百科“插件”词条)
现有技术中,插件(plugin)或扩展(extension)在本质上是本地程序,没有类似网页的动态性,其程序结构相对固定,功能相对单一。
iSCSI虚拟磁盘接口,就是在本地电脑里面虚拟出一个远程电脑里面的磁盘。现有技术中,iSCSI虚拟磁盘通过网络收发硬盘接口指令,通过软件在本地虚拟了硬件插件,实现了硬件插件的网络化。但其全部技术局限于模拟硬件。
发明内容
在本申请中,名词“插件”含义指不仅限于指应用程序的插件,而是代指一种为任意软件系统提供该系统功能扩展、访问或修改系统的程序。只为系统提供功能而没有访问或修改系统则不能算为插件,比如:浏览器内运行显示的网页不能算浏览器的插件。
本申请提供了一种网络化远程插件的系统,包括:本地主机、网络和远程主机;
所述本地主机上安装有一个软件系统,该软件系统包含:插件本地代理主办模块121和插件本地代理109;
所述插件本地代理主办模块121提供加载和运行时环境和管理插件本地代理109的功能;
所述网络用于本地主机上的插件本地代理主办模块121从远程主机下载插件程序,以及用于插件本地代理109向远程主机发送消息处理请求和获得处理结果回应。
本申请还提供了一种通过网络加载插件的方法,包括:
插件本地代理主办模块121收到加载插件的消息;
插件本地代理主办模块121从网络获取下载插件;
插件本地代理主办模块121加载插件。
本申请还提供了一种通过网络远程运行插件的实现方法,包括:
插件本地代理109收到消息、事件或功能调用;
插件本地代理109将该消息、事件或功能调用的细节或参数转发到网络,网络上的远程主机在进行处理响应后发送回应;
插件本地代理109接收到网络回应的处理结果数据,如果回应数据是程序或命令类型则运行该程序或执行该命令,如果是纯数据类型则交由在本地消息处理机制继续处理完成。
网络化远程插件技术方案相比于现有技术差别在于:加载网络化,计算执行远程化。
加载网络化,即加载过程借助本地软件系统宿主从网络或本地缓存中加载。
计算执行远程化,即计算处理的过程转移至网络完成,执行的操作是通过把数据解析为命令,在本地执行完成。这里网络可以是在网络上的另外一台或几台主机,或者也可以通过网络分布式计算。
本发明把插件技术与网络化结合,改造插件加载和运行的过程和方式,使插件具有:程序结构的相对动态可变性、功能相对多样性以及更新容易等特点。但是同时,由于依赖网络相对丧失部分独立性。
附图说明
图1为本申请实施例提供的网络化远程插件系统示意图;
图2为本申请实施例提供的网络化远程插件加载流程图;
图3为本申请实施例提供的网络化远程插件处理执行过程流程图。
具体实施方式
以下结合图示进一步说明技术原理。
以下所述内容都是对本发明的举例说明。为了方便说明、帮助理解,突出了特征。对现有技术和非特征部分,在不影响理解的地方,进行省略简化。切不可把本发明的实施例当作本发明的约束限制来理解。
图1为本申请实施例提供的网络化远程插件系统示意图。其中包含:本地主机101、本地软件系统105、网络111、插件远程服务器103、插件本地代理主办模块121、插件本地代理109和缓存115。
本地主机101可以是任何一种计算机,比如像:超级计算机、微型PC、膝上电脑,智能手机等。
本地软件系统105可以是任何一种软件系统,比如:操作系统、应用程序等。
网络111可以是任何一种计算机网络。
插件远程服务器103是在网络远程的一台服务器,提供插件程序下载和针对网络化远程插件的计算等服务。
插件本地代理主办模块121提供是加载和运行时环境和管理插件本地代理109的功能和职责。最简单的运行时环境可以是解析单个单词或单个字母为命令并执行比如:DOS命令行;一个复杂的运行时环境可以提供完善运行时库和操作系统的编程接口的高级编程语言虚拟机或脚本宿主,比如:java虚拟机环境,javascript引擎,vbscript脚本宿主等。对插件本地代理109的管理可以包括启动加载、暂停使用、恢复使用、关闭终止等。
插件本地代理109是由本地代理主办模块121加载的插件程序。
缓存115,既对插件本地代理109程序的永久化或运行时临时性本地缓存。
图2为本申请实施例提供的网络化远程插件加载流程图。包括:
步骤201:插件本地代理主办模块121收到加载某款插件的消息。
步骤203:插件本地代理主办模块121检查该款插件是否存在于本地缓存115中,若是,执行步骤207,否则执行步骤205。
步骤205:插件本地代理主办模块121从网络获取下载该插件。
步骤207:插件本地代理主办模块121从本地缓存115中提取并加载该款插件。
在本步骤中,加载的意思是最终载入一个可以正常运行、与系统兼容的插件程序。根据不同的实施例,加载过程可能需要包含额外其它环节。比如:如果插件代码是源代码形式的则需要先编译等。
步骤209:下载下来的插件被保存至本地缓存。
图3为本申请实施例提供的网络化远程插件处理执行过程流程图。
步骤301:插件本地代理109收到一个消息、事件或功能调用
步骤303:插件本地代理109判断该事件、消息或调用的功能是否需要通过网络完成。若是,执行步骤305,否则执行步骤307。
步骤305:插件本地代理109将该消息、事件或功能调用的细节或参数转发到网络。在本实施例中插件远程服务器103将接收、处理并做出回应。
步骤307:插件本地代理109使用本地的消息处理机制处理该消息。如果该消息经过网络处理含有网络处理结果,插件本地代理109将检查处理结果。如果处理结果是数据类型(非程序)则利用此结果在本地进一步处理。如果处理结果是程序类型,插件本地代理109会执行该程序。
在本步骤中,根据不同的实施例,执行过程可能需要包含额外其它环节。如果程序类型的处理结果是源代码或脚本的则需要先编译或解析。根据不同的实施例,执行中的程序可能向网络再次发出新的消息请求处理,即产生递归,多线程等情况。
步骤309:插件本地代理109等待并收到来自网络回应的处理结果。
Claims (3)
1.一种网络化远程插件系统,其特征在于,包括:本地主机、网络和远程主机;
所述本地主机上安装有一个软件系统,该软件系统包含:插件本地代理主办模块121和插件本地代理109;
所述插件本地代理主办模块121提供加载和运行时环境和管理插件本地代理109的功能;
所述插件本地代理109是由本地代理主办模块121加载的插件程序。
所述网络用于本地主机上的插件本地代理主办模块121从远程主机下载插件程序,以及用于插件本地代理109向远程主机发送消息处理请求和获得处理结果回应。
2.一种通过网络加载插件的实现方法,其特征在于,包括:
插件本地代理主办模块121收到加载插件的消息;
插件本地代理主办模块121从网络获取下载插件;
插件本地代理主办模块121加载插件。
3.一种通过网络远程运行插件的实现方法,其特征在于,包括:
插件本地代理109收到消息、事件或功能调用;
插件本地代理109将该消息、事件或功能调用的细节或参数转发到网络,网络上的远程主机在进行处理响应后发送回应的处理结果数据;
插件本地代理109接收到网络回应的处理结果数据,如果回应数据是程序或命令类型则运行该程序或执行该命令,如果是纯数据类型则交由在本地消息处理机制继续处理完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410529630.8A CN104298511B (zh) | 2014-10-10 | 2014-10-10 | 实现网络化远程插件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410529630.8A CN104298511B (zh) | 2014-10-10 | 2014-10-10 | 实现网络化远程插件的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298511A true CN104298511A (zh) | 2015-01-21 |
CN104298511B CN104298511B (zh) | 2018-08-03 |
Family
ID=52318254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410529630.8A Active CN104298511B (zh) | 2014-10-10 | 2014-10-10 | 实现网络化远程插件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298511B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484391A (zh) * | 2015-08-28 | 2017-03-08 | Ncr公司 | 动态服务扩展性 |
CN111427701A (zh) * | 2020-03-09 | 2020-07-17 | 中国建设银行股份有限公司 | 一种工作流引擎系统和业务处理方法 |
CN113190286A (zh) * | 2021-04-27 | 2021-07-30 | 深圳市华磊迅拓科技有限公司 | 动态远程加载功能插件的mes系统、加载方法、终端及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080040426A1 (en) * | 2006-08-11 | 2008-02-14 | Don Synstelien | System and Method for Placing a Widget onto a Desktop |
CN101895531A (zh) * | 2010-06-13 | 2010-11-24 | 北京北大众志微系统科技有限责任公司 | 一种客户端设备、多媒体数据卸载系统及卸载方法 |
CN102037710A (zh) * | 2008-05-19 | 2011-04-27 | 思杰系统有限公司 | 用于远程处理多媒体插件调用的方法和系统 |
US20110138354A1 (en) * | 2009-12-07 | 2011-06-09 | International Business Machines Corporation | Interactive video player component for mashup interfaces |
CN103927163A (zh) * | 2014-03-06 | 2014-07-16 | 中国人民解放军装甲兵工程学院 | 插件框架处理装置及插件系统 |
-
2014
- 2014-10-10 CN CN201410529630.8A patent/CN104298511B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080040426A1 (en) * | 2006-08-11 | 2008-02-14 | Don Synstelien | System and Method for Placing a Widget onto a Desktop |
CN102037710A (zh) * | 2008-05-19 | 2011-04-27 | 思杰系统有限公司 | 用于远程处理多媒体插件调用的方法和系统 |
US20110138354A1 (en) * | 2009-12-07 | 2011-06-09 | International Business Machines Corporation | Interactive video player component for mashup interfaces |
CN101895531A (zh) * | 2010-06-13 | 2010-11-24 | 北京北大众志微系统科技有限责任公司 | 一种客户端设备、多媒体数据卸载系统及卸载方法 |
CN103927163A (zh) * | 2014-03-06 | 2014-07-16 | 中国人民解放军装甲兵工程学院 | 插件框架处理装置及插件系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484391A (zh) * | 2015-08-28 | 2017-03-08 | Ncr公司 | 动态服务扩展性 |
CN111427701A (zh) * | 2020-03-09 | 2020-07-17 | 中国建设银行股份有限公司 | 一种工作流引擎系统和业务处理方法 |
CN113190286A (zh) * | 2021-04-27 | 2021-07-30 | 深圳市华磊迅拓科技有限公司 | 动态远程加载功能插件的mes系统、加载方法、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104298511B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190057200A1 (en) | System, apparatus, and method of collecting and processing data in electronic devices | |
US20200012770A1 (en) | System, apparatus, and method of collecting and processing data in electronic devices | |
AU2013312865B2 (en) | Generating native code from intermediate language code for an application | |
CN107992308B (zh) | 一种安卓终端应用程序的插件化管理方法 | |
CN110908738B (zh) | 用于运行小程序的方法和装置 | |
US9760415B2 (en) | Code service for language-independent dispatch | |
US9146759B2 (en) | Assumption-based compilation | |
CN110187910B (zh) | 一种热更新方法、装置、设备及计算机可读存储介质 | |
US8561045B2 (en) | Constructing runtime state for inlined code | |
US10061567B2 (en) | Multi-sized data types for managed code | |
KR101557211B1 (ko) | 소프트웨어 애플리케이션 전달 및 개시 시스템 | |
CN102760068B (zh) | 一种ActiveX插件加载方法和装置 | |
WO2013130328A1 (en) | Persistent storage of profile data for script compilation | |
CN109150956B (zh) | 一种推送sdk的实现方法、装置、设备和计算机存储介质 | |
CN105793826A (zh) | 云后缀代理及其方法 | |
KR20160091663A (ko) | 멀티 플랫폼 기반의 어플리케이션 실행 방법 및 장치 | |
CN109218393B (zh) | 一种推送的实现方法、装置、设备和计算机存储介质 | |
CN106293870A (zh) | 计算机系统及其策略导向压缩方法 | |
CN108563472B (zh) | 基于多开应用的服务插件加载方法及装置 | |
CN104298511A (zh) | 实现网络化远程插件的方法及系统 | |
CN111338666A (zh) | 一种实现应用程序升级的方法、装置、介质和电子设备 | |
CN109325192B (zh) | 一种广告防屏蔽的方法和装置 | |
CN109145598B (zh) | 脚本文件的病毒检测方法、装置、终端及存储介质 | |
CN114489698A (zh) | 应用程序安装方法和装置 | |
Li et al. | Springbok: An App deployment accelerator for Android smart devices |
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 |