CN103425468B - 插件式软件集成方法及装置 - Google Patents
插件式软件集成方法及装置 Download PDFInfo
- Publication number
- CN103425468B CN103425468B CN201210154543.XA CN201210154543A CN103425468B CN 103425468 B CN103425468 B CN 103425468B CN 201210154543 A CN201210154543 A CN 201210154543A CN 103425468 B CN103425468 B CN 103425468B
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- software
- information
- operation 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
Links
Abstract
本发明公开了一种插件式软件集成方法及装置,其中方法包括以下步骤:建立插件扩展库,插件扩展库包括各插件信息及各插件安装策略;软件启动时按预定方式从插件扩展库中获取所需的插件,根据各插件安装策略将各插件与软件的主程序的菜单栏建立对应关系;主程序接收用户对菜单栏的菜单的操作信息,并将操作信息发送至开发运行平台;开发运行平台根据操作信息和对应关系从插件扩展库调用相应的插件,通过插件执行具体的操作。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种插件式软件集成方法及装置。
背景技术
随着计算机应用技术的不断发展,计算机软件日益丰富,对计算机软件的开发需求也越来越高。随着软件开发项目的变大或软件开发时间要求比较紧时,就需要几十人甚至上百人协作进行软件开发和设计,将若干人所编写的软件代码、链接库或组件实现无缝集成,但每一次的程序集成和代码维护都需要重新编译与链接代码和重新发布新软件,增加了工作量降低了效率。
发明申请CN200610165458.8提出了一种软件集成的方法,包括如下步骤:主程序加载插件,插件提供一个用于创建本插件的输出接口,并且该插件继承主程序协议层的接口;述主程序调用插件的所述输出接口创建插件实体;以及在创建插件实体成功后,主程序将插件实体加入到插件管理模块中。
上述插件式软件集成方法的不足之处在于,主程序缺乏插件异常处理机制,使得软件整体稳定性有局限,尤其是业务功能和通用功能交叉运行时,例如属于通用功能的用户管理、日志管理与业务功能交叉运行时,如果通用功能使用插件方式实现,那么当插件异常需要管理员介入时或者在系统启动初期发生异常时,软件运行状态如何控制,这是该方法没有妥善解决的问题。
发明内容
本发明提供一种插件式软件集成方法及装置,用以提高插件式软件的稳定性。
为达到上述目的,本发明提供了一种插件式软件集成方法,该方法包括以下步骤:
建立插件扩展库,插件扩展库包括各插件信息及各插件安装策略;
软件启动时按预定方式从插件扩展库中获取所需的插件,根据各插件安装策略将各插件与软件的主程序的菜单栏建立对应关系;
主程序接收用户对菜单栏的菜单的操作信息,并将操作信息发送至开发运行平台;
开发运行平台根据操作信息和对应关系从插件扩展库调用相应的插件,通过插件执行具体的操作。
进一步地,上述插件式软件集成方法还包括以下步骤:
将多项插件均需要用到的基本程序模块存入开发运行平台的存储目录,并在软件启动时将基本程序模块的运行纳入开发运行平台所在的内内存空间。
进一步地,主程序包括用户管理单元和日志管理单元,用户管理单元用于处理用户的新增、修改、查询、删除操作;日志管理单元用于处理日志的属性配置、日志输出、日志查询操作。
进一步地,主程序还包括用户界面控制单元,用于接收用户输入信息,通过开发运行平台将用户输入信息发送到对应的插件,用户界面控制单元接收插件的输出信息,并将输出信息输送至显示器屏幕上显示。
为达到上述目的,本发明还提供了一种插件式软件集成装置,该装置包括:
插件扩展库,其包括各插件信息及各插件安装策略;
插件管理模块,用于处理插件的安装、加载、查询、删除操作,当软件启动时按预定方式从插件扩展库中获取所需的插件,根据各插件安装策略将各插件与软件的主程序的菜单栏建立对应关系;
主程序模块,用于接收用户对菜单栏的菜单的操作信息,并将操作信息发送至开发运行平台;
开发运行平台,用于根据操作信息和对应关系从插件扩展库调用相应的插件,通过插件执行具体的操作。
进一步地,将多项插件均需要用到的基本程序模块存入开发运行平台的存储目录,并在软件启动时将基本程序模块的运行纳入开发运行平台所在的内内存空间。
进一步地,主程序模块包括用户管理单元和日志管理单元,用户管理单元用于处理用户的新增、修改、查询、删除操作;日志管理单元用于处理日志的属性配置、日志输出、日志查询操作。
进一步地,主程序模块还包括用户界面控制单元,用于接收用户输入信息,通过开发运行平台将用户输入信息发送到对应的插件,用户界面控制单元接收插件的输出信息,并将输出信息输送至显示器屏幕上显示。
进一步地,开发运行平台还包括:插件生成单元,用于生成与业务相关的插件。
在上述实施例中,主程序、开发运行平台、插件扩展库高度分离和独立,插件扩展库和开发运行平台在出现异常时主程序不受影响,对用户管理和日志管理仍然可以正常运行工作,大大提高了系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的插件式软件集成方法流程图;
图2为本发明一实施例的插件式软件集成装置模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的开发运行平台包括客户端开发工具Visual Studio2008、客户端运行环境.NET Framework2.0、客户端数据库SQL Server ExpressEdition 2005;开发运行平台还包括微型计算机,具体到税务软件的开发,还包括金税卡及配套IC卡读写器,微型计算机的最低配置要求CPU 1GHz以上,内存512MB以上,硬盘15GB以上。
图1为本发明一实施例的插件式软件集成方法流程图;如图1所示,该方法包括以下步骤:
S102,建立插件扩展库,插件扩展库包括各插件信息及各插件安装策略;
S104,软件启动时按预定方式从插件扩展库中获取所需的插件,根据各插件安装策略将各插件与软件的主程序的菜单栏建立对应关系;
S106,主程序接收用户对菜单栏的菜单的操作信息,并将操作信息发送至开发运行平台;
S108,开发运行平台根据操作信息和对应关系从插件扩展库调用相应的插件,通过插件执行具体的操作。
在本实施例中,将与业务无关的通用功能部分分离,实现高度的独立性,不受软件开发、维护、升级的影响,对于业务插件的管理也独立分离,使得软件的开发、运行、维护受插件影响最小,提高了插件式软件的稳定性。
进一步地,上述插件式软件集成方法还包括以下步骤:
将多项插件均需要用到的基本程序模块存入开发运行平台的存储目录,并在软件启动时将基本程序模块的运行纳入开发运行平台所在的内内存空间。
进一步地,主程序包括用户管理单元和日志管理单元,用户管理单元用于处理用户的新增、修改、查询、删除操作;日志管理单元用于处理日志的属性配置、日志输出、日志查询操作。
日志管理单元接收符合属性配置格式的输入数据,按照属性配置的格式生成日志文件,属性配置进一步分为4项,具体是日志输出级别、日志输出类型、文件日志属性和数据库日志属性,其中日志输出级别定义为5级,分别为FATAL、ERROR、WARN、INFO、DEBUG。日志输出类型定义为2类,分别为文件类和数据库类:文件日志属性在日志输出类型为文件类时日志管理模块才会读取其内容,文件日志属性包括文件控制类型、文件名、文件数量;数据库日志属性在日志输出类型为数据库类时日志管理单元才会读取其内容,数据库日志属性包括服务器地址、数据库名、用户名密码和SQL语句。
计算机启动时,开发运行平台启动,主程序启动,主程序内用户管理单元和日志管理单元随之启动,用户管理单元处理用户登录操作,主程序将相关信息发送给日志管理单元,日志管理单元按照日志属性配置将主程序和用户管理单元的处理过程记录并生成日志文件,存入主程序运行的磁盘目录。
进一步地,主程序还包括用户界面控制单元,用于接收用户输入信息,通过开发运行平台将用户输入信息发送到对应的插件,用户界面控制单元接收插件的输出信息,并将输出信息输送至显示器屏幕上显示。
用户界面控制单元识别输入输出信息与插件对应关系的方法为,通过开发运行平台建立对应关系,开发运行平台在执行加载插件的最后步骤时,插件功能会被显示到用户界面菜单栏并分配唯一编号,用户在点击界面菜单栏时,界面控制单元识别点击位置对应的编号为该插件,则通过开发运行平台将用户点击信息发送给该插件,反之也是同样的连接通路。
图2为本发明一实施例的插件式软件集成装置模块图。如图2所示,该装置包括:
插件扩展库10,其包括各插件信息及各插件安装策略;
插件管理模块20,用于处理插件的安装、加载、查询、删除操作,当软件启动时按预定方式从插件扩展库中获取所需的插件,根据各插件安装策略将各插件与软件的主程序的菜单栏建立对应关系;
主程序模块30,用于接收用户对菜单栏的菜单的操作信息,并将操作信息发送至开发运行平台;
开发运行平台40,用于根据操作信息和对应关系从插件扩展库调用相应的插件,通过插件执行具体的操作。
进一步地,将多项插件均需要用到的基本程序模块存入开发运行平台的存储目录,并在软件启动时将基本程序模块的运行纳入开发运行平台所在的内内存空间。
进一步地,主程序模块包括用户管理单元和日志管理单元,用户管理单元用于处理用户的新增、修改、查询、删除操作;日志管理单元用于处理日志的属性配置、日志输出、日志查询操作。
日志管理单元接收符合属性配置格式的输入数据,按照属性配置的格式生成日志文件,属性配置进一步分为4项,具体是日志输出级别、日志输出类型、文件日志属性和数据库日志属性,其中日志输出级别定义为5级,分别为FATAL、ERROR、WARN、INFO、DEBUG。日志输出类型定义为2类,分别为文件类和数据库类:文件日志属性在日志输出类型为文件类时日志管理模块才会读取其内容,文件日志属性包括文件控制类型、文件名、文件数量;数据库日志属性在日志输出类型为数据库类时日志管理单元才会读取其内容,数据库日志属性包括服务器地址、数据库名、用户名密码和SQL语句。
计算机启动时,开发运行平台启动,主程序启动,主程序内用户管理单元和日志管理单元随之启动,用户管理单元处理用户登录操作,主程序将相关信息发送给日志管理单元,日志管理单元按照日志属性配置将主程序和用户管理单元的处理过程记录并生成日志文件,存入主程序运行的磁盘目录。
进一步地,主程序模块还包括用户界面控制单元,用于接收用户输入信息,通过开发运行平台将用户输入信息发送到对应的插件,用户界面控制单元接收插件的输出信息,并将输出信息输送至显示器屏幕上显示。
用户界面控制单元识别输入输出信息与插件对应关系的方法为,通过开发运行平台建立对应关系,开发运行平台在执行加载插件的最后步骤时,插件功能会被显示到用户界面菜单栏并分配唯一编号,用户在点击界面菜单栏时,界面控制单元识别点击位置对应的编号为该插件,则通过开发运行平台将用户点击信息发送给该插件,反之也是同样的连接通路。
进一步地,开发运行平台还包括:插件生成单元,用于生成与业务相关的插件。生成插件的插件生成单元为各个实现与业务有关的具体程序模块,例如涉及到读写IC卡的插件模块包含读写IC卡程序模块
以下说明上述实施例中软件集成装置的运行情况:
主程序连接开发运行平台,向开发运行平台插件管理模块发出命令查询并加载运行当前在插件扩展库中已经存在的插件,插件管理模块执行加载插件操作,并将插件功能操作触发信息通过开发运行平台返回给主程序,主程序控制界面控制单元将这些插件的功能标识显示在主程序界面的菜单栏。
用户执行某项功能时,在界面点击相应的菜单,界面控制程序将输入的操作信息发送给主程序,主程序再发送给开发运行平台,开发运行平台传递给相应的插件,插件执行具体的操作。
软件开发人员在开发和部署软件时,将多项插件都需要用到的IC卡读写程序模块作为基本程序模块,存入开发运行平台所在的存储目录,运行中纳入开发运行平台所在的内存空间,IC卡读写程序模块接受开发运行平台的指令对IC卡进行读写操作,某一插件模块需要调用IC卡读写模块时,通过开发运行平台发送命令和接收响应数据;对于一些特殊的插件,插件也可以复制IC卡读写模块程序到本插件存储空间和运行内存,直接调用IC卡读写模块对IC卡进行操作。
在上述实施例中,主程序、开发运行平台、插件扩展库高度分离和独立,插件扩展库和开发运行平台在出现异常时主程序不受影响,对用户管理和日志管理仍然可以正常运行工作,大大提高了系统的稳定性。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (9)
1.一种插件式软件集成方法,其特征在于,包括以下步骤:
建立插件扩展库,所述插件扩展库包括各插件信息及各插件安装策略;
软件启动时按预定方式从所述插件扩展库中获取所需的插件,根据所述各插件安装策略将所述各插件与所述软件的主程序的菜单栏建立对应关系;
所述主程序接收用户对所述菜单栏的菜单的操作信息,并将所述操作信息发送至开发运行平台;
所述开发运行平台根据所述操作信息和所述对应关系从所述插件扩展库调用相应的插件,通过所述插件执行具体的操作。
2.根据权利要求1所述的插件式软件集成方法,其特征在于,还包括以下步骤:
将多项插件均需要用到的基本程序模块存入所述开发运行平台的存储目录,并在所述软件启动时将所述基本程序模块的运行纳入所述开发运行平台所在的内存空间。
3.根据权利要求1所述的插件式软件集成方法,其特征在于,所述主程序包括用户管理单元和日志管理单元,所述用户管理单元用于处理用户的新增、修改、查询、删除操作;所述日志管理单元用于处理日志的属性配置、日志输出、日志查询操作。
4.根据权利要求3所述的插件式软件集成方法,其特征在于,所述主程序还包括用户界面控制单元,用于接收用户输入信息,通过所述开发运行平台将所述用户输入信息发送到对应的插件,所述用户界面控制单元接收所述插件的输出信息,并将所述输出信息输送至显示器屏幕上显示。
5.一种插件式软件集成装置,其特征在于,包括:
插件扩展库,其包括各插件信息及各插件安装策略;
插件管理模块,用于处理插件的安装、加载、查询、删除操作,当软件启动时按预定方式从所述插件扩展库中获取所需的插件,根据所述各插件安装策略将所述各插件与所述软件的主程序的菜单栏建立对应关系;
主程序模块,用于接收用户对所述菜单栏的菜单的操作信息,并将所述操作信息发送至开发运行平台;
所述开发运行平台,用于根据所述操作信息和所述对应关系从所述插件扩展库调用相应的插件,通过所述插件执行具体的操作。
6.根据权利要求5所述的插件式软件集成装置,其特征在于,将多项插件均需要用到的基本程序模块存入所述开发运行平台的存储目录,并在所述软件启动时将所述基本程序模块的运行纳入所述开发运行平台所在的内存空间。
7.根据权利要求5所述的插件式软件集成装置,其特征在于,所述主程序模块包括用户管理单元和日志管理单元,所述用户管理单元用于处理用户的新增、修改、查询、删除操作;所述日志管理单元用于处理日志的属性配置、日志输出、日志查询操作。
8.根据权利要求7所述的插件式软件集成装置,其特征在于,所述主程序模块还包括用户界面控制单元,用于接收用户输入信息,通过所述开发运行平台将所述用户输入信息发送到对应的插件,所述用户界面控制单元接收所述插件的输出信息,并将所述输出信息输送至显示器屏幕上显示。
9.根据权利要求5所述的插件式软件集成装置,其特征在于,所述开发运行平台还包括:
插件生成单元,用于生成与业务相关的插件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210154543.XA CN103425468B (zh) | 2012-05-17 | 2012-05-17 | 插件式软件集成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210154543.XA CN103425468B (zh) | 2012-05-17 | 2012-05-17 | 插件式软件集成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425468A CN103425468A (zh) | 2013-12-04 |
CN103425468B true CN103425468B (zh) | 2016-12-14 |
Family
ID=49650273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210154543.XA Active CN103425468B (zh) | 2012-05-17 | 2012-05-17 | 插件式软件集成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425468B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677979B (zh) * | 2013-12-31 | 2017-02-15 | 北界创想(北京)软件有限公司 | 应用软件和插件的交互方法及装置 |
CN105373396B (zh) * | 2015-08-14 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 插件平台中的插件更新加载方法和装置 |
CN106054730A (zh) * | 2016-07-08 | 2016-10-26 | 天津市津达执行器有限公司 | 电动执行器用的主板识别扩展板 |
CN106527873B (zh) * | 2016-10-10 | 2019-11-08 | 国网新疆电力公司经济技术研究院 | 一种基于xml的人机交互接口定制方法 |
CN107632859A (zh) * | 2017-09-30 | 2018-01-26 | 江西洪都航空工业集团有限责任公司 | 一种机器人图形化开发插件式框架 |
CN109359123A (zh) * | 2018-08-24 | 2019-02-19 | 周宁 | 一种运行数据查询及分析系统和方法 |
CN109388416A (zh) * | 2018-09-29 | 2019-02-26 | 智器云南京信息科技有限公司 | 一种应用软件的插件化实现方法及系统 |
CN109710279A (zh) * | 2018-12-26 | 2019-05-03 | 武汉两点十分文化传播有限公司 | 一种可提高插件安装效率的插件平台系统 |
CN110908665B (zh) * | 2019-10-29 | 2023-07-07 | 福建天泉教育科技有限公司 | jenkins构建插件开发优化方法及系统 |
CN113485769A (zh) * | 2021-07-23 | 2021-10-08 | 统信软件技术有限公司 | 一种应用程序运行方法、计算设备及存储介质 |
CN114356468A (zh) * | 2021-11-24 | 2022-04-15 | 上海欣兆阳信息科技有限公司 | 一种用户界面集成系统及其集成中基于协议的用户界面接入方式 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947115A (zh) * | 2004-04-08 | 2007-04-11 | 佳思腾软件公司 | 文档处理装置和文档处理方法 |
CN101004675A (zh) * | 2006-01-19 | 2007-07-25 | 腾讯科技(深圳)有限公司 | 一种显示菜单的方法、系统及客户端 |
CN101866292A (zh) * | 2009-04-15 | 2010-10-20 | 佳能株式会社 | 信息处理设备及控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090282384A1 (en) * | 2008-05-12 | 2009-11-12 | Raytheon Company | Framework-Based Model-Driven Software Development |
-
2012
- 2012-05-17 CN CN201210154543.XA patent/CN103425468B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947115A (zh) * | 2004-04-08 | 2007-04-11 | 佳思腾软件公司 | 文档处理装置和文档处理方法 |
CN101004675A (zh) * | 2006-01-19 | 2007-07-25 | 腾讯科技(深圳)有限公司 | 一种显示菜单的方法、系统及客户端 |
CN101866292A (zh) * | 2009-04-15 | 2010-10-20 | 佳能株式会社 | 信息处理设备及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103425468A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425468B (zh) | 插件式软件集成方法及装置 | |
US11620117B2 (en) | Systems and methods for code clustering analysis and transformation | |
US11789715B2 (en) | Systems and methods for transformation of reporting schema | |
US11188319B2 (en) | Systems and methods for entry point-based code analysis and transformation | |
US11436006B2 (en) | Systems and methods for code analysis heat map interfaces | |
CN107357593A (zh) | 源代码文件组建方法、装置、电子终端及可读存储介质 | |
US6223345B1 (en) | System and method for building client and server application packages | |
US9495376B2 (en) | Content migration tool and method associated therewith | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
US20170060969A1 (en) | Automating extract, transform, and load job testing | |
CN103955364A (zh) | 一种适用于手机的前端组件方法 | |
CN102810057A (zh) | 一种记录日志的方法 | |
CN102054041A (zh) | 元数据升级方法和系统 | |
CN106951593B (zh) | 一种生成保护测控装置的配置文件的方法和装置 | |
CN103177119A (zh) | 基于数据库的数据类型自动转换系统及方法 | |
CN110908644A (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN102857817A (zh) | 一种可动态加载的机顶盒生产系统及方法 | |
US8914344B1 (en) | Service manager source code control system | |
CN102629227B (zh) | 一种辅助嵌入式系统接口功能验证方法 | |
CN102521370A (zh) | 空间数据批量抽取转换加载方法及装置 | |
CN117667889A (zh) | 数据库之间数据同步迁移的方法及装置 | |
CN117215725A (zh) | 脚本生成方法、装置、电子设备及存储介质 | |
CN117311718A (zh) | 一种国产gis应用开发方法及系统 | |
CN116225521A (zh) | 记录交付方法、装置、设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |