CN110166293A - 实现模块化升级调试开发功能的家庭网关及其升级调试处理方法 - Google Patents
实现模块化升级调试开发功能的家庭网关及其升级调试处理方法 Download PDFInfo
- Publication number
- CN110166293A CN110166293A CN201910423853.9A CN201910423853A CN110166293A CN 110166293 A CN110166293 A CN 110166293A CN 201910423853 A CN201910423853 A CN 201910423853A CN 110166293 A CN110166293 A CN 110166293A
- Authority
- CN
- China
- Prior art keywords
- module
- upgrading
- control module
- debugging
- business
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种实现模块化升级调试开发功能的家庭网关,包括管控模块,用于管控其余业务功能模块的升级、运行和停止操作;业务模块组,包括多个业务模块,均与所述的管控模块相连接,用于管理各个业务模块和各模块间通信;接口模块组,包括多个接口,均与所述的管控模块相连接,用于通过页面进行升级或者通过串口命令进行升级。本发明还涉及进行模块化升级调试处理的方法。采用了本发明的实现模块化升级调试开发功能的家庭网关及其升级调试处理方法,为家庭网关开发者提供了高效便捷的网关开发调试手段。开发者可根据实际需要灵活更改调试网关的某些功能,过程中只需单独升级所改动的业务模块即可,极大缩短调试周期,提升开发效率。
Description
技术领域
本发明涉及嵌入式Linux系统的电子通信技术领域,尤其涉及家庭网关产品开发调试领域,具体是指一种实现模块化升级调试开发功能的家庭网关及其升级调试处理方法。
背景技术
随着EPON以及GPON技术在国内的普及,以及国家光进铜退的战略,相关的家庭网关产品早已走进家家户户,而国内也涌现出大批优质公司开发家庭网关产品,竞争激烈,三大运营商也是不遗余力的对家庭网关更新换代。因此,对于网关开发者来说,能够大幅提升网关开发效率显得尤为重要。在通信技术领域网关产品的开发调试手段有许多,其中也不乏很多高效便捷的调试手段。
大家对于模块化开发一定并不陌生,其优点也是显而易见。模块化就是为了减少系统耦合度,每个模块相当于一个独立的子系统,减少资源循环依赖,增强系统框架设计,让开发更便于维护。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足效率高、资源依赖小、便于维护的实现模块化升级调试开发功能的家庭网关及其升级调试处理方法。
为了实现上述目的,本发明的实现模块化升级调试开发功能的家庭网关及其升级调试处理方法如下:
该实现模块化升级调试开发功能的家庭网关,其主要特点是,所述的家庭网关包括:
管控模块,用于管控其余业务功能模块的升级、运行和停止操作;
业务模块组,包括多个业务模块,均与所述的管控模块相连接,用于管理各个业务模块和各模块间通信;
接口模块组,包括多个接口,均与所述的管控模块相连接,用于通过页面进行升级或者通过串口命令进行升级。
较佳地,所述的业务模块组中的业务模块有各自独立的目录。
较佳地,所述的目录包括配置文件和程序运行二进制文件。
该针对上述家庭网关进行模块化升级调试处理的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的管控模块可以完成整个安装过程,通过页面或者串口命令执行安装,所述的管控模块接收并下载安装包,解压安装包到临时目录;
(2)判断家庭网关是否进行旧模块升级,如果是,继续步骤(3);否则,继续步骤(4);
(3)所述的管控模块用解压出来的目录文件内容替换当前模块运行目录内容,并执行替换后的模块执行文件;
(4)所述的管控模块根据解析出来的安装包名生成新的模块运行目录,并将解析出来的文件复制到新模块运行目录下,拉起新模块。
较佳地,所述的步骤(1)具体包括以下步骤:
(1.1)按照指定格式编译模块,并通过tar命令压缩生成模块安装包;
(1.2)所述的管控模块接收并下载安装包,解压安装包到临时目录。
较佳地,所述的步骤(3)具体包括以下步骤:
(3.1)所述的管控模块判断解压出来安装包是否合法,如果是,则继续步骤(3);否则,返回升级失败的信息和失败具体原因;
(3.2)所述的管控模块停止对应模块进程,用解压出来的目录文件内容替换当前模块运行目录内容;
(3.3)所述的管控模块执行替换后的模块执行文件,重新拉起模块。
较佳地,所述的步骤(4)具体包括以下步骤:
(4.1)所述的管控模块判断解压出来安装包是否合法,如果是,则继续步骤(3);否则,返回升级失败的信息和失败具体原因;
(4.2)所述的管控模块根据解析出来的安装包名生成新的模块运行目录;
(4.3)所述的管控模块将解析出来的文件复制到新模块运行目录下,将新模块拉起。
采用了本发明的实现模块化升级调试开发功能的家庭网关及其升级调试处理方法,通过软件架构系统级调整,使得家庭网关不仅仅是模块化开发,更具有模块化独立升级功能。也就是说当网关某个功能需要调整或者需要添加某些功能,只需要修改和编译相应的模块,然后通过升级接口单独升级重启该模块,无需升级整体网关固件,几乎省略了网关升级固件重启的耗时,可以在很短时间内体现出开发者的修改。甚至对于已经在用户家使用的此网关出现故障问题,我们也可以在用户家中重新升级某个debug版本的模块,用来排查出现的问题。本发明为家庭网关开发者提供了高效便捷的网关开发调试手段。开发者可根据实际需要灵活更改调试网关的某些功能,过程中不需要升级网关整体固件,只需单独升级所改动的业务模块即可,极大缩短调试周期,提升开发效率。
附图说明
图1为本发明的实现模块化升级调试开发功能的家庭网关的结构图。
图2为本发明的进行模块化升级调试处理的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该实现模块化升级调试开发功能的家庭网关,其中包括:
管控模块,用于管控其余业务功能模块的升级、运行和停止操作;
业务模块组,包括多个业务模块,均与所述的管控模块相连接,用于管理各个业务模块和各模块间通信;
接口模块组,包括多个接口,均与所述的管控模块相连接,用于通过页面进行升级或者通过串口命令进行升级。
作为本发明的优选实施方式,所述的业务模块组中的业务模块有各自独立的目录。
作为本发明的优选实施方式,所述的目录包括配置文件和程序运行二进制文件。
本发明的该针对上述家庭网关进行模块化升级调试处理的方法,其中包括以下步骤:
(1)所述的管控模块可以完成整个安装过程,通过页面或者串口命令执行安装,所述的管控模块接收并下载安装包,解压安装包到临时目录;
(1.1)按照指定格式编译模块,并通过tar命令压缩生成模块安装包;
(1.2)所述的管控模块接收并下载安装包,解压安装包到临时目录;
(2)判断家庭网关是否进行旧模块升级,如果是,继续步骤(3);否则,继续步骤(4);
(3)所述的管控模块用解压出来的目录文件内容替换当前模块运行目录内容,并执行替换后的模块执行文件;
(3.1)所述的管控模块判断解压出来安装包是否合法,如果是,则继续步骤(3);否则,返回升级失败的信息和失败具体原因;
(3.2)所述的管控模块停止对应模块进程,用解压出来的目录文件内容替换当前模块运行目录内容;
(3.3)所述的管控模块执行替换后的模块执行文件,重新拉起模块;
(4)所述的管控模块根据解析出来的安装包名生成新的模块运行目录,并将解析出来的文件复制到新模块运行目录下,拉起新模块;
(4.1)所述的管控模块判断解压出来安装包是否合法,如果是,则继续步骤(3);否则,返回升级失败的信息和失败具体原因;
(4.2)所述的管控模块根据解析出来的安装包名生成新的模块运行目录;
(4.3)所述的管控模块将解析出来的文件复制到新模块运行目录下,将新模块拉起。
本发明的具体实施方式中,家庭网关产品具有基于业务功能模块化升级调试开发功能。家庭网关产品业务功能具有清晰的模块划分,模块之间依赖性小。网关要有一个管控模块用于管控其他业务功能模块,管控业务功能模块的升级、运行、停止等。编译软件代码按照模块划分,并可以单独编译某个业务功能模块,编译生成的模块有固定的文件系统要求。网关需要有模块单独升级接口,例如通过页面进行升级或者串口命令升级。
对于上述内容的实现,首先软件代码架构上要做到能够各模块独立编译,编译完成后每个模块有自己独立的目录。网关也必须有一个管控模块,用于管控其他模块单独升级,因此该模块是在其他业务模块运行前运行。另外,还需提供模块升级接口,可以采用页面升级或者串口命令升级方式,系统运行模式如图1所示。
为了实现上述的目的,每个模块都要有单独的运行目录,目录中至少包含一个该模块的配置文件和模块运行二进制,目的就是在于管控模块对于各模块的升级管控,配置文件主要用于管控模块对该模块管控选项配置。除了升级之外,管控模块对各模块更有卸载、停止、启动等操作,甚至可以安装新的模块。
为了能够更清楚地理解本发明专利的技术内容,特举以下实施例详细说明。
请参阅图1,从示意图中可以看到,在网关上运行着多个业务模块、一个管控模块,这些模块都有自己独立的安装运行目录,目录中至少包含一份配置文件和一个程序运行二进制文件。另外还有两个对外开放的模块升级接口。接口1、2分别可以代表页面升级和命令行升级,业务模块1、2、3分别代表三个不同业务的实现模块。
要实现模块化的独立升级,首先要编译好指定模块,并按照管控模块指定的格式打包成安装包,具体格式由管控模块开发实现所决定。打包好之后可以通过页面或者命令行将安装包下载,由管控模块解析安装包,解析出来的安装包应该至少包含一份配置文件和一个程序运行二进制文件。管控模块会根据配置文件和安装包名来判断此次的操作类型是旧模块升级还是新模块安装。
旧模块升级的情况,管控模块首先要停止正在运行的需要升级的模块,然后用解析出来的模块目录替换旧的目录,拉起替换后模块。这样重新运行起来的模块就是你修改后的模块,整个过程从编译到运行可以在很短时间内完成。
新模块安装的情况,管控模块会根据解析出来的安装包名生成新的模块运行目录,然后将解析出来的文件复制到新模块运行目录下,复制文件至少包含一份配置文件和一个程序运行二进制,最后将新模块拉起,这样在网关内就新增了一个模块,也是在很短时间内完成,无需升级整个固件。
基于上述的实现,网关需要预先实现部分功能,例如需要制定一套交互机制用于每个业务模块和管控模块的交互,避免出现业务模块脱离管控模块掌控。页面升级接口和命令行升级接口的实现等。
本方案中的模块不需指定区域和大小,直接编译压缩成模块安装包即可,只要网关空间足够大就可以随意安装新模块;
本方案只需校验解压安装包后得到的模块目录、模块名、模块版本号是否合法,确保其唯一性即可完成整个模块升级;本技术方案中可以仅仅只升级其中某个模块来达到升级软件的效果;本方案中网关有个管控模块,这个模块最核心的两大功能就是管理各个模块和各个模块之间的交互通信,这样每个模块间在保证正常通信情况下极大减少了各模块之间运行的耦合性。
本方案的每个模块有自己单独的运行目录,运行目录名与模块名一致,该目录下至少包含永久数据目录、tmp目录、可执行文件,永久数据目录用于保存重要数据,保证在模块升级或者异常重启后能恢复升级前或者异常前的运行状态,tmp目录只用来保存临时数据,模块升级或者重启后该目录清空,可执行文件用于模块的启动,主要是由管控模块启动,所有其他模块启动都必须有管控模块拉起方为合法模块。
本方案除了升级网关中核心模块外,开发者可以根据自己需求开发某些功能的小模块直接安装到网关中,前提是开发的模块目录格式按符合上述要求,可以理解为在网关上安装插件,只要网关空间足够,可以随意安装模块来实现想要的功能,当然所安装的模块都在管控模块的控制之下,可以完成停止、启动、卸载和升级。
采用了本发明的实现模块化升级调试开发功能的家庭网关及其升级调试处理方法,通过软件架构系统级调整,使得家庭网关不仅仅是模块化开发,更具有模块化独立升级功能。也就是说当网关某个功能需要调整或者需要添加某些功能,只需要修改和编译相应的模块,然后通过升级接口单独升级重启该模块,无需升级整体网关固件,几乎省略了网关升级固件重启的耗时,可以在很短时间内体现出开发者的修改。甚至对于已经在用户家使用的此网关出现故障问题,我们也可以在用户家中重新升级某个debug版本的模块,用来排查出现的问题。本发明为家庭网关开发者提供了高效便捷的网关开发调试手段。开发者可根据实际需要灵活更改调试网关的某些功能,过程中不需要升级网关整体固件,只需单独升级所改动的业务模块即可,极大缩短调试周期,提升开发效率。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (7)
1.一种实现模块化升级调试开发功能的家庭网关,其特征在于,所述的家庭网关包括:
管控模块,用于管控其余业务功能模块的升级、运行和停止操作;
业务模块组,包括多个业务模块,均与所述的管控模块相连接,用于管理各个业务模块和各模块间通信;
接口模块组,包括多个接口,均与所述的管控模块相连接,用于通过页面进行升级或者通过串口命令进行升级。
2.根据权利要求1所述的实现模块化升级调试开发功能的家庭网关,其特征在于,所述的业务模块组中的业务模块有各自独立的目录。
3.根据权利要求2所述的实现模块化升级调试开发功能的家庭网关,其特征在于,所述的目录包括配置文件和程序运行二进制文件。
4.一种针对权利要求1所述的家庭网关进行模块化升级调试处理的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的管控模块可以完成整个安装过程,通过页面或者串口命令执行安装,所述的管控模块接收并下载安装包,解压安装包到临时目录;
(2)判断家庭网关是否进行旧模块升级,如果是,继续步骤(3);否则,继续步骤(4);
(3)所述的管控模块用解压出来的目录文件内容替换当前模块运行目录内容,并执行替换后的模块执行文件;
(4)所述的管控模块根据解析出来的安装包名生成新的模块运行目录,并将解析出来的文件复制到新模块运行目录下,拉起新模块。
5.根据权利要求4所述的进行模块化升级调试处理的方法,其特征在于,所述的步骤(1)具体包括以下步骤:
(1.1)按照指定格式编译模块,并通过tar命令压缩生成模块安装包;
(1.2)所述的管控模块接收并下载安装包,解压安装包到临时目录。
6.根据权利要求4所述的进行模块化升级调试处理的方法,其特征在于,所述的步骤(3)具体包括以下步骤:
(3.1)所述的管控模块判断解压出来安装包是否合法,如果是,则继续步骤(3);否则,返回升级失败的信息和失败具体原因;
(3.2)所述的管控模块停止对应模块进程,用解压出来的目录文件内容替换当前模块运行目录内容;
(3.3)所述的管控模块执行替换后的模块执行文件,重新拉起模块。
7.根据权利要求4所述的进行模块化升级调试处理的方法,其特征在于,所述的步骤(4)具体包括以下步骤:
(4.1)所述的管控模块判断解压出来安装包是否合法,如果是,则继续步骤(3);否则,返回升级失败的信息和失败具体原因;
(4.2)所述的管控模块根据解析出来的安装包名生成新的模块运行目录;
(4.3)所述的管控模块将解析出来的文件复制到新模块运行目录下,将新模块拉起。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910423853.9A CN110166293A (zh) | 2019-05-21 | 2019-05-21 | 实现模块化升级调试开发功能的家庭网关及其升级调试处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910423853.9A CN110166293A (zh) | 2019-05-21 | 2019-05-21 | 实现模块化升级调试开发功能的家庭网关及其升级调试处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110166293A true CN110166293A (zh) | 2019-08-23 |
Family
ID=67631746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910423853.9A Pending CN110166293A (zh) | 2019-05-21 | 2019-05-21 | 实现模块化升级调试开发功能的家庭网关及其升级调试处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166293A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535200A (zh) * | 2021-05-28 | 2021-10-22 | 宁波三星医疗电气股份有限公司 | 一种能源控制器app升级方法 |
CN114202297A (zh) * | 2021-09-15 | 2022-03-18 | 浙江宇视科技有限公司 | 业务集成系统及方法 |
CN115129334A (zh) * | 2021-03-25 | 2022-09-30 | 广州视源电子科技股份有限公司 | 软件升级方法、系统、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067509A (zh) * | 2012-12-30 | 2013-04-24 | 乐视网信息技术(北京)股份有限公司 | 一种模块化软件升级系统及其方法 |
CN105516228A (zh) * | 2014-10-15 | 2016-04-20 | 西安三维通信有限责任公司 | 一种家庭网关的升级方法 |
CN105591825A (zh) * | 2016-01-21 | 2016-05-18 | 烽火通信科技股份有限公司 | 在家庭网关升级时修改配置的方法 |
CN105743933A (zh) * | 2014-12-08 | 2016-07-06 | Tcl集团股份有限公司 | 一种路由器的模块升级方法及系统 |
CN108108181A (zh) * | 2017-12-14 | 2018-06-01 | 深圳市雷鸟信息科技有限公司 | 应用程序的功能更新方法、装置及计算机可读存储介质 |
CN108512747A (zh) * | 2017-02-23 | 2018-09-07 | 中兴通讯股份有限公司 | 家庭网关的插件管理方法以及家庭网关、通信系统 |
-
2019
- 2019-05-21 CN CN201910423853.9A patent/CN110166293A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067509A (zh) * | 2012-12-30 | 2013-04-24 | 乐视网信息技术(北京)股份有限公司 | 一种模块化软件升级系统及其方法 |
CN105516228A (zh) * | 2014-10-15 | 2016-04-20 | 西安三维通信有限责任公司 | 一种家庭网关的升级方法 |
CN105743933A (zh) * | 2014-12-08 | 2016-07-06 | Tcl集团股份有限公司 | 一种路由器的模块升级方法及系统 |
CN105591825A (zh) * | 2016-01-21 | 2016-05-18 | 烽火通信科技股份有限公司 | 在家庭网关升级时修改配置的方法 |
CN108512747A (zh) * | 2017-02-23 | 2018-09-07 | 中兴通讯股份有限公司 | 家庭网关的插件管理方法以及家庭网关、通信系统 |
CN108108181A (zh) * | 2017-12-14 | 2018-06-01 | 深圳市雷鸟信息科技有限公司 | 应用程序的功能更新方法、装置及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129334A (zh) * | 2021-03-25 | 2022-09-30 | 广州视源电子科技股份有限公司 | 软件升级方法、系统、计算机设备和存储介质 |
CN113535200A (zh) * | 2021-05-28 | 2021-10-22 | 宁波三星医疗电气股份有限公司 | 一种能源控制器app升级方法 |
CN114202297A (zh) * | 2021-09-15 | 2022-03-18 | 浙江宇视科技有限公司 | 业务集成系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106227605B (zh) | 一种多语言云编译的动态微服务扩容方法及装置 | |
CN106933570B (zh) | 一种基于插件技术的航天测发控软件平台 | |
CN105589725B (zh) | 一种电子设备的升级包制作方法和升级方法、升级包 | |
CN110166293A (zh) | 实现模块化升级调试开发功能的家庭网关及其升级调试处理方法 | |
CN108614718B (zh) | 启动操作系统的方法、装置和实现装置 | |
CN102609281B (zh) | 分布式软件补丁更新方法及系统 | |
CN110543328B (zh) | 基于Ambari的跨平台组件管理方法、系统、终端及存储介质 | |
US20140101646A1 (en) | Reducing downtime during upgrades of interrelated components in a database system | |
US20030023707A1 (en) | System and method for batch tuning intelligent devices | |
CN105550001A (zh) | 分布式自动构建方法及系统 | |
CN102156643A (zh) | 软件集成方法及系统 | |
CN103309683A (zh) | 硬件设备的软件补丁嵌入方法及装置 | |
CN108551395A (zh) | 通信设备升级方法、通信设备及计算机存储介质 | |
CN102207879A (zh) | Lua脚本热更新方法及系统 | |
Coleman | A Use Case Template: draft for discussion | |
Ketfi et al. | Automatic adaptation of component-based software | |
CN101944033A (zh) | 一种嵌入式系统中动态支持多种协议的装置及方法 | |
CN103026337A (zh) | 配给组件的提取和重构 | |
CN105677424A (zh) | 一种基于微内核的组件化开发集成的热加载方法 | |
CN114201209A (zh) | 一种基于营销系统不停机发布的自动发布替换和脚本升级方法 | |
CN112328295B (zh) | 软件更新方法及装置 | |
CN116048498B (zh) | 一种基于多版本的组件库架构 | |
CN113849161A (zh) | 应用控制方法、装置、存储介质及电子设备 | |
CN103164325B (zh) | 一种控制编码的方法和装置 | |
CN101866306A (zh) | 一种镜像封装计算机系统的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190823 |
|
RJ01 | Rejection of invention patent application after publication |