CN103902383A - 一种基于继承机制的资源管理器设计方法 - Google Patents
一种基于继承机制的资源管理器设计方法 Download PDFInfo
- Publication number
- CN103902383A CN103902383A CN201410114149.2A CN201410114149A CN103902383A CN 103902383 A CN103902383 A CN 103902383A CN 201410114149 A CN201410114149 A CN 201410114149A CN 103902383 A CN103902383 A CN 103902383A
- Authority
- CN
- China
- Prior art keywords
- function
- parent
- resource
- subclass
- explorer
- 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
Abstract
本发明公开了一种基于继承机制的资源管理器设计方法,将资源所有的基本元素和基本操作定义成一个父类,将具体资源的实现定义成子类,所有资源都会涉及到的异常流程、资源创建、资源析构函数父类提供一个默认的实现方法,不一致的函数只在父类进行声明并定义统一的接口;具体类型的资源通过继承的方式获得资源父类的变量和方法,通过重写的方式修改从父类继承来的方法,进行特定资源的特有操作。该资源管理器完美满足高可用双机热备软件的需求,方便对资源扩展,也有利于对软件进行维护。
Description
技术领域
本发明涉及计算机系统及存储领域,双机或者多机热备软件领域。具体涉及一种资源管理的方法,使用对象继承的方法来实现高效安全同时易于管理和修改的资源管理器。
背景技术
随着IT产业的发展,计算机朝大容量、高速度方向的发展,使得计算机产业对计算机设备和存储设备的要求越来越高,对设备的容量、速度、可持续性、高可用性等都提出越来越高的要求。在这种背景下,单节点故障、突发的系统崩溃和日常维护操作等带来的时间损失所引起的经济或者其他方面的损失也就越来越明显,因此,高可用性对于计算机设备和软件越来越重要。
通常的软件高可用是通过双机或者集群热备软件实现的,从技术角度看,热备软件很重要的一个内容就是资源管理,一个好的资源管理器不仅可以完美的支持资源管理的各种操作,还能为不同类型的资源提供统一的接口,既方便对资源扩展,也有利于对软件进行维护。因此,一个好的资源管理器是一款优秀的热备软件的重要组成部分。
发明内容
本发明针对现有技术存在的不足之处,提供一种基于继承机制的资源管理器的设计方法,可以完美满足高可用双机热备软件的需求。
本发明公开了一种基于继承机制的资源管理器设计方法,其解决所述技术问题采用的技术方案如下:本发明提出的基于继承机制的资源管理器包括父类和子类,所述父类包括资源所有的基本元素和基本操作,所述子类包括具体资源的实现;所述基于继承机制的资源管理器中,所有资源都会涉及到的异常流程、资源创建、资源析构函数父类提供一个默认的实现方法,不一致的函数只在父类进行声明并定义统一的接口;具体类型的资源通过继承的方式获得资源父类的变量和方法,通过重写的方式修改从父类继承来的方法,进行特定资源的特有操作;所述基于继承机制的资源管理器设计方法的体系结构包括父类的变量和方法、父类方法的分类、父类提供实现函数的默认流程、子类完成具体的实现函数、父类中的内部方法设计、父类方法的权限控制和资源管理器的内存控制七大组成部分。
对于所述资源管理器设计方法的七大组成部分分别介绍如下:
1、父类的变量和方法
父类要声明所有资源遇到的所有变量和所有方法,对于能确定内存使用的变量直接进行内存申请,对于不确定大小的变量,父类提供一个地址,不申请内存,子类在使用时再进行内存申请,且资源所有用到的函数都在父类中声明。
2、父类方法的分类
资源操作中涉及的方法分为外部方法、实现方法和内部方法三类,其中外部方法:需要外部调用的函数,外部调用的函数称外部函数,包括资源创建、析构函数,对于外部函数父类主要负责资源所用到的内存申请和退出时的内存释放,外部函数的具体实现交给子类实现;实现方法:资源启动、停止具体操作函数,具体操作函数称为实现函数,只在父类中声明,确定接口及默认实现,具体实现交给子类;内部方法:异常流程包括重试次数控制、超时控制函数,这类函数称为内部函数,由父类直接实现。
3、父类提供实现函数的默认流程
对于所述实现函数,父类定义默认的实现流程,这个默认的实现流程无法直接使用,它包含实现函数的操作流程,需要子类在继承函数时将其完善才能使用,只有在子类中被重写后才能访问。
4、子类完成具体的实现函数
对于所述实现函数,子类根据各自资源的特点按照不同的方式完成实现函数,子类需要将其具体话,使其能针对特定的资源进行操作。
5、父类中的内部方法设计
对于所述内部函数,父类将其全部实现,并限制内部函数的访问权限,内部函数的启动入口添加在父类的初始化函数中,退出入口添加在析构函数中,任何资源在完成创建后都会自动进入监测循环,能够根据初始化时加入的参数实现资源的异常检测和切换功能。
6、父类方法的权限控制
父类方法的权限控制实行从严的权限控制,对于所述外部函数,只能被子类调用,而不能被程序外部调用;对于所述内部函数在初始化后时就会被启动,不需要子类和外部进行调用;对于所述实现函数,只能被子类调用,程序对资源的操作还是通过子类的实例进行。
7、资源管理器的内存控制
资源管理器在设计时采用统一出入口的内存分配和回收,所有的内存分配都需要在父类的初始化函数中进行,父类的析构函数也会对资源申请的所有内存进行回收。
本发明公开的基于继承机制的资源管理器设计方法的有益效果是:通过本发明所述基于继承机制的资源管理器,可以完美满足高可用双机热备软件的需求,可以完美的支持资源管理的各种操作,还能为不同类型的资源提供统一的接口,既方便对资源扩展,也有利于对软件进行维护。
附图说明
附图1本发明中父类和子类的简要设计图;
附图2本发明中资源使用内部简要流程图。
具体实施方式
下面结合附图,对本发明所公开的基于继承机制的资源管理器设计方法做进一步详细说明。
本发明公开了一种基于继承机制的资源管理器设计方法,在其设计中将资源所有的基本元素和基本操作定义成一个父类,将具体资源的实现定义成子类,图1为父类和子类的简要设计图。所述基于继承机制的资源管理器设计方法的体系结构包括父类的变量和方法、父类方法的分类、父类提供实现函数的默认流程、子类完成具体的实现函数、父类中的内部方法设计、父类方法的权限控制和资源管理器的内存控制七大组成部分。在本发明所述基于继承机制的资源管理器中,所有资源都会涉及到的异常流程、资源创建、资源析构等函数父类提供一个默认的实现方法,不一致的函数只在父类进行声明并定义统一的接口,具体类型的资源通过继承的方式获得资源父类的变量和方法,通过重写的方式修改从父类继承来的方法,实现特定资源的特有操作。
下面对本发明所述资源管理器的设计方法从七大组成部分进行详细说明:
1、父类的变量和方法
父类要声明所有资源有可能遇到的所有变量和所有方法。对于能确定内存使用的变量直接进行内存申请,对于不确定大小的变量,父类提供一个地址,不申请内存,子类在使用时再进行内存申请。另外,资源所有可能用到的函数也都要在父类中声明。
2、父类方法的分类
资源操作中可能涉及的方法大体分为三类外部方法、实现方法和内部方法,首先是外部方法需要外部调用的函数,外部调用函数称为外部函数,比如资源创建、析构等,这类函数父类主要负责资源所用到的内存申请和退出时的内存释放,函数的具体实现交给继承其的子类实现;第二类是实现方法需要资源启动、停止等具体操作函数,这类具体操作函数称为实现函数,只在父类中声明,确定接口及默认实现,具体实现交给子类;第三类是内部方法用到异常流程,比如重试次数控制、超时控制等函数,这类函数称为内部函数,由父类直接实现。
3、父类提供实现函数的默认流程
对于前面分类的实现函数,父类按照大多数资源的情况定义默认的实现流程,这个默认的实现流程是无法直接使用,它包含实现函数的操作流程,但是没有最重要的直接对资源进行操作的语句,需要子类在继承函数时将其完善才能使用。由于这个默认函数无法使用,直接的调用会导致一些不安全因素,所以这个函数在父类中禁止除子类外的其他实例访问的,只有在子类中被重写后才能访问。
4、子类完成具体的实现函数
对于前面分析的实现函数,子类需要将其具体话,使其能针对特定的资源进行操作。最简单的资源就是直接给父类提供的实现函数添加资源操作语句,这样便可以形成一个完整的实现函数。对于复杂的资源,子类可以根据情况将其完全重写,以应对特殊的需求。
5、父类中的内部方法设计
对于前面分析的内部函数,父类将其全部实现,并限制这种函数的访问权限,防止被意外调用引发程序崩溃。该种函数的启动入口添加在父类的初始化函数中,退出入口添加在析构函数中,子类无需继承这种函数,任何资源在完成创建后都会自动进入监测循环,可以根据初始化时加入的参数实现资源的异常检测和切换功能。
6、父类方法的权限控制
为保证程序的健壮性,父类方法的权限控制实行从严的权限控制,包括三种,分别对应三种函数。首先是外部函数,由于父类不是具体资源的类,所有初始化父类是没有任何意义的,所以父类的外部函数也仅仅是能被子类调用,而不能被程序外部调用。其次是内部函数,内部函数在初始化后时就会被启动,不需要子类和外部进行调用。最后是实现函数,这类函数也是只能被子类调用,程序对资源的操作还是通过子类的实例进行。
7、资源管理器的内存控制
为防止内存泄露问题,资源管理器在设计时采用统一出入口的内存分配和回收,所有的内存分配都需要在父类的初始化函数中进行,父类的析构函数也会对资源申请的所有内存进行回收。
本发明所述基于继承机制的资源管理器设计方法,需要在资源管理器程序设计时进行实施,根据前面所述发明内容和图2所示,在程序设计中按照如下过程进行:
1、编写父类,首先声明所有的变量,比如资源名称、类型、各种参数等特定长度的变量,直接申请内存并初始化,对无法确定长度的变量,如资源操作语句等,申请一个指定类型的变量并指向空地址。
2、声明资源使用过程中的所有方法,并完成外部函数、实现函数、内部函数的编写,注意析构函数中要对占用的所有内存资源进行释放。
3、编写子类,以应用程序资源为例,通过继承父类的方式或者最初的子类,通过调用父类外部函数的方式完成应用程序资源类的初始化,跟据应用程序资源操作要求完成实现函数。用同样方式完成其他资源对应的子类。
4、以上是资源类的编写,完成类的编写后,便可以调用这些类去实例化资源,从而完成资源的管理。
除本发明所述技术特征外,均为本专业技术人员的已知技术。
Claims (9)
1.一种基于继承机制的资源管理器设计方法,其特征在于,该基于继承机制的资源管理器包括父类和子类,所述父类包括资源所有的基本元素和基本操作,所述子类包括具体资源的实现;所述基于继承机制的资源管理器中,所有资源都会涉及到的异常流程、资源创建、资源析构函数由父类提供一个默认的实现方法,不一致的函数只在父类进行声明并定义统一的接口;具体类型的资源通过继承的方式获得资源父类的变量和方法,通过重写的方式修改从父类继承来的方法,进行特定资源的特有操作;
所述基于继承机制的资源管理器设计方法的体系结构包括父类的变量和方法、父类方法的分类、父类提供实现函数的默认流程、子类完成具体的实现函数、父类中的内部方法设计、父类方法的权限控制和资源管理器的内存控制七大组成部分。
2.根据权利要求1所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述父类的变量和方法,父类要声明所有资源遇到的所有变量和所有方法,对于能确定内存使用的变量直接进行内存申请,对于不确定大小的变量,父类提供一个地址,不申请内存,子类在使用时再进行内存申请,且资源所有用到的函数都在父类中声明。
3.根据权利要求2所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述父类方法的分类,资源操作中涉及的方法分为外部方法、实现方法和内部方法三类,其中外部方法:需要外部调用的函数,外部调用的函数称外部函数,包括资源创建、析构函数,对于外部函数父类主要负责资源所用到的内存申请和退出时的内存释放,外部函数的具体实现交给子类实现;实现方法:资源启动、停止具体操作函数,具体操作函数称为实现函数,只在父类中声明,确定接口及默认实现,具体实现交给子类;内部方法:异常流程包括重试次数控制、超时控制函数,这类函数称为内部函数,由父类直接实现。
4.根据权利要求3所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述父类提供实现函数的默认流程,对于所述实现函数,父类定义默认的实现流程,这个默认的实现流程无法直接使用,它包含实现函数的操作流程,需要子类在继承函数时将其完善才能使用,只有在子类中被重写后才能访问。
5.根据权利要求4所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述子类完成具体的实现函数,对于所述实现函数,子类根据各自资源的特点按照不同的方式完成实现函数,子类需要将其具体话,使其能针对特定的资源进行操作。
6.根据权利要求5所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述父类中的内部方法设计,对于所述内部函数,父类将其全部实现,并限制内部函数的访问权限,内部函数的启动入口添加在父类的初始化函数中,退出入口添加在析构函数中,任何资源在完成创建后都会自动进入监测循环,能够根据初始化时加入的参数实现资源的异常检测和切换功能。
7.根据权利要求6所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述父类方法的权限控制,父类方法的权限控制实行从严的权限控制,对于所述外部函数,只能被子类调用,而不能被程序外部调用;对于所述内部函数在初始化后时就会被启动,不需要子类和外部进行调用;对于所述实现函数,只能被子类调用,程序对资源的操作还是通过子类的实例进行。
8.根据权利要求7所述的基于继承机制的资源管理器设计方法,其特征在于,关于所述资源管理器的内存控制,资源管理器在设计时采用统一出入口的内存分配和回收,所有的内存分配都需要在父类的初始化函数中进行,父类的析构函数也会对资源申请的所有内存进行回收。
9.根据权利要求8所述的基于继承机制的资源管理器设计方法,其特征在于,所述基于继承机制的资源管理器设计方法,需要在资源管理器程序设计时进行实施,在资源管理器程序设计中按照如下过程进行:
(1)、编写父类,首先声明所有的变量,资源名称、类型、各种参数特定长度的变量,直接申请内存并初始化,对无法确定长度的变量,申请一个指定类型的变量并指向空地址;
(2)、声明资源使用过程中的所有方法,并完成外部函数、实现函数、内部函数的编写,注意析构函数中要对占用的所有内存资源进行释放;
(3)、编写子类,应用程序资源对应的子类,通过继承父类的方式或者最初的子类,通过调用父类外部函数的方式完成应用程序资源类的初始化,跟据应用程序资源操作要求完成实现函数;用同样方式完成其他资源对应的子类;
(4)、完成资源类的编写后,便能够调用这些类去实例化资源,完成资源的管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410114149.2A CN103902383A (zh) | 2014-03-26 | 2014-03-26 | 一种基于继承机制的资源管理器设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410114149.2A CN103902383A (zh) | 2014-03-26 | 2014-03-26 | 一种基于继承机制的资源管理器设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103902383A true CN103902383A (zh) | 2014-07-02 |
Family
ID=50993721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410114149.2A Pending CN103902383A (zh) | 2014-03-26 | 2014-03-26 | 一种基于继承机制的资源管理器设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902383A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020836A (zh) * | 2016-05-27 | 2016-10-12 | 浪潮(北京)电子信息产业有限公司 | 一种下层异常继承上层异常的异常处理方法及装置 |
CN108923973A (zh) * | 2018-07-02 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种监控方法及装置 |
CN109144477A (zh) * | 2018-07-06 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 一种自动管理类对象内存的方法及电子设备 |
CN111190592A (zh) * | 2018-11-15 | 2020-05-22 | 武汉斗鱼网络科技有限公司 | 一种页面创建方法、存储介质、电子设备及系统 |
CN112272218A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 云平台实例资源操作方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064558A1 (en) * | 2002-09-26 | 2004-04-01 | Hitachi Ltd. | Resource distribution management method over inter-networks |
CN1818861A (zh) * | 2006-02-20 | 2006-08-16 | 中国科学院计算技术研究所 | Cobol到java代码翻译中面向对象翻译的方法 |
CN101576824A (zh) * | 2009-06-19 | 2009-11-11 | 深圳市科陆电子科技股份有限公司 | 基于jsf开发框架的内存优化系统及方法 |
CN101639777A (zh) * | 2009-09-07 | 2010-02-03 | 李元 | 一种构件的即插即用方法、应用及其系统 |
CN102103676A (zh) * | 2011-02-28 | 2011-06-22 | 南京邮电大学 | 一种基于进程间继承关系的爪哇程序进程守护方法 |
CN103176851A (zh) * | 2013-04-12 | 2013-06-26 | 上海超级计算中心 | 高性能计算服务平台中的资源管理系统和方法 |
CN103279631A (zh) * | 2013-06-27 | 2013-09-04 | 南京大学 | 设计模式制导的爪哇代码评审方法 |
-
2014
- 2014-03-26 CN CN201410114149.2A patent/CN103902383A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064558A1 (en) * | 2002-09-26 | 2004-04-01 | Hitachi Ltd. | Resource distribution management method over inter-networks |
CN1818861A (zh) * | 2006-02-20 | 2006-08-16 | 中国科学院计算技术研究所 | Cobol到java代码翻译中面向对象翻译的方法 |
CN101576824A (zh) * | 2009-06-19 | 2009-11-11 | 深圳市科陆电子科技股份有限公司 | 基于jsf开发框架的内存优化系统及方法 |
CN101639777A (zh) * | 2009-09-07 | 2010-02-03 | 李元 | 一种构件的即插即用方法、应用及其系统 |
CN102103676A (zh) * | 2011-02-28 | 2011-06-22 | 南京邮电大学 | 一种基于进程间继承关系的爪哇程序进程守护方法 |
CN103176851A (zh) * | 2013-04-12 | 2013-06-26 | 上海超级计算中心 | 高性能计算服务平台中的资源管理系统和方法 |
CN103279631A (zh) * | 2013-06-27 | 2013-09-04 | 南京大学 | 设计模式制导的爪哇代码评审方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020836A (zh) * | 2016-05-27 | 2016-10-12 | 浪潮(北京)电子信息产业有限公司 | 一种下层异常继承上层异常的异常处理方法及装置 |
CN108923973A (zh) * | 2018-07-02 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种监控方法及装置 |
CN108923973B (zh) * | 2018-07-02 | 2022-06-07 | 郑州云海信息技术有限公司 | 一种监控方法及装置 |
CN109144477A (zh) * | 2018-07-06 | 2019-01-04 | 武汉斗鱼网络科技有限公司 | 一种自动管理类对象内存的方法及电子设备 |
CN111190592A (zh) * | 2018-11-15 | 2020-05-22 | 武汉斗鱼网络科技有限公司 | 一种页面创建方法、存储介质、电子设备及系统 |
CN111190592B (zh) * | 2018-11-15 | 2022-06-21 | 武汉斗鱼网络科技有限公司 | 一种页面创建方法、存储介质、电子设备及系统 |
CN112272218A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 云平台实例资源操作方法、装置、计算机设备及存储介质 |
CN112272218B (zh) * | 2020-10-16 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 云平台实例资源操作方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468514B2 (en) | System and method for updating unified extensible firmware interface setting information | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
CN103902383A (zh) | 一种基于继承机制的资源管理器设计方法 | |
US9703346B2 (en) | Firmware interface with backup non-volatile memory storage | |
US10540284B2 (en) | Cache-coherent multiprocessor system and a method for detecting failures in a cache-coherent multiprocessor system | |
US10102155B2 (en) | Method and device of information protection for micro control unit chip | |
US10228993B2 (en) | Data dump for a memory in a data processing system | |
WO2021000570A1 (zh) | 模型加载方法及系统、控制节点及执行节点 | |
CN101573687B (zh) | 重新配置安全系统 | |
CN104216767A (zh) | 多线程之间访问共享数据的方法及装置 | |
JP2008009721A (ja) | 評価システム及びその評価方法 | |
CN102253860A (zh) | 一种异步操作方法及异步操作管理装置 | |
CN103246568A (zh) | 一种通过手机设置应用优先级的方法和装置 | |
CN112905365A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN117234729B (zh) | 动态内存保护方法、装置、计算机设备及存储介质 | |
CN103003769B (zh) | 时钟电路、电子设备以及提供时钟信号的方法 | |
CN103890713A (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
CN110244964B (zh) | 一种基于运维应用的运维方法、运维方法、装置及设备 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
US20150212832A1 (en) | Techniques for dynamically redirecting device driver operations to user space | |
US9792009B2 (en) | Method and system for focus management in a software application | |
TWI640869B (zh) | 配置一積體電路無線電通訊裝置的方法及積體電路無線電通訊裝置 | |
KR100772871B1 (ko) | 자바 환경에서 자원을 관리하는 장치 및 방법 | |
CN117272412B (zh) | 中断控制寄存器保护方法、装置、计算机设备及存储介质 | |
CN110597737B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140702 |