CN102868747B - 资源信息管理方法和资源信息管理装置 - Google Patents
资源信息管理方法和资源信息管理装置 Download PDFInfo
- Publication number
- CN102868747B CN102868747B CN201210349292.0A CN201210349292A CN102868747B CN 102868747 B CN102868747 B CN 102868747B CN 201210349292 A CN201210349292 A CN 201210349292A CN 102868747 B CN102868747 B CN 102868747B
- Authority
- CN
- China
- Prior art keywords
- resource
- point
- container
- extension point
- expansion point
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种资源信息管理装置,用于动态模型系统,包括:创建单元,在动态模型系统的子业务模块启动时,创建与子业务模块对应的资源扩展点,将子业务模块的资源目录绑定至资源扩展点;添加单元,将资源扩展点添加至设定的动态模型系统的扩展点容器中;访问单元,通过统一接口访问扩展点容器所涉及的资源目录下的资源信息。根据本发明的技术方案,不管资源在哪个子业务模块,均可通过统一接口访问资源信息,保证资源信息的共享。本发明还提供了一种资源信息管理方法。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种资源信息管理方法和一种资源信息管理装置。
背景技术
OSGI框架(OpenServiceGatewayinitiative,动态模型系统)都可以被划分为多个子业务模块(bundle),并且每个子业务模块都会由单独的类加载器(classloader)来加载类(class)文件和资源。因此,由OSGI实现的大的业务系统一般会被模块化处理,被划分成多个子业务模块后再并行开发,每个子业务模块其实就是一个bundle,一般来说,每个模块下都会有配置文件、图片或者文档等资源文件,并且需要被整个系统共享,但是由于各个子业务模块是相互隔离的,分别由各自的类加载器来加载和维护,并且,后启动的子业务模块对前面启动的子业务模块根本就是未知的,那么,就无法实现各个子业务模块的资源共享。
因此,需要一种资源信息管理技术,可实现各个子业务模块的资源共享。
发明内容
考虑到上述背景技术,本发明的提供了一种该资源信息管理技术,可实现各个子业务模块的资源共享。
根据本发明的一个方面,提供了一种资源信息管理装置,用于动态模型系统,包括:创建单元,在所述动态模型系统的子业务模块启动时,创建与所述子业务模块对应的资源扩展点,将所述子业务模块的资源目录绑定至所述资源扩展点;添加单元,将所述资源扩展点添加至设定的所述动态模型系统的扩展点容器中;访问单元,通过统一接口访问所述扩展点容器所涉及的资源目录下的资源信息。
提供一个全局的扩展点容器来管理所有的资源扩展点,该资源扩展点可绑定启动的子业务模块的资源目录,通过编写的资源扩展点类来实现扩展点接口,通过统一的访问接口接可以访问扩展点容器中的所有资源扩展点,从而可访问相应资源扩展点的资源目录,最终实现资源共享,不会受到子业务模块的启动先后顺序的限制。
在上述技术方案中,优选的,还可以包括:监听单元,在需将所述资源扩展点添加至所述扩展点容器中时,判断所述资源扩展点是否已被添加至所述扩展点容器中;记录单元,在所述监听单元判断出所述资源扩展点已被添加至所述扩展点容器时,在日志文件中记录错误信息。
在将扩展点添加至扩展点容器中时,就会触发监听单元,来监听是否有资源扩展点对象添加至扩展点容器中,如果扩展点容器中已经保存了该资源扩展点对象,则没有必要再保存,那么出现报错,并在日志文件中记载下来。
在上述技术方案中,优选的,所述添加单元还用于在所述监听单元判断出所述资源扩展点未被添加至所述扩展点容器时,读取所述资源扩展点的资源目录,并将所述资源目录的信息存放至所述扩展点容器。当然,如果还没有保存至扩展点容器,那么就需要保存该资源扩展点的资源目录信息。
在上述技术方案中,优选的,所述添加单元还用于在保存所述资源扩展点时,将所述子业务模块作为属性,所述子业务模块的资源目录作为所述属性的属性值。
在上述技术方案中,优选的,所述监听单元还用于在监测到所述子业务模块停止运行时,判断与所述子业务模块对应的资源扩展点是否保存在所述扩展点容器中;所述资源信息管理装置还包括删除单元,在所述监听单元判断出所述子业务模块的资源扩展点保存在所述扩展点容器中时,在所述扩展点容器中删除所述资源扩展点所绑定的资源目录。
在子业务模块停止时,应该把对应的资源扩展点从扩展点容器中移除,这样就可以保证容器不会无限的添加资源扩展点,并且每一个资源扩展点都是有效的。
根据本发明的另一方面,还提供了一种资源信息管理方法,包括:在动态模型系统的子业务模块启动时,创建与所述子业务模块对应的资源扩展点,将所述子业务模块的资源目录绑定至所述资源扩展点;将所述资源扩展点添加至设定的所述动态模型系统的扩展点容器中;通过统一接口访问所述扩展点容器所涉及的资源目录下的资源信息。
提供一个全局的扩展点容器来管理所有的资源扩展点,该资源扩展点可绑定启动的子业务模块的资源目录,通过编写的资源扩展点类来实现扩展点接口,通过统一的访问接口接可以访问扩展点容器中的所有资源扩展点,从而可访问相应资源扩展点的资源目录,最终实现资源共享,不会受到子业务模块的启动先后顺序的限制。
在上述技术方案中,优选的,在需将所述资源扩展点添加至所述扩展点容器中时,触发监听器判断所述资源扩展点是否已被添加至所述扩展点容器中,若已被添加至所述扩展点容器,则在日志文件中记录错误信息。
在将扩展点添加至扩展点容器中时,就会触发监听器,来监听是否有资源扩展点对象添加至扩展点容器中,如果扩展点容器中已经保存了该资源扩展点对象,则没有必要再保存,那么出现报错,并在日志文件中记载下来。
在上述技术方案中,优选的,若未被添加至所述扩展点容器,则读取所述资源扩展点的资源目录,并将所述资源目录的信息存放至所述扩展点容器。当然,如果还没有保存至扩展点容器,那么就需要保存该资源扩展点的资源目录信息。
在上述技术方案中,优选的,在保存所述资源扩展点时,将所述子业务模块作为属性,所述子业务模块的资源目录作为所述属性的属性值。
在上述技术方案中,优选的,在监测到所述子业务模块停止运行时,判断与所述子业务模块对应的资源扩展点是否保存在所述扩展点容器中,若保存在所述扩展点容器中,则在所述扩展点容器中删除所述资源扩展点所绑定的资源目录。
在子业务模块停止时,应该把对应的资源扩展点从扩展点容器中移除,这样就可以保证容器不会无限的添加资源扩展点,并且每一个资源扩展点都是有效的。
根据本发明的技术方案,不管是先启动的子业务模块,还是后启动的子业务模块,附带的资源信息都能被整个应用模块访问到,并且可以保证扩展点容器不会无限制的添加资源扩展点,并且每一个资源扩展点目录都是有效的。
附图说明
图1示出了根据本发明的实施例的资源信息管理装置的框图;
图2示出了根据本发明的实施例的资源信息管理方法的流程图;
图3示出了根据本发明的实施例的保存资源扩展点的流程图;
图4示出了根据本发明的实施例的移除资源扩展点的流程图;
图5示出了根据本发明的实施例的资源信息管理方法的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的资源信息管理装置的框图。
如图1所示,根据本发明的实施例的资源信息管理装置100,用于动态模型系统,包括:创建单元102,在动态模型系统的子业务模块启动时,创建与子业务模块对应的资源扩展点,将子业务模块的资源目录绑定至资源扩展点;添加单元104,将资源扩展点添加至设定的动态模型系统的扩展点容器中;访问单元106,通过统一接口访问扩展点容器所涉及的资源目录下的资源信息。
提供一个全局的扩展点容器来管理所有的资源扩展点,该资源扩展点可绑定启动的子业务模块的资源目录,通过编写的资源扩展点类来实现扩展点接口,通过统一的访问接口接可以访问扩展点容器中的所有资源扩展点,从而可访问相应资源扩展点的资源目录,最终实现资源共享,不会受到子业务模块的启动先后顺序的限制。
在上述技术方案中,优选的,还可以包括:监听单元108,在需将资源扩展点添加至扩展点容器中时,判断资源扩展点是否已被添加至扩展点容器中;记录单元110,在监听单元108判断出资源扩展点已被添加至扩展点容器时,在日志文件中记录错误信息。
在将扩展点添加至扩展点容器中时,就会触发监听单元108,来监听是否有资源扩展点对象添加至扩展点容器中,如果扩展点容器中已经保存了该资源扩展点对象,则没有必要再保存,那么出现报错,并在日志文件中记载下来。
在上述技术方案中,优选的,添加单元104还用于在监听单元108判断出资源扩展点未被添加至扩展点容器时,读取资源扩展点的资源目录,并将资源目录的信息存放至扩展点容器。当然,如果还没有保存至扩展点容器,那么就需要保存该资源扩展点的资源目录信息。
在上述技术方案中,优选的,添加单元104还用于在保存资源扩展点时,将子业务模块作为属性,子业务模块的资源目录作为属性的属性值。
在上述技术方案中,优选的,监听单元108还用于在监测到子业务模块停止运行时,判断与子业务模块对应的资源扩展点是否保存在扩展点容器中;资源信息管理装置还包括删除单元112,在监听单元判断出子业务模块的资源扩展点保存在扩展点容器中时,在扩展点容器中删除资源扩展点所绑定的资源目录。
在子业务模块停止时,应该把对应的资源扩展点从扩展点容器中移除,这样就可以保证容器不会无限的添加资源扩展点,并且每一个资源扩展点都是有效的。
图2示出了根据本发明的实施例的资源信息管理方法的流程图。
如图2所示,根据本发明的实施例的资源信息管理方法,包括:步骤202,在动态模型系统的子业务模块启动时,创建与子业务模块对应的资源扩展点,将子业务模块的资源目录绑定至资源扩展点;步骤204,将资源扩展点添加至设定的动态模型系统的扩展点容器中;步骤206,通过统一接口访问扩展点容器所涉及的资源目录下的资源信息。
提供一个全局的扩展点容器来管理所有的资源扩展点,该资源扩展点可绑定启动的子业务模块的资源目录,通过编写的资源扩展点类来实现扩展点接口,通过统一的访问接口接可以访问扩展点容器中的所有资源扩展点,从而可访问相应资源扩展点的资源目录,最终实现资源共享,不会受到子业务模块的启动先后顺序的限制。
在上述技术方案中,优选的,在需将资源扩展点添加至扩展点容器中时,触发监听器判断资源扩展点是否已被添加至扩展点容器中,若已被添加至扩展点容器,则在日志文件中记录错误信息。
在将扩展点添加至扩展点容器中时,就会触发监听器,来监听是否有资源扩展点对象添加至扩展点容器中,如果扩展点容器中已经保存了该资源扩展点对象,则没有必要再保存,那么出现报错,并在日志文件中记载下来。
在上述技术方案中,优选的,若未被添加至扩展点容器,则读取资源扩展点的资源目录,并将资源目录的信息存放至扩展点容器。当然,如果还没有保存至扩展点容器,那么就需要保存该资源扩展点的资源目录信息。
在上述技术方案中,优选的,在保存资源扩展点时,将子业务模块作为属性,子业务模块的资源目录作为属性的属性值。
在上述技术方案中,优选的,在监测到子业务模块停止运行时,判断与子业务模块对应的资源扩展点是否保存在扩展点容器中,若保存在扩展点容器中,则在扩展点容器中删除资源扩展点所绑定的资源目录。
在子业务模块停止时,应该把对应的资源扩展点从扩展点容器中移除,这样就可以保证容器不会无限的添加资源扩展点,并且每一个资源扩展点都是有效的。
下面结合图3至图5进一步说明根据本发明的资源信息管理方法。
首先,创建一个全局的扩展点容器,管理所有不同的扩展点;提供一个扩展点接口(PointInterface),并提供一个通用的执行方法;编写一个资源扩展点类(ResourcePoint),实现扩展点接口(PointInterface);编写一个监听器(PointListener),来监听是否有资源扩展点类对象被添加到扩展点容器。
如图3所示,在步骤302,子业务模块启动。在步骤304,当一个子业务模块(bundle)要发布资源目录时,需要新建一个资源扩展点,并绑定该子业务模块对应的资源目录。在步骤306,在子业务模块启动后,将该资源扩展点发布到扩展点容器中。
在步骤308,然后会自动触发器来监听事件。在步骤310,判断该资源扩展点是否已经在容器中,若已经存在,则进入步骤314,若不存在容器中,则进入步骤312。
在步骤312,读取监听到的目录信息,将目录信息存放至容器中。在具体存放时,把每一个目录信息作为一个属性值(key值),对应的子业务模块作为属性(value),以便其他子业务模块来访问时,同时把扩展点对象也保存到set集合中。即当系统的一个模块要访问一个资源时,可以通过key值到扩展点管理器中取查找目录,然后返回资源文件。
在步骤314,在日志文件中记录错误信息。
因此,不管是先启动的子业务模块,还是后启动的子业务模块,附带的资源信息都能被整个应用模块访问到。
为了避免无限制的往扩展点容器中添加资源扩展点,应该在子业务模块停止的时候,把此子业务模块中的目录资源扩展点从扩展点容器中移除,实现原理一样采用监听模式实现,如图4所示。
在步骤402,在子业务模块停止时,触发监听器的删除事件。
在步骤404,判断该子业务模块的资源扩展点是否已保存在扩展点容器中,若是,则进入步骤406,若否,则结束该流程。
在步骤406,删除扩展点集合中与该子业务模块对应的扩展点对象,然后读取目录资源信息,将其逐个从资源容器对象中移除。
因此,把对应的资源扩展点从容器中移除,这样就可以保证扩展点容器不会无限的添加资源扩展点,并且每一个资源扩展点目录都是有效的。
接下来结合图5来说明根据本发明的资源信息管理方法的处理时序。
如图5所示,首先在子业务模块启动时,新增与该子业务模块对应的资源扩展点对象,需添加资源扩展点。此时,触发监听器,并调用监听器的执行方法。判断该资源扩展点是否已经在扩展点容器中存在,若没有,则将该资源扩展点保存至扩展点容器中,以及保存资源扩展点的目录信息和对应的子业务模块的信息。
以上结合附图详细说明了根据本发明的技术方案,不管是先启动的子业务模块,还是后启动的子业务模块,附带的资源信息都能被整个应用模块访问到,并且可以保证扩展点容器不会无限制的添加资源扩展点,并且每一个资源扩展点目录都是有效的。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种资源信息管理装置,其特征在于,用于动态模型系统,包括:
创建单元,在所述动态模型系统的子业务模块启动时,创建与所述子业务模块对应的资源扩展点,将所述子业务模块的资源目录绑定至所述资源扩展点;
添加单元,将所述资源扩展点添加至设定的所述动态模型系统的扩展点容器中;
访问单元,通过统一接口访问所述扩展点容器所涉及的资源目录下的资源信息;
监听单元,在需将所述资源扩展点添加至所述扩展点容器中时,判断所述资源扩展点是否已被添加至所述扩展点容器中;
记录单元,在所述监听单元判断出所述资源扩展点已被添加至所述扩展点容器时,在日志文件中记录错误信息。
2.根据权利要求1所述的资源信息管理装置,其特征在于,所述添加单元还用于在所述监听单元判断出所述资源扩展点未被添加至所述扩展点容器时,读取所述资源扩展点的资源目录,并将所述资源目录的信息存放至所述扩展点容器。
3.根据权利要求2所述的资源信息管理装置,其特征在于,所述添加单元还用于在保存所述资源扩展点时,将所述子业务模块作为属性,所述子业务模块的资源目录作为所述属性的属性值。
4.根据权利要求1至3中任一项所述的资源信息管理装置,其特征在于,所述监听单元还用于在监测到所述子业务模块停止运行时,判断与所述子业务模块对应的资源扩展点是否保存在所述扩展点容器中;
所述资源信息管理装置还包括删除单元,在所述监听单元判断出所述子业务模块的资源扩展点保存在所述扩展点容器中时,在所述扩展点容器中删除所述资源扩展点所绑定的资源目录。
5.一种资源信息管理方法,其特征在于,包括:
在动态模型系统的子业务模块启动时,创建与所述子业务模块对应的资源扩展点,将所述子业务模块的资源目录绑定至所述资源扩展点;
将所述资源扩展点添加至设定的所述动态模型系统的扩展点容器中;
通过统一接口访问所述扩展点容器所涉及的资源目录下的资源信息;以及
在需将所述资源扩展点添加至所述扩展点容器中时,触发监听器判断所述资源扩展点是否已被添加至所述扩展点容器中,若已被添加至所述扩展点容器,则在日志文件中记录错误信息。
6.根据权利要求5所述的资源信息管理方法,其特征在于,若未被添加至所述扩展点容器,则读取所述资源扩展点的资源目录,并将所述资源目录的信息存放至所述扩展点容器。
7.根据权利要求6所述的资源信息管理方法,其特征在于,在保存所述资源扩展点时,将所述子业务模块作为属性,所述子业务模块的资源目录作为所述属性的属性值。
8.根据权利要求5至7中任一项所述的资源信息管理方法,其特征在于,在监测到所述子业务模块停止运行时,判断与所述子业务模块对应的资源扩展点是否保存在所述扩展点容器中,若保存在所述扩展点容器中,则在所述扩展点容器中删除所述资源扩展点所绑定的资源目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210349292.0A CN102868747B (zh) | 2012-09-19 | 2012-09-19 | 资源信息管理方法和资源信息管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210349292.0A CN102868747B (zh) | 2012-09-19 | 2012-09-19 | 资源信息管理方法和资源信息管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868747A CN102868747A (zh) | 2013-01-09 |
CN102868747B true CN102868747B (zh) | 2016-07-06 |
Family
ID=47447333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210349292.0A Active CN102868747B (zh) | 2012-09-19 | 2012-09-19 | 资源信息管理方法和资源信息管理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868747B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227838B (zh) * | 2013-05-10 | 2015-09-30 | 中国工商银行股份有限公司 | 一种多重负载均衡处理装置与方法 |
CN103793232A (zh) * | 2014-02-20 | 2014-05-14 | 浪潮集团山东通用软件有限公司 | 一种基于aop的构件调用和扩展框架实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296204A (zh) * | 2007-04-25 | 2008-10-29 | 财团法人工业技术研究院 | 共享数字家庭电子服务资源的系统及方法 |
CN102087594A (zh) * | 2010-12-27 | 2011-06-08 | 用友软件股份有限公司 | 扩展点和插件的管理方法和装置 |
CN102158490A (zh) * | 2011-04-07 | 2011-08-17 | 山东中创软件商用中间件股份有限公司 | 基于OSGi的服务转换方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984419B2 (en) * | 2005-04-25 | 2011-07-19 | Nokia Corporation | System and method for separating code sharing and active applications in an OSGi service platform |
US8694981B2 (en) * | 2010-11-17 | 2014-04-08 | Apple Inc. | Shared resource dependencies |
-
2012
- 2012-09-19 CN CN201210349292.0A patent/CN102868747B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296204A (zh) * | 2007-04-25 | 2008-10-29 | 财团法人工业技术研究院 | 共享数字家庭电子服务资源的系统及方法 |
CN102087594A (zh) * | 2010-12-27 | 2011-06-08 | 用友软件股份有限公司 | 扩展点和插件的管理方法和装置 |
CN102158490A (zh) * | 2011-04-07 | 2011-08-17 | 山东中创软件商用中间件股份有限公司 | 基于OSGi的服务转换方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102868747A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338854B (zh) | 基于Kubernetes集群快速恢复数据的方法及系统 | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
WO2023284688A1 (zh) | 基于容器组pod的处理方法及相关系统、存储介质 | |
TW201435612A (zh) | 儲存空間擴展系統及方法 | |
CN115150419B (zh) | 一种混合云对象存储的配置和访问方法及系统 | |
CN112035216A (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
CN102638372B (zh) | 一种分布式集群系统及其实现方法 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN103580899B (zh) | 事件日志管理方法、系统、云服务客户端及虚拟化平台 | |
CN102868747B (zh) | 资源信息管理方法和资源信息管理装置 | |
CN114706690A (zh) | 一种Kubernetes容器共享GPU方法及系统 | |
CN112799588A (zh) | 使用外部存储加载容器集群应用数据时的数据存储方法 | |
CN104517067A (zh) | 访问数据的方法、装置及系统 | |
CN112181049B (zh) | 集群时间同步方法、装置、系统、设备及可读存储介质 | |
CN107623705B (zh) | 基于视频云存储系统的存储模式升级方法、装置和系统 | |
CN116644453A (zh) | 一种文档系统的权限管理方法、装置及设备 | |
CN114880717A (zh) | 数据归档方法及装置 | |
CN104717248A (zh) | 文件网络共享方法、服务器及终端 | |
CN103618672A (zh) | 一种基于分布式数据中心的路由发布方法和设备 | |
CN110704249A (zh) | 一种保证应用一致性的方法、装置及系统 | |
CN116010111B (zh) | 一种跨集群资源调度方法、系统及终端设备 | |
CN105389368A (zh) | 一种mpp架构数据库集群元数据管理方法 | |
CN111124428A (zh) | 一种基于中创中间件的应用自动化发布方法和相关装置 | |
CN110362386A (zh) | 网卡处理方法、装置、电子设备和存储介质 | |
CN109791541A (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 |