CN109286643A - 读取一个应用实例的配置参数的方法和装置 - Google Patents
读取一个应用实例的配置参数的方法和装置 Download PDFInfo
- Publication number
- CN109286643A CN109286643A CN201710596484.4A CN201710596484A CN109286643A CN 109286643 A CN109286643 A CN 109286643A CN 201710596484 A CN201710596484 A CN 201710596484A CN 109286643 A CN109286643 A CN 109286643A
- Authority
- CN
- China
- Prior art keywords
- configuration parameter
- local cache
- application example
- value
- configuration
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供读取一个应用实例的配置参数的方法和装置,用以降低现有技术中分布式动态配置工具的处理负荷,以及提高云平台的运行性能。该方法包括:确定一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的第一配置参数的取值不同,其中应用实例运行在一个云平台上,本地缓存位于云平台上且为应用实例配置;将本地缓存中存储的第一配置参数的取值设置为分布式动态配置工具中存储的第一配置参数的取值;在应用实例需要读取第一配置参数时,从本地缓存中读取第一配置参数。
Description
技术领域
本发明涉及云计算应用技术领域,尤其涉及读取一个应用实例的配置参数的方法和装置。
背景技术
一个云平台如Cloud Foundry可以通过部署的应用实例为用户提供服务。目前,部署在云平台上的所有应用实例的配置参数均存储在一个分布式动态配置工具中,因此在云平台上,若需要获取该应用实例的配置参数,则要需要从分布式动态配置工具中进行读取。具体的,当一个云平台上多个应用实例需要获取配置参数时,则需要分别从分布式动态配置工具中读取相应的配置参数。
由于云平台上可能会部署大量的应用实例来满足不同用户的需求,当大量应用实例在同一时间段均需要从分布式动态配置工具中读取相应的配置参数时,容易导致分布式动态配置工具的处理负荷较大,响应速度较慢,有可能会影响云平台的运行性能。
发明内容
有鉴于此,本发明实施例提供的读取一个应用实例的配置参数的方法和装置,用以降低现有技术中分布式动态配置工具的处理负荷,保证云平台的运行性能。
第一方面,本发明实施例读取一个应用实例的配置参数的方法,该方法包括:
本地缓存管理器确定一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,其中,所述应用实例运行在一个云平台上,所述本地缓存位于所述云平台上且为所述应用实例配置;
所述本地缓存管理器将所述本地缓存中存储的所述第一配置参数的取值设置为所述分布式动态配置工具中存储的所述第一配置参数的取值;
所述本地缓存管理器在所述应用实例需要读取所述第一配置参数时,从所述本地缓存中读取所述第一配置参数。
通过上述方法,在应用实例需要获取第一配置参数时,本地缓存管理器能够从为该应用实例配置的本地缓存中获取,从而与现有技术相比,在一定程度上减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷,有助于提高响应的速度,进而提高云平台的运行性能,此外,由于在分布式动态配置工具中的第一配置参数的取值发生变化时,本地缓存管理器能够将本地缓存中存储的第一配置参数的取值设置为分布式动态配置工具中存储的第一配置参数的取值,有助于提高读取的第一配置参数的准确性,有助于应用实例的正常运行。
可选的,所述本地缓存管理器确定为一个所述本地缓存中存储的一个所述第一配置参数的取值与一个所述分布式动态配置工具中存储的所述第一配置参数的取值不同,包括:
所述本地缓存管理器根据接收到的来自所述分布式动态配置工具的通知消息,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同;或者,
所述本地缓存管理器通过监测所述分布式动态配置工具中存储的第一配置参数的取值,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同。
通过上述方法,有助于简化本地缓存管理器确定本地缓存中存储的第一配置参数的取值与分布式动态配置工具中存储的第一配置参数的取值不同的实现方式。
可选的,所述本地缓存管理器在所述应用实例需要读取一个第二配置参数时,若所述本地缓存中未存储所述第二配置参数,则从所述分布式动态配置工具中读取所述第二配置参数,并将所述第二配置参数存储到所述本地缓存中。
通过上述方法,有助于应用实例在下次需要读取第二配置参数时,本地缓存管理器能够直接从本地缓存中读取第二配置参数,无需再次从分布式动态配置工具中读取第二配置参数,进一步减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷。
可选的,本地缓存管理器将所述第二配置参数存储到所述本地缓存中,包括:
本地缓存管理器在所述本地缓存中存储的配置参数的总个数大于或等于一个第一预设阈值的情况下,删除所述本地缓存中存储的至少一个第三配置参数,并将所述第二配置参数存储到所述本地缓存中,其中,每一个所述第三配置参数被读取的次数均小于或者等于一个第二预设阈值;或者,
所述本地缓存管理器在所述本地缓存中存储的配置参数的总个数大于或者等于一个第三预设阈值的情况下,删除所述本地缓存中存储的至少一个第四配置参数,并将所述第二配置参数存储到所述本地缓存中,其中,在所述本地缓存中存储的配置参数被读取的次数按照从大到小的顺序排列时,所述至少一个所述第四配置参数被读取的次数排列在后N位,所述N为正整数。
通过上述方法,在本地缓存中存储的配置参数的总个数较多时,删除读取的次数小于第二预设阈值的至少一个配置参数,或者删除读取的次数排列在后N位的至少一个配置参数,有助于减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷。
第二方面,本发明实施例提供了发送通知消息的方法,所述方法包括:
分布式动态配置工具监测自身存储的一个应用实例的一个配置参数的取值,所述配置参数还存储在一个本地缓存中,所述本地缓存位于所述云平台上且为所述应用实例配置,所述应用实例运行在一个云平台上;
所述分布式动态配置工具若监测到所述配置参数的取值发生变化,则向所述应用实例的本地缓存管理器发送通知消息,其中所述本地缓存管理器用于在所述应用实例需要读取所述配置参数时从所述本地缓存中读取所述配置参数。
通过上述方法,能够实现本地缓存中配置参数取值的更新,有助于提高应用实例读取的配置参数的准确性。
第三方面,本发明实施例提供了读取一个应用实例的配置参数的装置,所述装置包括:参数更新模块和参数读取模块,其中参数更新模块,用于确定一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,并将所述本地缓存中存储的所述第一配置参数的取值设置为所述分布式动态配置工具中存储的所述第一配置参数的取值,其中所述应用实例运行在一个云平台上,所述本地缓存位于所述云平台上且为所述应用实例配置;参数读取模块,用于在所述应用实例需要读取所述第一配置参数时,从所述本地缓存中读取所述第一配置参数。
这样,该装置在应用实例需要获取第一配置参数时,能够从为该应用实例配置的本地缓存中获取,从而与现有技术相比,在一定程度上减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷,有助于提高云平台运行的稳定性,此外,由于在分布式动态配置工具中的第一配置参数的取值发生变化时,本地缓存管理器能够将本地缓存中存储的第一配置参数的取值设置为分布式动态配置工具中的第一配置参数的取值,有助于提高读取的第一配置参数的准确性,有助于应用实例的正常运行。
可选的,所述参数更新模块,用于确定为一个所述应用实例配置的一个所述本地缓存中存储的一个所述第一配置参数的取值与一个所述分布式动态配置工具中存储的所述第一配置参数的取值不同,具体包括:
所述参数更新模块,用于根据接收到的来自所述分布式动态配置工具的通知消息,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同;或者,
所述参数更新模块,用于通过监测所述分布式动态配置工具中存储的第一配置参数的取值,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同。
这样,有助于简化该装置确定本地缓存中存储的第一配置参数的取值与分布式动态配置工具中的第一配置参数的取值不同的实现方式。
可选的,所述参数读取模块还用于:在所述应用实例需要读取一个第二配置参数时,若所述本地缓存中未存储所述第二配置参数,则从所述分布式动态配置工具中读取所述第二配置参数,并将所述第二配置参数存储到所述本地缓存中。
这样,有助于该装置在下次需要读取第二配置参数时,能够直接从本地缓存中读取第二配置参数,无需再次从分布式动态配置工具中读取第二配置参数,进一步减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷。
可选的,所述参数读取模块,用于将所述第二配置参数存储到所述本地缓存中,具体包括:
所述参数读取模块,用于在所述本地缓存中存储的配置参数的总个数大于或等于一个第一预设阈值的情况下,删除所述本地缓存中存储的至少一个第三配置参数,并将所述第二配置参数存储到所述本地缓存中,每一个所述第三配置参数被读取的次数均小于或者等于第二预设阈值;或者,
所述参数读取模块,用于在所述本地缓存中存户的配置参数的总个数大于或者等于一个第三预设阈值的情况下,则删除所述本地缓存中存储的至少一个第四配置参数,并将所述第二配置参数存储到所述本地缓存中,其中,在所述本地缓存中存储的配置参数被读取的次数按照从大到小的顺序排列时,所述至少一个所述第四配置参数被读取的次数排列在后N位,所述N为正整数。
这样,该装置在本地缓存中存储的配置参数的总个数较多时,删除读取的次数小于第二预设阈值的至少一个配置参数,或者删除读取的次数排列在后N位的至少一个配置参数,有助于减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷。
第四方面,本发明实施例提供了读取一个应用实例的配置参数的装置,所述装置包括:至少一个第一存储器和至少一个第一处理器,其中,至少一个第一存储器,用于存储读取一个应用实例的配置参数的程序;至少一个第一处理器,用于调用所述至少一个存储器中存储的所述读取一个应用实例的配置参数的程序以执行第一方面或第一方面中的任一种可选的实现方式提供的方法。
第五方面,本发明实施例提供了一种存储介质,所述存储介质上存储有程序,所述程序在被处理器调用时,使所述处理器可以执行第一方面或第一方面中的任一种可选的实现方式提供的方法。
第六方面,本发明实施例提供了一种发送通知消息的装置,所述装置包括:
参数监测模块,用于监测自身存储的一个应用实例的一个配置参数的取值,并在监测到所述配置参数的取值发生变化后,触发消息发送模块,所述配置参数还存储在一个本地缓存中,所述本地缓存位于所述云平台上且为所述应用实例配置,所述应用实例运行在一个云平台上;
所述消息发送模块,用于向所述应用实例的本地缓存管理器发送通知消息,其中所述本地缓存管理器用于在所述应用实例需要读取所述配置参数时从所述本地缓存中读取所述配置参数。
通过上述方法,能够实现本地缓存中配置参数取值的更新,有助于提高应用实例读取的配置参数的准确性。
第七方面,本发明实施例提供了发送通知消息的装置,所述装置包括:
至少一个第二存储器,用于存储发送通知消息的程序;
至少一个第二处理器,用于调用所述至少一个存储器中存储的所述发送通知消息的程序以执行第二方面所提供的方法。
第八方面,本发明提供了一种存储介质,所述存储介质上存储有程序,所述程序在被处理器调用时,使所述处理器执行第二方面所提供的方法。
本发明实施例提供的技术方案中,本地缓存管理器在应用实例需要获取第一配置参数时,能够从为该应用实例配置的本地缓存中获取第一配置参数,从而与现有技术相比,在一定程度上减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷,有助于提高云平台的运行性能,此外,由于在分布式动态配置工具中的第一配置参数的取值发生变化时,本地缓存管理器能够将本地缓存中存储的第一配置参数的取值设置为分布式动态配置工具中的第一配置参数的取值,有助于提高读取的第一配置参数的准确性,有助于应用实例的正常运行。
附图说明
图1为本发明实施例提供的读取一个应用实例的配置参数的架构示意图;
图2为本发明实施例提供的读取一个应用实例的配置参数的方法的流程示意图;
图3为本发明实施例提供的发送通知消息的方法的流程示意图;
图4为本发明实施例提供的读取一个应用实例的配置参数的架构示意图;
图5为本发明实施例提供的读取一个应用实例的配置参数的方法的流程示意图;
图6为本发明实施例提供的读取一个应用实例的配置参数的装置的结构示意图;
图7为本发明实施例提供的读取一个应用实例的配置参数的装置的结构示意图;
图8为本发明实施例提供的发送通知消息的装置的结构示意图;
图9为本发明实施例提供的发送通知消息的装置的结构示意图。
附图标记列表:
01:云平台 10:应用实例 20:分布式动态配置工具
30:本地缓存 40:服务 50:本地缓存管理器
60:其它服务 70:服务请求 80:IP地址
90:服务名称
200:确定本地缓存和分布式动态存储工具中分别存储的第一配置参数的取值不同
201:设置本地缓存中存储的第一配置参数的取值
202:从本地缓存中读取第一配置参数
300:监测自身存储的第一配置参数 301:发送通知消息
500:启动本地缓存管理器以及申请本地缓存 501:确定需要为用户提供的服务
502:查找服务的IP地址
503:向服务发送服务请求以及服务将获取的数据发送给应用实例
504:将数据反馈到发送服务请求的终端设备的应用
600:读取一个应用实例的配置参数的装置 601:参数更新模块
602:参数读取模块 610:至少一个第一处理器
620:至少一个第一存储器 800:发送通知消息的装置
801:参数监测模块 802:消息发送模块
810:至少一个第二处理器 820:至少一个第二存储器
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚明白,以下参照附图本发明实施例进一步详细说明。其中,后续描述的实施例仅仅是本发明实施例的一部分,而非全部的实施例。
由于部署在一个云平台上的各个应用实例的配置参数均存储在一个分布式动态配置工具中,因此为了简化应用实例读取配置参数的方式,一种实现方式是在应用实例需要获取配置参数时,直接从分布式动态配置工具中读取。然而,由于云平台上可能会部署大量的应用实例来满足不同用户的需求,当大量的应用实例在同一个时间段均需要获取配置参数时,则现有的技术方案容易导致分布式动态配置工具的处理负荷较大,响应速度较慢,有可能会影响云平台的运行性能。
为了解决上述问题,本发明实施例提供读取一个应用实例配置参数的方法和装置,不但有助于提高读取配置参数的准确性,还有助于缓解分布式动态配置工具读取配置参数的处理负荷,从而提高云平台的运行性能。其中,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
在本发明实施例中由于引入了本地缓存,因此在应用实例需要读取第一配置参数时,能够从为该应用实例配置的本地缓存中读取第一配置参数,从而与现有技术相比,在一定程度上减少了从分布动态配置工具中读取配置参数的次数,从而有助于降低分布式动态配置工具的处理负荷,有助于提高云平台的运行性能。此外,由于在分布式动态配置工具中的第一配置参数的取值发生变化时,本地缓存管理器能够将本地缓存中存储的第一配置参数的取值设置为分布式动态配置工具中存储的第一配置参数的取值,因而有助于提高读取的第一配置参数的准确性,有助于应用实例的正常运行,还有助于配置参数的统一管理和维护。
以下对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
云平台,属于云计算服务的范畴,它提供了一个平台,允许开发、运行和管理应用程序,而无需构建和维护复杂的与开发、运行和管理应用程序相关的基础架构,例如CloudFoundry。
分布式动态配置工具,为分布式模式的中央存储,用于存储部署在至少一个云平台上的至少一个应用程序在运行过程中或启动时所需的配置参数。例如ApacheZooKeeper。其中,需要说明的是,本发明实施例中的分布式动态配置工具可以部署在云平台上,也可以不部署在云平台上,对此本发明实施例中不进行限定。
应用程序,为应用实例所运行的程序,例如在云平台上部署了两个相同的应用实例,则这两个应用实例运行的程序是相同的。
配置参数,为应用程序在运行过程中或者启动时所需的参数,包括动态配置参数和静态配置参数,其中静态配置参数在应用实例运行的过程中不发生变化,通常情况下应用实例在启动时读取,例如应用程序的启动配置参数;动态配置参数在应用实例运行的过程中有可能会发生变化,应用实例需要在动态配置参数发生变化后进行读取,例如应用程序的路由映射参数。
需要说明的是,在本发明实施例中,配置参数可以包括服务的互联网协议(Internet Protocol,IP)地址,还可以包括安全参数、性能参数和监控类参数等。对此本发明实施例中不进行限定。
具体的,安全参数用于指示部署在云平台上的应用实例是否能够被客户端所访问,其中客户端为终端设备上的应用,例如部署在云平台上的应用实例在运行过程中根据安全参数判断是否允许客户端访问部署在云平台上的应用实例,其中安全参数可以为终端设备的IP地址、终端设备的操作***类型(如IOS***、安卓***、浏览器等)或者地理位置信息等,若安全参数为白名单,则在客户端的实际信息在白名单中时,则部署在云平台上的应用实例在运行过程中允许客户端访问部署在云平台上的应用实例;若安全参数为黑名单,则在客户端的实际信息在黑名单中时,则部署在云平台上的应用实例在运行过程中不允许客户端访问部署在云平台上的应用实例。性能参数用于衡量部署在云平台上的应用实例的性能的参数,例如每秒钟处理请求的数量、所占用的***资源、所占用的内存、所占用的网络带宽等,部署在云平台上的应用实例可以根据性能参数调整运行过程中占用的***资源以及处理请求的数量等。监控类参数可以为监控指标类型、监控指标频率、监控指标报警阈值及方式等,部署在云平台上的应用实例可以根据监控类参数来动态调整自身日志的输出和报警行为。
本地缓存,用于存储应用实例的配置参数,其中本发明实施例中部署在云平台上的每个应用实例对应一个或多个本地缓存。其中,在本发明实施例中本地缓存可以在应用实例启动时,为应用实例配置,也可以预先为应用实例配置,对此本发明实施例不进行限定。
本地缓存管理器,用于管理本地缓存。例如应用实例在启动时需要申请内存来运行该应用实例,可选的,在应用实例启动时为应用实例配置的方式为:本地缓存管理器从应用实例申请的内存中申请部分内存作为本地缓存。此外,本地缓存管理器可以为应用实例的组成部分,也可以独立于应用实例而存在,当本地缓存管理器独立于应用实例而存在时,在具体实现时可以一个应用实例对应一个本地缓存管理器,也可以多个应用实例共用一个本地缓存管理器。当本地缓存管理器为应用实例的组成部分时,则应用实例在启动时,则触发启动本地缓存管理器,并在应用实例在需要读取配置参数时,则触发本地缓存管理器从本地缓存中读取配置参数;当本地缓存管理器独立于应用实例时,则应用实例在启动时,通过相应的接口启动与该应用实例关联的本地缓存管理器,然后在应用实例在需要读取配置参数时,则触发与该应用实例关联的本地缓存管理器从本地缓存中读取配置参数。
下面以本地缓存管理器为应用实例的组成部分为例进行详细说明,当本地缓存管理器独立于应用实例时与本地缓存管理器为应用实例的组成部分时的实现方式类似,在此不再赘述。
为了更加清晰的描述本发明实施例的技术方案,下面结合图1,对本发明实施例读取应用实例的配置参数进行说明。
如图1所示,应用实例10为部署在云平台01上的应用实例,本地缓存30位于云平台01上且为应用实例10配置,用于存储应用实例10的至少一个配置参数,其中本地缓存管理器50为应用实例10的组成部分,分布式动态配置工具20用于存储部署在云平台01上的至少一个应用实例的配置参数,还可以存储其它云平台上的至少一个应用实例的配置参数,对此本发明实施例对此不进行限定。在云平台01上的应用实例10需要读取第一配置参数时,其中第一配置参数为本地缓存30中存储的至少一个配置参数中的一个配置参数,如图2所示,本发明实施例读取一个应用实例的配置参数的方法,包括:
步骤200,本地缓存管理器50确定一个本地缓存30中存储的一个第一配置参数的取值与分布式动态配置工具20中存储的第一配置参数的取值不同。
步骤201,本地缓存管理器50将本地缓存30中存储的第一配置参数的取值设置为分布式动态配置工具20中第一配置参数的取值。
步骤202,本地缓存管理器50在应用实例10需要读取第一配置参数时,则从本地缓存30中读取第一配置参数。
可选的,在本发明实施例中,提供了两种本地缓存管理器50确定本地缓存30中存储的第一配置参数的取值与分布式动态配置工具20中存储的第一配置参数的取值不同的方式:
方式一:本地缓存管理器50根据接收到的来自分布式动态配置工具20的通知消息,确定本地缓存30中的第一配置参数的取值与分布式动态配置工具20中存储的第一配置参数的取值不同。
在方式一中由分布式动态配置工具20记录存储到本地缓存30中的配置参数,并对发送给本地缓存30的配置参数的取值进行监测,在分布式动态配置工具20自身监测到该配置参数的取值发生变化后,则向本地缓存管理器50发送通知消息。
具体的,如图3所示,本发明实施例中发送通知消息的方法,包括:
步骤300,分布式动态配置工具20监测自身存储的应用实例10的第一配置参数的取值,其中,第一配置参数还存储在本地缓存30中。
步骤301,分布式动态配置工具20若监测到第一配置参数的取值发生变化,则向本地缓存管理器50发送通知消息。
需要说明的是,在本发明实施例中通知消息可以为第一配置参数的取值,可以为本地缓存30中存储的第一配置参数的取值偏移分布式动态存储工具20中存储的第一配置参数的取值的大小,还可以其它特定的指示信息,通知消息为其它特定的指示信息时,本地缓存管理器50可以在接收到该通知消息后,从分布式动态存储工具20中读取第一配置参数,然后本地缓存管理器50根据从分布式动态存储工具20中读取第一配置参数,来将本地缓存30中存储的第一配置参数的取值设置为分布式动态存储工具20中存储的第一配置参数的取值。
此外,在具体实现时,可选的,当分布式动态配置工具20监测到第一配置参数的取值未发生变化的情况下,可以无需向本地缓存管理器50发送通知消息,则本地缓存管理器50在未接收到到通知消息的情况下则确定分布式动态配置工具20中存储的第一配置参数的取值未发生变化。可选的,当分布式动态配置工具20监测到第一配置参数的取值未发生变化的情况下,也可以向本地缓存管理器50发送一个消息,其中该消息不同于与在分布式动态配置工具20监测到第一配置参数的取值未发生变化的情况下发送的通知消息,本地缓存管理器50接收到该消息则确定分布式动态配置工具20中存储的第一配置参数的取值未发生变化。
方式二:本地缓存管理器50通过监测分布式动态配置工具30中存储的第一配置参数的取值,确定本地缓存30中存储的第一配置参数的取值与分布式动态配置工具20中存储的第一配置参数的取值不同。
在方式二中,是本地缓存管理器50来进行监测,在监测到分布式动态配置工具20中的配置参数的取值发生变化时,从分布式动态配置工具20中读取该第一配置参数的取值。具体的,可以通过创建一个***来检测分布式动态配置工具30中存储的第一配置参数的取值。
其中,不管是方式一还是方式二,监测分布式动态配置工具20中的第一配置参数的取值是否发生变化可以每隔预设时长监测一次,其中预设时长可以根据需要进行相应的设定,也可以实时进行监测,在本发明实施例中不进行限定。
此外,在本地缓存30中存储的第一配置参数的取值与分布式动态配置工具20中存储的第一配置参数的取值相同时,应用实例10当需要读取第一配置参数时,可选的,应用实例10直接从本地缓存30中读取第一配置参数,或者,本地缓存管理器50从本地缓存30中读取第一配置参数后,在将读取到的第一配置参数通知给应用实例10。
在本发明实施例中,可选的,本地缓存管理器50在应用实例10需要读取第二配置参数时,若本地缓存30中未存储第二配置参数,则本地缓存管理器50从分布式动态存储工具20中读取第二配置参数,然后将第二配置参数存储到本地缓存30中。
具体的,本地缓存管理器50在从分布式动态存储工具20中读取第二配置参数后,将读取到的第二配置参数通知给应用实例10。
其中,本地缓存管理器50可以按照下列方式将第二配置参数存储到本地缓存30中:
一种可选的方式为:本地缓存管理器50在本地缓存30中存储的配置参数的总个数大于或者等于一个第一预设阈值的情况下,删除本地缓存30中存储的至少一个第三配置参数,然后将第二配置参数存储到本地缓存30中,其中,每个第三配置参数被读取的次数均小于或者等于第二预设阈值,可选的第二预设阈值和第一预设阈值可以根据实际情况进行设定。
例如第一预设阈值可以设置为本地缓存30中最大能够存储的配置参数的总个数,也可以为小于最大能够存储的配置参数的总个数的一个数值,对此本发明实施例不进行限定。
此外,当需要在本地缓存30中存储一个第二配置参数时,可以删除一个第三配置参数,也可以删除多个第三配置参数。
可选的,本地缓存管理器50在本地缓存30中存储的配置参数的总个数小于一个第一预设阈值时,则直接将第二配置参数存储到本地缓存30中。
具体的本发明实施例中可以在本地缓存30中增加存储配置参数被读取的次数的参数,并与配置参数对应存储,可选的,应用实例10每次在读取本地缓存30中存储的一个配置参数后,将该配置参数的被读取的次数加1。
本发明实施例中另一种可选的本地缓存管理器50将第二配置参数存储到本地缓存30中的方式为:
本地缓存管理器50在本地缓存30中存储的配置参数的总个数大于或者等于一个第三预设阈值的情况下,删除本地缓存30中存储的至少一个第四配置参数,并将第二配置参数存储到本地缓存30中,其中在本地缓存30中存储的配置参数被读取的次数按照从大到小的顺序排列时,至少一个第四配置参数被读取的次数排列在后N位,其中N为正整数。
其中,第三预设阈值和N可以根据实际情况进行设定。例如在N取值为1时,第四配置参数被读取的次数为本地缓存30中配置参数被读取的次数最小的。
例如第三预设阈值可以设置为本地缓存30中最大能够存储的配置参数的总个数,也可以为小于最大能够存储的配置参数的总个数的一个数值,对此本发明实施例不进行限定。
此外,当需要在本地缓存30中存储一个第二配置参数时,可以删除一个第四配置参数,也可以删除多个第四配置参数。
可选的,本地缓存管理器50在本地缓存30中存储的配置参数的总个数小于一个第三预设阈值时,则直接将第二配置参数存储到本地缓存30中。
具体的本发明实施例中可以在本地缓存30中增加存储配置参数被读取的次数的参数,并与配置参数对应存储,可选的,应用实例10每次在读取本地缓存30中存储的一个配置参数后,将该配置参数的被读取的次数加1。
需要说明的是,在本发明实施例中在本地缓存30中存储的配置参数被读取的次数还可以按照从小到大的顺序排列,则第四配置参数为被读取的次数排列在前N位的配置参数。
下面结合如图4所示的应用场景对本发明实施例进行详细介绍。
如图4所示,云平台01上部署有应用实例10、服务40以及其它服务60,本地缓存30为应用实例10申请的内存中的部分内存,位于云平台01上、且为应用实例10配置,用于存储至少一个配置参数,其中配置参数可包括应用实例10能够访问的至少一个服务的IP地址,本地缓存管理器50为应用实例10的组成部分,具体的,如图5所示,本发明实施例读取一个应用实例10的配置参数的方法包括:
步骤500,应用实例10在启动时,申请内存,以及启动应用实例10的本地缓存管理器50,然后通过本地缓存管理器50从应用实例10申请的内存中申请部分内存作为本地缓存30,其中应用实例10申请的内存中的另一部分内存用于运行应用实例10。
步骤501,应用实例10在接收到用户通过终端设备上安装的应用所发送的服务请求70后,根据该服务请求70,确定需要为用户提供的服务40,然后触发本地缓存管理器50执行步骤502。
步骤502,本地缓存管理器50根据确定的需要为用户提供的服务40,从本地缓存30中查找服务40的服务名称90对应的IP地址80,若未查找到服务40的IP地址80,则从分布式动态配置工具20中查找服务40的IP地址80,并将服务40的IP地址80存储到本地缓存30中。
步骤503,本地缓存管理器50在查找到服务40的IP地址80后,触发应用实例10向对应IP地址80的服务40发送服务请求,服务40在接收到该服务请求70后,获取与服务请求70对应的数据,并将获取的数据发送给应用实例10。
步骤504,应用实例10在接收到来自服务40发送的数据后,将数据反馈到发送服务请求的终端设备的应用。
具体的本地缓存30中存储的配置参数的取值在分布式动态配置工具20中发生变化时,本地缓存管理器50确定本地缓存30中存储的配置参数的取值与分布式动态配置工具20中存储的配置参数的取值不同的方式与图2中读取一个应用实例的配置参数的方法中的本地缓存管理器50确定方式类似,在此不再赘述。
具体的,本地缓存管理器50若未查找到服务40的IP地址,则从分布式动态配置工具20中查找服务40的IP地址,并将服务40的IP地址存储到本地缓存30中,其本地缓存管理器50将服务40的IP地址存储到本地缓存30中的实现方式与将第二配置参数存储到本地缓存30中的实现方式类似,在此不再赘述。
基于以上实施例,用于执行上述方法的装置一种可选的实现方式可以参阅图6所示。该读取一个应用实例的配置参数的装置600可以包括:参数更新模块601和参数读取模块602。具体的,参数更新模块601,用于确定一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,并将所述本地缓存中存储的所述第一配置参数的取值设置为所述分布式动态配置工具中存储的所述第一配置参数的取值,其中所述应用实例运行在一个云平台上,所述本地缓存位于所述云平台上且为所述应用实例配置;参数读取模块602,用于在所述应用实例需要读取所述第一配置参数时,从所述本地缓存中读取所述第一配置参数。
可选的,参数更新模块601,用于根据接收到的来自所述分布式动态配置工具的通知消息,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同;或者,
参数更新模块601,用于通过监测所述分布式动态配置工具中存储的第一配置参数的取值,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同。
可选的,参数读取模块602还用于:在所述应用实例需要读取一个第二配置参数时,若所述本地缓存中未存储所述第二配置参数,则从所述分布式动态配置工具中读取所述第二配置参数,并将所述第二配置参数存储到所述本地缓存中。
可选的,参数读取模块602,用于在所述本地缓存中存储的配置参数的总个数大于或等于一个第一预设阈值的情况下,删除所述本地缓存中存储的至少一个第三配置参数,并将所述第二配置参数存储到所述本地缓存中,每个所述第三配置参数被读取的次数均小于或者等于第二预设阈值;或者,
参数读取模块602,用于在所述本地缓存中存储的配置参数的总个数大于或者等于一个第三预设阈值的情况下,删除所述本地缓存中存储的至少一个第四配置参数,并将所述第二配置参数存储到所述本地缓存中,其中在所述本地缓存中存储的配置参数被读取的次数按照从大到小的顺序排列时,至少一个所述第四配置参数被读取的次数排列在后N位,所述N为正整数。
需要说明的是,在本发明实施例中该读取一个应用实例的配置参数的装置600可以称之为本地缓存管理器50,还可以称之为其它名称,对此本发明实施例不进行限定。
上述读取一个应用实例的配置参数的装置600的另一种实现方式可参阅图7所示,该装置600可以包括:至少一个第一处理器610和至少一个第一存储器620,其中,
其中,该至少一个第一处理器610,用于实现如图2所示的读取一个应用实例的配置参数的方法,包括:
确定为一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,其中所述应用实例运行在一个云平台上,所述本地缓存位于所述云平台上且为所述应用实例配置;
将所述本地缓存中存储的所述第一配置参数的取值设置为所述分布式动态配置工具中存储的所述第一配置参数的取值;
在所述应用实例需要读取所述第一配置参数时,从所述本地缓存中读取所述第一配置参数。
可选的,所述至少一个第一处理器610,可基于下列两种方式来确定本地缓存中存储的第一配置参数的取值与分布式动态配置工具中存储的第一配置参数的取值不同,但不限于通过下述两种方式来实现:
方式一:根据接收到的来自分布式动态配置工具的通知消息,确定本地缓存中的第一配置参数的取值与分布式动态配置工具中存储的第一配置参数的取值不同。
方式二:通过监测分布式动态配置工具中存储的第一配置参数的取值,确定本地缓存中存储的第一配置参数的取值与分布式动态配置工具中存储的第一配置参数的取值不同。
可选的,所述至少一个第一处理器610,还可基于下列两种方式将第二配置参数存储到本地缓存中,但不限于下述两种方式:
在本地缓存中存储的配置参数的总个数大于或等于一个第一预设阈值时,则删除本地缓存中存储的至少一个第三配置参数,并将第二配置参数存储到所述本地缓存中,第三配置参数被读取的次数小于或者等于第二预设阈值;或者,
在本地缓存中存储的配置参数的总个数大于或者等于一个第三预设阈值时,则删除本地缓存中存储的至少一个第四配置参数,并将第二配置参数存储到所述本地缓存中,其中在所述本地缓存中存储的配置参数被读取的次数按照从大到小的顺序排列时,所述第四配置参数被读取的次数排列在后N位,所述N为正整数。
可选的,该至少一个第一存储器620,用于存储读取一个应用实例的配置参数的方法的程序。具体地,该程序可以包括程序代码,该程序代码包括计算机操作指令。该至少一个存储器620可能包含至少一个随机存取存储器(Random Access Memory,RAM),也可能还包括至少一个非易失性存储器(non-volatile memory),例如是至少一个磁盘。其中至少一个第一处理器610调用至少一个第一存储器620中存储的程序,可以实现上述功能,从而实现如图2所示的读取一个应用实例的配置参数的方法。
需要说明的是,在本发明实施例中至少一个第一处理器610和至少一个第一存储器620可以运行在云平台01上,其中在具体实现时:每个第一处理器610可以为一个虚拟处理器,每个第一存储器620可以为一个虚拟存储器,其中虚拟处理器是从用于组建云平台01的实体硬件设备中的处理器虚拟出来的,其中每个虚拟处理器可能对应多个实体硬件设备的处理器,也可能对应一个实体硬件设备的处理器,也可能多个虚拟处理器对应一个实体硬件设备的处理器等,本发明实施例对此不进行限定,此外,虚拟存储器是从用于组建云平台01的实体硬件设备中的存储器虚拟出来的虚拟存储空间,其中虚拟存储器可能对应于多个实体硬件设备的存储器,也可能对应一个实体硬件设备的存储器的部分或全部存储空间等,本发明实施例对此不进行限定。
本发明实施例还提供了一种存储介质,该存储介质上存储有程序,该程序在被处理器如(例如虚拟处理器)调用时,使得处理器执行如本发明实施例中所述的读取一个应用实例的配置参数的方法的程序。具体地,可以提供配有该存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或中央处理器(Central Processing Unit,CPU)或微处理器(MicroProcessor Unit,MPU))读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明实施例的一部分。
在本发明实施例中存储介质可以为虚拟存储介质,如网盘、云盘等,此外,用于提供程序代码的存储介质还可以包括软盘、硬盘、磁光盘、光盘(如只读光盘驱动器(CompactDisc Read-Only Memory,CD-ROM)、可录光盘(Compact Disk-Recordable,CD-R)、可擦写光盘(Compact Disk-ReWritable,CD-RW)、数字视盘(Digital Video Disc-Read OnlyMemory,DVD-ROM)、数字多功能光盘随机存储器(Digital Versatile Disc-Random AccessMemory,DVD-RAM)、可重写型数字多功能光盘(Digital Versatile Disc±ReWritable,DVD±RW)等)、磁带、非易失性存储卡和只读存储器(Read-Only Memory,ROM)。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的***结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由至少两个物理实体实现,或者,可以由至少两个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用集成电路(Application Specific IntergratedCircuits,ASIC)等)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明实施例进行了详细展示和说明,然而本发明实施例不限于这些已揭示的实施例,基于上述实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明实施例的保护范围之内。
基于以上实施例,用于执行上述方法的装置一种可选的实现方式可以参阅图8所示。该发送通知消息的装置800可以包括:参数监测模块801和消息发送模块802。具体的,参数监测模块801,用于监测自身存储的一个应用实例的一个配置参数的取值,并在监测到所述配置参数的取值发生变化后,触发消息发送模块,所述配置参数还存储在一个本地缓存中,所述本地缓存位于所述云平台上且为所述应用实例配置,所述应用实例运行在一个云平台上;消息发送模块802,用于向所述应用实例的本地缓存管理器发送通知消息,其中所述本地缓存管理器用于在所述应用实例需要读取所述配置参数时从所述本地缓存中读取所述配置参数。
需要说明的是,在本发明实施例中该发送通知消息的配置参数的装置600可以称之为分布式动态配置工具20,还可以称之为其它名称,对此本发明实施例不进行限定。
上述发送通知消息的装置800的另一种实现方式可参阅图9所示,该装置800可以包括:至少一个第二处理器810和至少一个第二存储器820。
其中,该至少一个第二处理器810,用于实现如图3所示的发送通知消息的方法,包括:
监测自身存储的一个应用实例的一个配置参数的取值,所述配置参数还存储在一个本地缓存中,所述本地缓存位于所述云平台上且为所述应用实例配置,所述应用实例运行在一个云平台上;若监测到所述配置参数的取值发生变化,则向所述应用实例的本地缓存管理器发送通知消息,其中所述本地缓存管理器用于在所述应用实例需要读取所述配置参数时从所述本地缓存中读取所述配置参数。
可选的,该至少一个第二存储器820,用于存储发送通知消息的方法的程序。具体地,该程序可以包括程序代码,该程序代码包括计算机操作指令。该至少一个第二存储器820可能包含至少一个随机存取存储器(Random Access Memory,RAM),也可能还包括至少一个非易失性存储器(non-volatile memory),例如是至少一个磁盘。其中至少一个处理器810调用至少一个第二存储器820中存储的程序,可以实现上述功能,从而实现如图3所示的读取一个应用实例的配置参数的方法。
需要说明的是,在本发明实施例中至少一个第二处理器810和至少一个第二存储器820可以运行在云平台01上,其中在具体实现时:每个第二处理器810可以为一个虚拟处理器,每个第二存储器820可以为一个虚拟存储器,其中虚拟处理器是从用于组建云平台01的实体硬件设备中的处理器虚拟出来的,其中每个虚拟处理器可能对应多个实体硬件设备的处理器,也可能对应一个实体硬件设备的处理器,也可能多个虚拟处理器对应一个实体硬件设备的处理器等,本发明实施例对此不进行限定,此外,虚拟存储器是从用于组建云平台01的实体硬件设备中的存储器虚拟出来的虚拟存储空间,其中虚拟存储器可能对应于多个实体硬件设备的存储器,也可能对应一个实体硬件设备的存储器的部分或全部存储空间等,本发明你实施例对此不进行限定。
本发明实施例还提供了一种存储介质,该存储介质上存储有程序,该程序在被处理器如(例如虚拟处理器)调用时,使得处理器执行如本发明实施例中所述的发送通知消息的方法的程序。具体地,可以提供配有该存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或中央处理器(Central Processing Unit,CPU)或微处理器(Micro Processor Unit,MPU))读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明实施例的一部分。
在本发明实施例中存储介质可以为虚拟存储介质,如网盘、云盘等,此外,用于提供程序代码的存储介质还可以包括软盘、硬盘、磁光盘、光盘(如只读光盘驱动器(CompactDisc Read-Only Memory,CD-ROM)、可录光盘(Compact Disk-Recordable,CD-R)、可擦写光盘(Compact Disk-ReWritable,CD-RW)、数字视盘(Digital Video Disc-Read OnlyMemory,DVD-ROM)、数字多功能光盘随机存储器(Digital Versatile Disc-Random AccessMemory,DVD-RAM)、可重写型数字多功能光盘(Digital Versatile Disc±ReWritable,DVD±RW)等)、磁带、非易失性存储卡和只读存储器(Read-Only Memory,ROM)。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的***结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由至少两个物理实体实现,或者,可以由至少两个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用集成电路(Application Specific IntergratedCircuits,ASIC)等)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明实施例进行了详细展示和说明,然而本发明实施例不限于这些已揭示的实施例,基于上述实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明实施例的保护范围之内。
Claims (11)
1.读取一个应用实例的配置参数的方法,其特征在于,所述方法包括:
一个本地缓存管理器确定一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,其中,所述应用实例运行在一个云平台上,所述本地缓存位于所述云平台上且为所述应用实例配置;
所述本地缓存管理器将所述本地缓存中存储的所述第一配置参数的取值设置为所述分布式动态配置工具中存储的所述第一配置参数的取值;
所述本地缓存管理器在所述应用实例需要读取所述第一配置参数时,从所述本地缓存中读取所述第一配置参数。
2.如权利要求1所述的方法,其特征在于,所述本地缓存管理器确定一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,包括:
所述本地缓存管理器根据接收到的来自所述分布式动态配置工具的通知消息,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同;或者,
所述本地缓存管理器通过监测所述分布式动态配置工具中存储的第一配置参数的取值,确定所述本地缓存中存储的所述第一配置参数的取值与所述分布式动态配置工具中存储的所述第一配置参数的取值不同。
3.如权利要求1至或2所述的方法,其特征在于,所述方法还包括:
所述本地缓存管理器在所述应用实例需要读取一个第二配置参数时,若所述本地缓存中未存储所述第二配置参数,则从所述分布式动态配置工具中读取所述第二配置参数,并将所述第二配置参数存储到所述本地缓存中。
4.如权利要求3所述的方法,其特征在于,所述本地缓存管理器将所述第二配置参数存储到所述本地缓存中,包括:
所述本地缓存管理器在所述本地缓存中存储的配置参数的总个数大于或等于一个第一预设阈值的情况下,删除所述本地缓存中存储的至少一个第三配置参数,并将所述第二配置参数存储到所述本地缓存中,其中,每一个所述第三配置参数被读取的次数均小于或者等于一个第二预设阈值;或者,
所述本地缓存管理器在所述本地缓存中存储的配置参数的总个数大于或者等于一个第三预设阈值的情况下,删除所述本地缓存中存储的至少一个第四配置参数,并将所述第二配置参数存储到所述本地缓存中,其中,在所述本地缓存中存储的配置参数被读取的次数按照从大到小的顺序排列时,所述至少一个所述第四配置参数被读取的次数排列在后N位,所述N为正整数。
5.发送通知消息的方法,其特征在于,所述方法包括:
一个分布式动态配置工具监测自身存储的一个应用实例的一个配置参数的取值,所述配置参数还存储在一个本地缓存中,所述本地缓存位于所述云平台上且为所述应用实例配置,所述应用实例运行在一个云平台上;
所述分布式动态配置工具若监测到所述配置参数的取值发生变化,则向所述应用实例的本地缓存管理器发送通知消息,其中所述本地缓存管理器用于在所述应用实例需要读取所述配置参数时从所述本地缓存中读取所述配置参数。
6.读取一个应用实例的配置参数的装置(600),其特征在于,所述装置(600)包括:
一个参数更新模块(601),用于确定为一个本地缓存中存储的一个第一配置参数的取值与一个分布式动态配置工具中存储的所述第一配置参数的取值不同,并将所述本地缓存中存储的所述第一配置参数的取值设置为所述分布式动态配置工具中存储的所述第一配置参数的取值,其中所述应用实例运行在一个云平台上,所述本地缓存位于所述云平台上且为所述应用实例配置;
一个参数读取模块(602),用于在所述应用实例需要读取所述第一配置参数时,从所述本地缓存中读取所述第一配置参数。
7.读取一个应用实例的配置参数的装置(600),其特征在于,所述装置(600)包括:
至少一个第一存储器(620),用于存储读取一个应用实例的配置参数的程序;
至少一个第一处理器(610),用于调用所述至少一个存储器中存储的所述读取一个应用实例的配置参数的程序以执行如权利要求1-4中任一项所述的方法。
8.一种存储介质,其特征在于,所述存储介质上存储有程序,所述程序在被处理器调用时,使所述处理器执行如权利要求1-4中任一项所述的方法。
9.发送通知消息的装置(800),其特征在于,所述装置(800)包括:
一个参数监测模块(801),用于监测自身存储的一个应用实例的一个配置参数的取值,并在监测到所述配置参数的取值发生变化后,触发消息发送模块,所述配置参数还存储在一个本地缓存中,所述本地缓存位于所述云平台上且为所述应用实例配置,所述应用实例运行在一个云平台上;
一个所述消息发送模块(802),用于向所述应用实例的本地缓存管理器发送通知消息,其中所述本地缓存管理器用于在所述应用实例需要读取所述配置参数时从所述本地缓存中读取所述配置参数。
10.发送通知消息的装置(800),其特征在于,所述装置(800)包括:
至少一个第二存储器(820),用于存储发送通知消息的程序;
至少一个第二处理器(810),用于调用所述至少一个存储器中存储的所述发送通知消息的程序以执行如权利要求5所述的方法。
11.一种存储介质,其特征在于,所述存储介质上存储有程序,所述程序在被处理器调用时,使所述处理器执行如权利要求5所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710596484.4A CN109286643A (zh) | 2017-07-20 | 2017-07-20 | 读取一个应用实例的配置参数的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710596484.4A CN109286643A (zh) | 2017-07-20 | 2017-07-20 | 读取一个应用实例的配置参数的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109286643A true CN109286643A (zh) | 2019-01-29 |
Family
ID=65184544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710596484.4A Pending CN109286643A (zh) | 2017-07-20 | 2017-07-20 | 读取一个应用实例的配置参数的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109286643A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1704475A1 (en) * | 2003-12-17 | 2006-09-27 | Telefonaktiebolaget LM Ericsson (publ) | System and method for dynamically optimized message processing |
CN102760075A (zh) * | 2012-06-01 | 2012-10-31 | 大唐微电子技术有限公司 | 一种实现智能卡应用部署的方法及*** |
CN103416023A (zh) * | 2010-12-31 | 2013-11-27 | 斯凯普公司 | 通信***和方法 |
CN105100051A (zh) * | 2015-05-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 实现数据资源访问权限控制的方法及*** |
CN105677404A (zh) * | 2015-12-31 | 2016-06-15 | 拉扎斯网络科技(上海)有限公司 | 一种基于Zookeeper的配置更新方法及装置 |
CN106878053A (zh) * | 2016-12-22 | 2017-06-20 | 努比亚技术有限公司 | 一种基于zookeeper的配置更新装置及其方法 |
-
2017
- 2017-07-20 CN CN201710596484.4A patent/CN109286643A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1704475A1 (en) * | 2003-12-17 | 2006-09-27 | Telefonaktiebolaget LM Ericsson (publ) | System and method for dynamically optimized message processing |
CN103416023A (zh) * | 2010-12-31 | 2013-11-27 | 斯凯普公司 | 通信***和方法 |
CN102760075A (zh) * | 2012-06-01 | 2012-10-31 | 大唐微电子技术有限公司 | 一种实现智能卡应用部署的方法及*** |
CN105100051A (zh) * | 2015-05-29 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 实现数据资源访问权限控制的方法及*** |
CN105677404A (zh) * | 2015-12-31 | 2016-06-15 | 拉扎斯网络科技(上海)有限公司 | 一种基于Zookeeper的配置更新方法及装置 |
CN106878053A (zh) * | 2016-12-22 | 2017-06-20 | 努比亚技术有限公司 | 一种基于zookeeper的配置更新装置及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sinha et al. | Building an E Ective IoT Ecosystem for Your Business | |
AU2016242813B2 (en) | Networking flow logs for multi-tenant environments | |
CN109274722B (zh) | 数据共享方法、装置以及电子设备 | |
WO2019100605A1 (zh) | 平台即服务paas容器平台的构建方法、服务器、***及存储介质 | |
US11159376B2 (en) | System and method for network infrastructure analysis and convergence | |
US8719818B2 (en) | Cloud-based test system utilizing cloud systems that include cloud servers to simulate virtual test machines to test an electrical device | |
US11539590B2 (en) | Detect impact of network maintenance in software defined infrastructure | |
US11082293B2 (en) | System and method for validating correctness of changes to network device configurations | |
US11831687B2 (en) | Systems and methods for authenticating platform trust in a network function virtualization environment | |
US20210312472A1 (en) | Method and system for prediction of smart contract violation using dynamic state space creation | |
CN111597099B (zh) | 一种监测部署于云平台的应用运行质量的无侵入仿真方法 | |
WO2019085975A1 (zh) | 一种网络拓扑显示方法及网络管理设备 | |
WO2017148382A1 (zh) | 在云计算管理平台中虚拟机访问存储设备的方法和装置 | |
US11627169B2 (en) | Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN112333289A (zh) | 反向代理访问方法、装置、电子设备及存储介质 | |
US10938666B2 (en) | Network testing simulation | |
CN110049004A (zh) | 工控环境流量白名单基线的生成方法 | |
CN112448963A (zh) | 分析自动攻击工业资产的方法、装置、设备及存储介质 | |
CN109286643A (zh) | 读取一个应用实例的配置参数的方法和装置 | |
CN114756530B (zh) | 一种基于堡垒机的客户端信息处理方法 | |
CN108133046B (zh) | 数据分析方法及装置 | |
CN107592340A (zh) | 远程操作管理服务器的方法和设备 | |
CN112527453A (zh) | 虚拟化信息仿真***、方法及计算机可读存储介质 | |
JPWO2019220480A1 (ja) | 監視装置、監視方法及びプログラム |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190129 |