CN109460251A - 构件集成框架管理方法和装置 - Google Patents

构件集成框架管理方法和装置 Download PDF

Info

Publication number
CN109460251A
CN109460251A CN201811018364.7A CN201811018364A CN109460251A CN 109460251 A CN109460251 A CN 109460251A CN 201811018364 A CN201811018364 A CN 201811018364A CN 109460251 A CN109460251 A CN 109460251A
Authority
CN
China
Prior art keywords
component
integrated framework
name
local profile
number information
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
Application number
CN201811018364.7A
Other languages
English (en)
Other versions
CN109460251B (zh
Inventor
王啸原
杨大生
李洋
钟逸
曹子钰
邓晖
江雪
邵晨龙
刘佳
陈涛
杨帆
许林
宁达
杨婧
刘晓俐
曾文艺
周浩宇
冯曼琳
张慧
姚敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute)
722th Research Institute of CSIC
Original Assignee
Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute)
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute) filed Critical Wuhan Institute Of Ship Communication (china Shipbuilding Industry Corp No 722 Institute)
Priority to CN201811018364.7A priority Critical patent/CN109460251B/zh
Publication of CN109460251A publication Critical patent/CN109460251A/zh
Application granted granted Critical
Publication of CN109460251B publication Critical patent/CN109460251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种构件集成框架管理方法和装置,属于集成框架技术领域。该方法包括:周期性地检测本地配置文件,获取本地配置文件中的构件名称与版本号信息;获取集成框架运行的构件的构件名称与版本号信息;当第一构件的名称存在于本地配置文件中,但不存在于集成框架运行的构件的构件名称中时,加载第一构件;当第二构件的名称存在于集成框架运行的构件的构件名称中,但不存在于本地配置文件时,销毁第二构件;当第三构件的名称同时存在于本地配置文件和集成框架运行的构件的构件名称中,但本地配置文件中的第三构件和集成框架运行的构件中的第三构件的版本号信息不同时,销毁集成框架运行的构件中的第三构件,并加载本地配置文件中的第三构件。

Description

构件集成框架管理方法和装置
技术领域
本发明涉及集成框架技术领域,特别涉及一种构件集成框架管理方法和装置。
背景技术
构件是一个具有独立能力的、可替换的软件部件,它在一个良好定义的体系结构语境下完成一定功能。
集成框架是一种软件架构,集成框架提供对于相似问题的一种统一的解决方案,集成框架的最终目标是能够动态地组装构件,实现构件的“即插即用”。
现有的构件集成框架(基于构件的集成框架)往往是“配置文件+冷启动”的方式,通过配置文件定义本次需要启动的构件,当需要启动的构件改变时则需要通过更改配置再重启框架的方式来完成,不能满足对于集成框架的实时性要求。
发明内容
本发明实施例提供了一种构件集成框架管理方法和装置,能够提高集成框架的实时性。所述技术方案如下:
第一方面,本发明实施例提供了一种构件集成框架管理方法,所述方法包括:
周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息;
获取集成框架运行的构件的构件名称与版本号信息;
比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同;
当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,加载所述第一构件;
当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,销毁所述第二构件;
当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
在本发明实施例的一种实现方式中,所述周期性地检测本地配置文件,包括:
通过定时线程读取所述本地配置文件中的构件名称与版本号信息。
在本发明实施例的一种实现方式中,所述加载所述第一构件,包括:
以动态库加载的方式运行所述第一构件中的CreateModel函数,获取所述第一构件中create函数的运行指针;
通过运行create函数实现所述第一构件的创建。
在本发明实施例的一种实现方式中,所述销毁所述第二构件,包括:
以动态库加载的方式运行所述第二构件中的CreateModel函数,获取所述第二构件中destroy函数的运行指针;
通过运行destroy函数实现所述第二构件的销毁。
在本发明实施例的一种实现方式中,所述方法还包括:
周期性地检测本地构件文件,获取所述本地构件文件的构件名称信息;
获取所述集成框架运行的构件的心跳信息;
当获取的所述构件名称信息中的第四构件的名称不存在对应的心跳信息,或所述心跳信息指示所述第四构件故障时,先销毁所述第四构件,再重新加载所述第四构件。
第二方面,本发明实施例提供了一种构件集成框架管理装置,所述装置包括:
检测模块,用于周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息;
获取模块,用于获取集成框架运行的构件的构件名称与版本号信息;
比较模块,用于比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同;
处理模块,用于当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,加载所述第一构件;
当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,销毁所述第二构件;
当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
在本发明实施例的一种实现方式中,所述检测模块,用于通过定时线程读取所述本地配置文件中的构件名称与版本号信息。
在本发明实施例的一种实现方式中,所述处理模块,用于以动态库加载的方式运行所述第一构件中的CreateModel函数,获取所述第一构件中create函数的运行指针;
通过运行create函数实现所述第一构件的创建。
在本发明实施例的一种实现方式中,所述处理模块,用于以动态库加载的方式运行所述第二构件中的CreateModel函数,获取所述第二构件中destroy函数的运行指针;
通过运行destroy函数实现所述第二构件的销毁。
在本发明实施例的一种实现方式中,所述检测模块,还用于周期性地检测本地构件文件,获取所述本地构件文件的构件名称信息;
所述获取模块,还用于获取所述集成框架运行的构件的心跳信息;
所述处理模块,还用于当获取的所述构件名称信息中的第四构件的名称不存在对应的心跳信息,或所述心跳信息指示所述第四构件故障时,先销毁所述第四构件,再重新加载所述第四构件。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例通过获取本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息,来确定本地配置文件定义的需要启动的构件是否改变,当需要启动的构件改变时,自动进行构件的启动、销毁或者更新,无需重启构件集成框架,节省了改变构件配置的时间,能够满足对于集成框架的实时性要求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种构件集成框架管理方法的流程图;
图2是本发明实施例提供的一种构件集成框架管理方法的流程图;
图3是本发明实施例提供的一种构件集成框架管理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种构件集成框架管理方法的流程图。参见图1,该方法包括:
步骤101:周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息。
其中,本地配置文件包括集成框架本次启动所要运行的构件名称与版本号信息,在终端设备中,本地配置文件为一个指定的文件,例如applicationcontext.xml,其存放在固定位置,从而便于终端设备进行读取。集成框架是终端设备中的一种软件架构,集成框架以及构件均运行在终端设备中,故本申请提供的构件集成框架管理方法由终端设备执行,该终端设备可以是个人计算机、服务器、移动终端等。
在集成框架中,构件包括功能构件和业务构件,一些不涉及具体业务的功能所组成的构件称为功能构件,例如具有定时功能、构件版本通知、构件心跳、构件流量、用户数据报协议(User Datagram Protocol,UDP)、文件传输协议(FileTransfer Protocol,FTP)、串口报文收发等功能的构件,具体的消息中间件也可以称为功能构件。而业务构件则涉及具体的业务功能,如设备监测构件、设备控制构件等。
步骤102:获取集成框架运行的构件的构件名称与版本号信息。
其中,集成框架运行的构件的构件名称与版本号信息可以通过集成框架获取到。
步骤103:比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同。
比较本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否完全一致,如果存在不同之处,则按照步骤104的方式进行自动化的启动、销毁或者更新。如果二者完全相同,则不执行步骤104,周期性地执行步骤101和102。
步骤104:当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,加载所述第一构件;当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,销毁所述第二构件;当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
本发明实施例通过获取本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息,来确定本地配置文件定义的需要启动的构件是否改变,当需要启动的构件改变时,自动进行构件的启动、销毁或者更新,无需重启构件集成框架,节省了改变构件配置的时间,能够满足对于集成框架的实时性要求。
图2是本发明实施例提供的一种构件集成框架管理方法的流程图。参见图2,该方法包括:
步骤201:周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息。
其中,本地配置文件包括集成框架本次启动所要运行的构件名称与版本号信息,在终端设备中,本地配置文件为一个指定的文件,例如applicationcontext.xml,其存放在固定位置,从而便于终端设备进行读取。集成框架是终端设备中的一种软件架构,集成框架以及构件均运行在终端设备中,故本申请提供的构件集成框架管理方法由终端设备执行,该终端设备可以是个人计算机、服务器、移动终端等。
在集成框架中,构件包括功能构件和业务构件,一些不涉及具体业务的功能所组成的构件称为功能构件,例如具有定时功能、构件版本通知、构件心跳、构件流量、UDP、FTP、串口报文收发等功能的构件,具体的消息中间件也可以称为功能构件。而业务构件则涉及具体的业务功能,如设备监测构件、设备控制构件等。
在本发明实施例中,所述周期性地检测本地配置文件,包括:
通过定时线程读取所述本地配置文件中的构件名称与版本号信息。
在本发明实施例中,检测周期性可以为10~30S,具体可以根据构件的多少来确定。例如,集成框架运行的构件为20多个,则可以设置为10s一次循环;集成框架运行的构件为100多个,循环时间为30s。
步骤202:获取集成框架运行的构件的构件名称与版本号信息。
其中,集成框架运行的构件的构件名称与版本号信息可以通过集成框架获取到。
在本发明实施例中,所述获取集成框架运行的构件的构件名称与版本号信息,包括:
通过定时线程读取集成框架运行的构件的构件名称与版本号信息。
在本发明实施例中,步骤201和步骤202可以采用同一个定时线程完成。
在构件运行时会定时向集成框架告知当前运行版本及运行状态,因此,步骤202中,只需要定时向集成框架读取构件名称与版本号信息即可。
步骤203:比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同。当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,执行步骤204;当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,执行步骤205;当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,执行步骤206。
比较本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否完全一致,如果存在不同之处,则按照步骤204~206的方式进行自动化的启动、销毁或者更新。如果二者完全相同,则不执行步骤204~206,周期性地执行步骤201和202。
步骤204:加载所述第一构件。
在本发明实施例的一种实现方式中,所述加载所述第一构件,包括:
以动态库加载的方式运行所述第一构件中的CreateModel函数,获取所述第一构件中create函数的运行指针;通过运行create函数实现所述第一构件的创建。
在本发明实施例中,各个构件作以动态库加载的方式运行,某个动态库出问题时,不会影响整个构件集成框架的运行,避免一般框架(如java中的spring框架)下,单个进程故障,影响整个构件集成框架的运行的问题。
本发明实施例提供了一种自动化的构件集成框架,采用面向对象中虚函数机制实现对构件启动与销毁的控制,从而实现构件的启动、销毁、更新的自动化。
其中,集成框架中的构件实现类基于一个基类,该基类包括init(初始化)、create(创建)、destroy(销毁)、rcvClass(消息接受)和CreateModel(该函数的主要作用为返回运行指针)等函数,这些函数除了CreateModel函数外,其他的函数在构件的实现中都是以虚函数的形式存在的,集成框架在调用构件时可以通过由CreateModel所返回的指针直接调用init、create、destroy、rcvClass等函数以实现具体的业务功能,此外rcvClass还具有消息触发实现构件间通信以实现多个构件来完成一个功能的需求。
其中,CreateModel为暴露在外的函数,其输入参数为构件名称与基础构件类指针,返回值为功能构件类指针,其中CreateModel函数的输入参数和返回值是程序中写定的。终端设备通过以动态库的方式运行所述第一构件中的CreateModel函数,即可得到第一构件中的函数的运行指针。因为每个构件存在的表现形式为动态库,集成框架在运行时也是根据本地配置文件去识别并加载这些动态库的,加载了该动态库后,即可通过暴露在外的CreateModel函数得到上述虚函数的运行指针,从而通过该运行指针来调用构件内部的init、create、destroy等函数。
步骤205:销毁所述第二构件。
在本发明实施例的一种实现方式中,所述销毁所述第二构件,包括:
以动态库加载的方式运行所述第二构件中的CreateModel函数,获取所述第二构件中destroy函数的运行指针;通过运行destroy函数实现所述第二构件的销毁。
步骤206:销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
其中,销毁第三构件的具体实现方式与步骤205相同,加载第三构件的具体实现方式与步骤204相同。
步骤207:周期性地检测本地构件文件,获取所述本地构件文件的构件名称信息。
在本发明实施例中,所述周期性地检测本地构件文件,包括:
通过定时线程读取本地构件文件,获取所述本地构件文件的构件名称信息。本地构件文件存放在固定位置,从而便于终端设备进行检测。
在本发明实施例中,检测周期性可以为10~30S,具体可以根据构件的多少来确定。例如,集成框架运行的构件为20多个,则可以设置为10s一次循环;集成框架运行的构件为100多个,循环时间为30s。
步骤208:获取所述集成框架运行的构件的心跳信息。当获取的所述构件名称信息中的第四构件的名称不存在对应的心跳信息,或所述心跳信息指示所述第四构件故障时,执行步骤209。当心跳信息指示第四构件运行正常时,不执行步骤209,周期性地执行步骤207和208。
其中,心跳信息用于传递构件的运行状态,当不存在某个构件的心跳信息时,说明该构件发生故障。
在本发明实施例中,所述获取所述集成框架运行的构件的心跳信息,包括:
通过定时线程获取集成框架运行的构件的心跳信息。这里读取心跳信息可以持续一段时间,避免遗漏。
具体地,由于构件在传输消息时需要通过消息中间件来完成,因此,该步骤可以包括:通过定时线程从消息中间件获取各个构件发出的心跳消息。
在本发明实施例中,步骤207和步骤208可以采用同一个定时线程完成。
步骤209:先销毁所述第四构件,再重新加载所述第四构件。
其中,步骤209的具体实现方式与步骤204相同。
在本发明实施例中,如果构件运行故障,此时优先通过步骤209的方式重启该构件。
如果多次重启该构件无效,则产生故障信息,从而便于工作人员进行维护。
其中,上述第一构件、第二构件、第三构件和第四构件均可以为任一构件。
在本发明实施例中,步骤207~步骤209与步骤201~步骤206之间没有先后顺序。
图3是本发明实施例提供的一种构件集成框架管理装置的结构示意图。参见图3,该装置包括:检测模块301、获取模块302、比较模块303和处理模块304。
其中,检测模块301用于周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息。获取模块302用于获取集成框架运行的构件的构件名称与版本号信息。比较模块303用于比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同。处理模块304用于当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,加载所述第一构件;当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,销毁所述第二构件;当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
在本发明实施例的一种实现方式中,所述检测模块301,用于通过定时线程读取所述本地配置文件中的构件名称与版本号信息。
在本发明实施例的一种实现方式中,所述处理模块304,用于以动态库加载的方式运行所述第一构件中的CreateModel函数,获取所述第一构件中create函数的运行指针。通过运行create函数实现所述第一构件的创建。
在本发明实施例的一种实现方式中,所述处理模块304,用于以动态库加载的方式运行所述第二构件中的CreateModel函数,获取所述第二构件中destroy函数的运行指针。通过运行destroy函数实现所述第二构件的销毁。
在本发明实施例的一种实现方式中,所述检测模块301,还用于周期性地检测本地构件文件,获取所述本地构件文件的构件名称信息。所述获取模块302,还用于获取所述集成框架运行的构件的心跳信息。所述处理模块304,还用于当获取的所述构件名称信息中的第四构件的名称不存在对应的心跳信息,或所述心跳信息指示所述第四构件故障时,先销毁所述第四构件,再重新加载所述第四构件。
需要说明的是:上述实施例提供的构件集成框架管理装置在管理集成框架的构件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的构件集成框架管理装置与构件集成框架管理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种构件集成框架管理方法,其特征在于,所述方法包括:
周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息;
获取集成框架运行的构件的构件名称与版本号信息;
比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同;
当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,加载所述第一构件;
当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,销毁所述第二构件;
当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
2.根据权利要求1所述的方法,其特征在于,所述周期性地检测本地配置文件,包括:
通过定时线程读取所述本地配置文件中的构件名称与版本号信息。
3.根据权利要求1或2所述的方法,其特征在于,所述加载所述第一构件,包括:
以动态库加载的方式运行所述第一构件中的CreateModel函数,获取所述第一构件中create函数的运行指针;
通过运行create函数实现所述第一构件的创建。
4.根据权利要求1或2所述的方法,其特征在于,所述销毁所述第二构件,包括:
以动态库加载的方式运行所述第二构件中的CreateModel函数,获取所述第二构件中destroy函数的运行指针;
通过运行destroy函数实现所述第二构件的销毁。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
周期性地检测本地构件文件,获取所述本地构件文件的构件名称信息;
获取所述集成框架运行的构件的心跳信息;
当获取的所述构件名称信息中的第四构件的名称不存在对应的心跳信息,或所述心跳信息指示所述第四构件故障时,先销毁所述第四构件,再重新加载所述第四构件。
6.一种构件集成框架管理装置,其特征在于,所述装置包括:
检测模块,用于周期性地检测本地配置文件,获取所述本地配置文件中的构件名称与版本号信息;
获取模块,用于获取集成框架运行的构件的构件名称与版本号信息;
比较模块,用于比较所述本地配置文件中的构件名称与版本号信息与所述集成框架运行的构件的构件名称与版本号信息是否相同;
处理模块,用于当第一构件的名称存在于所述本地配置文件中,但不存在于所述集成框架运行的构件的构件名称中时,加载所述第一构件;
当第二构件的名称存在于所述集成框架运行的构件的构件名称中,但不存在于所述本地配置文件时,销毁所述第二构件;
当第三构件的名称同时存在于所述本地配置文件和所述集成框架运行的构件的构件名称中,但所述本地配置文件中的第三构件和所述集成框架运行的构件中的第三构件的版本号信息不同时,销毁所述集成框架运行的构件中的第三构件,并加载所述本地配置文件中记载的版本号信息对应的第三构件。
7.根据权利要求6所述的装置,其特征在于,所述检测模块,用于通过定时线程读取所述本地配置文件中的构件名称与版本号信息。
8.根据权利要求6或7所述的装置,其特征在于,所述处理模块,用于以动态库加载的方式运行所述第一构件中的CreateModel函数,获取所述第一构件中create函数的运行指针;
通过运行create函数实现所述第一构件的创建。
9.根据权利要求6或7所述的装置,其特征在于,所述处理模块,用于以动态库加载的方式运行所述第二构件中的CreateModel函数,获取所述第二构件中destroy函数的运行指针;
通过运行destroy函数实现所述第二构件的销毁。
10.根据权利要求6或7所述的装置,其特征在于,所述检测模块,还用于周期性地检测本地构件文件,获取所述本地构件文件的构件名称信息;
所述获取模块,还用于获取所述集成框架运行的构件的心跳信息;
所述处理模块,还用于当获取的所述构件名称信息中的第四构件的名称不存在对应的心跳信息,或所述心跳信息指示所述第四构件故障时,先销毁所述第四构件,再重新加载所述第四构件。
CN201811018364.7A 2018-09-03 2018-09-03 构件集成框架管理方法和装置 Active CN109460251B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811018364.7A CN109460251B (zh) 2018-09-03 2018-09-03 构件集成框架管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811018364.7A CN109460251B (zh) 2018-09-03 2018-09-03 构件集成框架管理方法和装置

Publications (2)

Publication Number Publication Date
CN109460251A true CN109460251A (zh) 2019-03-12
CN109460251B CN109460251B (zh) 2022-04-01

Family

ID=65606460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811018364.7A Active CN109460251B (zh) 2018-09-03 2018-09-03 构件集成框架管理方法和装置

Country Status (1)

Country Link
CN (1) CN109460251B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230076276A1 (en) * 2021-09-06 2023-03-09 Jpmorgan Chase Bank, N.A. Data configuration deployment framework

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104137065A (zh) * 2011-11-28 2014-11-05 韦斯技术有限公司 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动
CN104468189A (zh) * 2014-10-31 2015-03-25 重庆蓝岸通讯技术有限公司 一种针对不同客户版本自动升级bios的方法
CN107733974A (zh) * 2017-08-29 2018-02-23 晶晨半导体(上海)股份有限公司 一种移动终端的升级方法
US20180095739A1 (en) * 2016-09-30 2018-04-05 International Business Machines Corporation Secure deployment of applications in a cloud computing platform
CN108108181A (zh) * 2017-12-14 2018-06-01 深圳市雷鸟信息科技有限公司 应用程序的功能更新方法、装置及计算机可读存储介质
CN108170488A (zh) * 2016-12-07 2018-06-15 杭州海康威视数字技术股份有限公司 一种升级插件的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104137065A (zh) * 2011-11-28 2014-11-05 韦斯技术有限公司 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动
CN104468189A (zh) * 2014-10-31 2015-03-25 重庆蓝岸通讯技术有限公司 一种针对不同客户版本自动升级bios的方法
US20180095739A1 (en) * 2016-09-30 2018-04-05 International Business Machines Corporation Secure deployment of applications in a cloud computing platform
CN108170488A (zh) * 2016-12-07 2018-06-15 杭州海康威视数字技术股份有限公司 一种升级插件的方法及装置
CN107733974A (zh) * 2017-08-29 2018-02-23 晶晨半导体(上海)股份有限公司 一种移动终端的升级方法
CN108108181A (zh) * 2017-12-14 2018-06-01 深圳市雷鸟信息科技有限公司 应用程序的功能更新方法、装置及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230076276A1 (en) * 2021-09-06 2023-03-09 Jpmorgan Chase Bank, N.A. Data configuration deployment framework
US11789712B2 (en) * 2021-09-06 2023-10-17 Jpmorgan Chase Bank, N.A. Data configuration deployment framework

Also Published As

Publication number Publication date
CN109460251B (zh) 2022-04-01

Similar Documents

Publication Publication Date Title
US7788540B2 (en) Tracking down elusive intermittent failures
US9632919B2 (en) Request change tracker
CN108712457B (zh) 基于Nginx反向代理的后端服务器动态负载调整方法及装置
US9124669B2 (en) Cooperative client and server logging
US10146653B2 (en) Automated system-level failure and recovery
CN109788068B (zh) 心跳状态信息上报方法、装置和设备及计算机存储介质
US20110161383A1 (en) Message based mobile object with native pim integration
CN110580235B (zh) 一种sas扩展器通信方法及装置
CN109086079A (zh) 一种存储设备挂载管理方法及装置
CN114363144B (zh) 一种面向分布式系统的故障信息关联上报方法及相关设备
Chen et al. CoFI: Consistency-guided fault injection for cloud systems
CN107783844A (zh) 一种计算机程序运行异常检测方法、装置和介质
US20050066017A1 (en) Deterministically electing an active node
CN112540808B (zh) 一种程序行为层级调用关系的记录方法及相关设备
CN107920131A (zh) 一种hdfs存储系统的元数据管理方法及装置
CN109460251A (zh) 构件集成框架管理方法和装置
Gao A General Logging Service for Symbian based Mobile Phones
CN110764962A (zh) 日志处理方法和装置
US9489179B2 (en) Application programming interface tracing mechanism
CN108804579A (zh) 应用服务系统及数据一致性控制方法
US11307920B2 (en) Automated crash recovery
CN103180832B (zh) 计算机系统和数据处理方法
CN111475272A (zh) 控制Java Web应用定时任务的方法、装置及任务调度平台
US10419306B2 (en) Determining the causation of events across multiple nodes using message properties
CN110908644A (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
GR01 Patent grant
GR01 Patent grant