CN106293678B - 一种管理应用服务的变量的方法和系统 - Google Patents
一种管理应用服务的变量的方法和系统 Download PDFInfo
- Publication number
- CN106293678B CN106293678B CN201510314354.8A CN201510314354A CN106293678B CN 106293678 B CN106293678 B CN 106293678B CN 201510314354 A CN201510314354 A CN 201510314354A CN 106293678 B CN106293678 B CN 106293678B
- Authority
- CN
- China
- Prior art keywords
- application service
- variable
- storage device
- specified
- management
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种管理应用服务的变量的方法和系统,有助于快速访问管控变量和提高管控变量的安全性,即兼顾管控变量的访问时效和安全性。本发明的管理应用服务的变量的方法包括:运营管理应用系统通过管控接口将应用服务的一个或多个指定变量保存到外部存储装置中,所述外部存储装置是应用服务系统的内存以外的存储装置;数据同步装置在预设的同步时刻到来的情况下,从所述外部存储装置获取所述指定变量的变量值,然后按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
Description
技术领域
本发明涉及计算机技术领域,特别地涉及一种管理应用服务的变量的方法和系统。
背景技术
在目前web应用开发中,开发者偏向于将web应用分离为对外的应用服务EWA(external web applications)与运营管理应用OMS(operations and managementsystem)两部分,这样的系统设计一方面方便系统开发者开发维护以及运营者运营,另一个更为重要方面就是EWA应用向外暴露的接口将变得更少,由此web应用带来的风险也就更可控。对于EWA来说,有一些变量主要用于EWA应用中各功能模块的开关控制管理以及版本控制管理,这些变量经常需要OMS管理员进行维护,所以具有访问频率高的特点。在以下的描述中,将这些变量称作“管控变量”,相应地,保存管控变量的装置称作“管控载体”。
使用数据库作为管控载体,OMS管理员对管控变量的变得更易管控,OMS管理员通过修改管控变量在数据库中的值即可达到对管控变量的控制。由于管控变量具有访问频率高的特点,随着访问频率的增大,将出现数据库访问瓶颈,并且受到网络带宽的限制,从而影响管控变量的访问时效,对于EWA而言,这一设计将是不可取的。若开发者将EWA管控变量直接放到EWA端的内存中,虽然满足管控变量访问频率的特点,但随之而来的管控变量的管控接口将暴露在EWA端,这样处理将不能规避网络攻击风险,安全性较差。因此现有技术中难以兼顾管控变量的访问时放和安全性。
发明内容
有鉴于此,本发明提供一种管理应用服务的变量的方法和系统,有助于快速访问管控变量和提高管控变量的安全性,即兼顾管控变量的访问时效和安全性。
为实现上述目的,根据本发明的一个方面,提供了一种管理应用服务的变量的方法。
本发明的管理应用服务的变量的方法包括:运营管理应用系统通过管控接口将应用服务的一个或多个指定变量保存到外部存储装置中,所述外部存储装置是应用服务系统的内存以外的存储装置;数据同步装置在预设的同步时刻到来的情况下,从所述外部存储装置获取所述指定变量的变量值,然后按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
可选地,所述外部存储装置是分布式缓存系统。
可选地,所述按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值步骤包括:采用Java反射方式修改所述指定变量在应用服务管控类中的属性域的所有属性值,其中所述应用服务管控类是所述指定变量依附于所述应用服务的Java类。
可选地,在所述预设的同步时刻到来之前,该方法还包括:所述应用服务系统的内存保存所述指定变量的变量值的默认值;在所述数据同步装置从所述外部存储装置获取所述指定变量的变量值失败的情况下,按照所述默认值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
根据本发明的另一方面,提供了一种管理应用服务的变量的系统。
本发明的管理应用服务的变量的系统包括管控接口、外部存储装置、数据同步装置、以及应用服务系统的内存,其中:所述管控接口用于使运营管理应用系统通过该管控接口将应用服务的一个或多个指定变量保存到所述外部存储装置中;所述外部存储装置是应用服务系统的内存以外的存储装置;所述数据同步装置用于在预设的同步时刻到来的情况下,从所述外部存储装置获取所述指定变量的变量值,然后按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
可选地,所述外部存储装置是分布式缓存系统。
可选地,所述数据同步装置还用于采用Java反射方式修改所述指定变量在应用服务管控类中的属性域的所有属性值,其中所述应用服务管控类是所述指定变量依附于所述应用服务的Java类。
可选地,所述应用服务系统的内存还用于保存所述指定变量的变量值的默认值;所述数据同步装置还用于在从所述外部存储装置获取所述指定变量的变量值失败的情况下,按照所述默认值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种管理应用服务的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现一种管理应用服务的方法中任一所述的方法。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种管理应用服务的计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现一种管理应用服务的方法中任一所述的方法。
根据本发明的技术方案,由运营管理应用系统通过管控接口将应用服务的一个或多个指定变量保存到外部存储装置中,即管控接口设置在运管管理应用系统一侧,指定变量受管理的应用服务系统的内存保存指定变量的副本,由数据同步装置将上述指定变量副本与外部存储装置中该指定变量进行同步。因为应用服务系统的指定变量在其内存保存有副本,从而能够被快速访问,并且由于用于维护(包括修改、保存、删除等)指定变量的管控接口设置在运营管理应用系统一侧,有助于规避网络攻击风险,所以能够兼顾指定变量的访问时效和安全性。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的管控载体及相关系统的结构的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的管控载体及相关系统的结构的示意图。在本发明实施例中,采用外部存储装置131和EWA系统的内存132共同作为管控变量的管控载体13,其中外部存储装置131是EWA系统的内存以外的存储装置,可采用分布式缓存系统。OMS系统11通过管控接口将管控变量保存到外部存储装置131中,并且访问和管理管控变量,由EWA系统的内存132保存管控变量的副本。EWA系统15从EWA系统的内存132中调用管控变量并且作用到管控变量作用域14。
因为管控变量时常被OMS管理员修改,所以需要经常按照外部存储装置131中的管控变量来同步EWA系统的内存132保存的管控变量的副本。本实施例中采用数据同步装置16来周期性地进行上述同步操作,可预先设置同步周期,然后在同步时刻到来的情况下,由数据同步装置16从外部存储装置131获取管控变量的变量值,然后按照该变量值修改EWA系统的内存中的管控变量的副本的变量值。外部存储装置可采用分布式缓存系统,例如redis、memcahed等,分布式缓存系统具有高速、高并发的特点,有助于缓解访问瓶颈。
EWA需求变化决定了管控变量的变化,但无论管理变量如何变化,向OMS管理员、数据同步装置16以及管控变量的调用方都需要提供相对统一的接口,否则管控变量的维护或者使用将相当繁复。为向数据同步装置16以及管控变量作用域调用提供相对单一的调用接口,EWA管控类的设计变得至关重要。由于管控变量将应用到不同的EWA管控变量作用域,因而管控类的管控变量域具有共用性,因此其管控变量域应设置成static,这样降低了数据同步装置16在同步外部存储装置131与EWA系统的内存132保存管控变量的副本的难度。管控变量需要在EWA内存中复制副本,实现上其需要依附于EWA中Java实体类。管控变量依附于EWA的Java类称之为EWA管控类,管控变量在EWA管控类中属性域称为管控变量域。对于EWA而言,管控变量的数量以及变量名随着EWA的功能扩展而不断的变化的,其数量可能不断的增加,变量名随着功能不同而不同。解决管控变量的动态变化问题,在此本实施例中借助Java反射原理以及Java字节码的处理工具Javassist来完成,即采用Java反射方式修改管控变量在EWA管控类中的属性域的所有属性值,这样无需针对每个属性值编写和调用修改方法,降低了管控变量的维护的复杂度。
对于数据同步装置16从外部存储装置131获取管控变量,有可能因为网络连接异常或外部存储装置131故障等原因而无法获取成功,因此在本发明实施方式中,可以在EWA内存保存管控变量的默认值,如果数据同步装置16未能成功从外部存储装置131获取管控变量,则将EWA内存中的管控变量值修改为上述的默认值,以保证管控变量的可用性。
以上以管理EWA的管控变量为例对本发明的实施方式做出了说明,一般来说本发明的技术方案可以应用于其他应用服务的指定变量的管理,用于管理应用服务的变量的系统主要包括管控接口、外部存储装置、数据同步装置、以及应用服务系统的内存。该管控接口仍设置在仅对开发者内部开放的运营管理应用系统一侧,用于使运营管理应用系统通过该管控接口将应用服务的一个或多个指定变量保存到外部存储装置中,该外部存储装置是应用服务系统的内存以外的存储装置。数据同步装置的功能主要是在预设的同步时刻到来的情况下,从上述外部存储装置获取上述指定变量的变量值,然后按照该变量值修改上述应用服务系统的内存中的上述指定变量的副本的变量值。
根据本发明实施方式,由运营管理应用系统通过管控接口将应用服务的一个或多个指定变量保存到外部存储装置中,即管控接口设置在运管管理应用系统一侧,指定变量受管理的应用服务系统的内存保存指定变量的副本,由数据同步装置将上述指定变量副本与外部存储装置中该指定变量进行同步。因为应用服务系统的指定变量在其内存保存有副本,从而能够被快速访问,并且由于用于维护(包括修改、保存、删除等)指定变量的管控接口设置在运营管理应用系统一侧,有助于规避网络攻击风险,所以能够兼顾指定变量包括上述的管控变量的访问时效和安全性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种管理应用服务的变量的方法,其特征在于,包括:
运营管理应用系统通过管控接口将应用服务的一个或多个指定变量保存到外部存储装置中,所述外部存储装置是应用服务系统的内存以外的存储装置;
数据同步装置在预设的同步时刻到来的情况下,从所述外部存储装置获取所述指定变量的变量值,然后按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值;
其中,在所述预设的同步时刻到来之前,该方法还包括:所述应用服务系统的内存保存所述指定变量的变量值的默认值;
在所述数据同步装置从所述外部存储装置获取所述指定变量的变量值失败的情况下,按照所述默认值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
2.根据权利要求1所述的方法,其特征在于,所述外部存储装置是分布式缓存系统。
3.根据权利要求1所述的方法,其特征在于,所述按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值步骤包括:采用Java反射方式修改所述指定变量在应用服务管控类中的属性域的所有属性值,其中所述应用服务管控类是所述指定变量依附于所述应用服务的Java类。
4.一种管理应用服务的变量的系统,其特征在于,包括管控接口、外部存储装置、数据同步装置、以及应用服务系统的内存,其中:
所述管控接口用于使运营管理应用系统通过该管控接口将应用服务的一个或多个指定变量保存到所述外部存储装置中;
所述外部存储装置是应用服务系统的内存以外的存储装置;
所述数据同步装置用于在预设的同步时刻到来的情况下,从所述外部存储装置获取所述指定变量的变量值,然后按照该变量值修改所述应用服务系统的内存中的所述指定变量的副本的变量值;
其中,所述应用服务系统的内存还用于保存所述指定变量的变量值的默认值;
所述数据同步装置还用于在从所述外部存储装置获取所述指定变量的变量值失败的情况下,按照所述默认值修改所述应用服务系统的内存中的所述指定变量的副本的变量值。
5.根据权利要求4所述的系统,其特征在于,所述外部存储装置是分布式缓存系统。
6.根据权利要求5所述的系统,其特征在于,所述数据同步装置还用于采用Java反射方式修改所述指定变量在应用服务管控类中的属性域的所有属性值,其中所述应用服务管控类是所述指定变量依附于所述应用服务的Java类。
7.一种管理应用服务的变量的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-3中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510314354.8A CN106293678B (zh) | 2015-06-09 | 2015-06-09 | 一种管理应用服务的变量的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510314354.8A CN106293678B (zh) | 2015-06-09 | 2015-06-09 | 一种管理应用服务的变量的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106293678A CN106293678A (zh) | 2017-01-04 |
CN106293678B true CN106293678B (zh) | 2020-11-24 |
Family
ID=57659331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510314354.8A Active CN106293678B (zh) | 2015-06-09 | 2015-06-09 | 一种管理应用服务的变量的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106293678B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545252A (zh) * | 2003-11-13 | 2004-11-10 | 中兴通讯股份有限公司 | 一种网管系统中实现对前台数据配置的方法 |
CN101051324A (zh) * | 2007-05-23 | 2007-10-10 | 中兴通讯股份有限公司 | 一种内存数据库的事务管理方法 |
CN101101575A (zh) * | 2006-07-04 | 2008-01-09 | 联想(北京)有限公司 | 一种数据安全存储的方法及装置 |
CN101373467A (zh) * | 2007-08-24 | 2009-02-25 | 上海全成通信技术有限公司 | 数据报表展示方法 |
CN101400043A (zh) * | 2007-09-25 | 2009-04-01 | 中兴通讯股份有限公司 | 移动通信系统中前后台数据一致性比较的方法及系统 |
CN101887388A (zh) * | 2010-06-18 | 2010-11-17 | 中兴通讯股份有限公司 | 基于内存数据库的数据备份系统和方法 |
CN102117299A (zh) * | 2009-12-30 | 2011-07-06 | 中兴通讯股份有限公司 | 一种前台导入配置文件的系统及方法 |
CN102257477A (zh) * | 2009-09-17 | 2011-11-23 | 株式会社三菱东京Ufj银行 | 应用开发支援装置、程序以及记录介质 |
CN104268074A (zh) * | 2014-09-05 | 2015-01-07 | 北京广利核系统工程有限公司 | 一种基于dcs系统应用软件在线调试方法 |
CN104462274A (zh) * | 2014-11-25 | 2015-03-25 | 北京国双科技有限公司 | 数据处理方法和装置 |
-
2015
- 2015-06-09 CN CN201510314354.8A patent/CN106293678B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545252A (zh) * | 2003-11-13 | 2004-11-10 | 中兴通讯股份有限公司 | 一种网管系统中实现对前台数据配置的方法 |
CN101101575A (zh) * | 2006-07-04 | 2008-01-09 | 联想(北京)有限公司 | 一种数据安全存储的方法及装置 |
CN101051324A (zh) * | 2007-05-23 | 2007-10-10 | 中兴通讯股份有限公司 | 一种内存数据库的事务管理方法 |
CN101373467A (zh) * | 2007-08-24 | 2009-02-25 | 上海全成通信技术有限公司 | 数据报表展示方法 |
CN101400043A (zh) * | 2007-09-25 | 2009-04-01 | 中兴通讯股份有限公司 | 移动通信系统中前后台数据一致性比较的方法及系统 |
CN102257477A (zh) * | 2009-09-17 | 2011-11-23 | 株式会社三菱东京Ufj银行 | 应用开发支援装置、程序以及记录介质 |
CN102117299A (zh) * | 2009-12-30 | 2011-07-06 | 中兴通讯股份有限公司 | 一种前台导入配置文件的系统及方法 |
CN101887388A (zh) * | 2010-06-18 | 2010-11-17 | 中兴通讯股份有限公司 | 基于内存数据库的数据备份系统和方法 |
CN104268074A (zh) * | 2014-09-05 | 2015-01-07 | 北京广利核系统工程有限公司 | 一种基于dcs系统应用软件在线调试方法 |
CN104462274A (zh) * | 2014-11-25 | 2015-03-25 | 北京国双科技有限公司 | 数据处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106293678A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9710186B2 (en) | Performing online data migration with concurrent active user access to the data | |
US10705880B2 (en) | Cluster updating using temporary update-monitor pod | |
US10318287B2 (en) | Deploying documents to a server in a specific environment | |
AU2016359508B2 (en) | Page jumping method and apparatus | |
CN105940397B (zh) | 用于应用同步的方法和系统 | |
CN106878376B (zh) | 一种配置管理方法与系统 | |
US11948014B2 (en) | Multi-tenant control plane management on computing platform | |
US10445186B1 (en) | Associating a guest application within a virtual machine to create dependencies in backup/restore policy | |
SG189389A1 (en) | Web service patterns for globally distributed service fabric | |
KR20140038991A (ko) | 가장 최근에 사용된 문서 목록들의 자동 동기화 | |
CN113220669B (zh) | 业务数据的处理方法、装置及电子设备 | |
EP3533198B1 (en) | Highly available and reliable secret distribution infrastructure | |
CN113626286A (zh) | 多集群实例处理方法、装置、电子设备及存储介质 | |
CN111666134A (zh) | 一种分布式任务调度的方法和系统 | |
CN102982171A (zh) | 一种数据库同步方法 | |
CN113542022B (zh) | 组网系统的组网管理方法、装置、终端设备及存储介质 | |
CN112084254A (zh) | 一种数据同步方法和系统 | |
KR20160143519A (ko) | 시스템, 서버 시스템, 방법 및 프로그램 | |
CN106293678B (zh) | 一种管理应用服务的变量的方法和系统 | |
US20150379296A1 (en) | Large Scale Network System Upgrade | |
US20200133709A1 (en) | System and method for content - application split | |
CN112069152A (zh) | 一种数据库集群升级方法、装置、设备以及存储介质 | |
CN104462353B (zh) | 数据库批量同步处理方法及装置 | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
US8214389B2 (en) | Common architecture for administration of client side property settings in a distributed and heterogeneous environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |