CN110471679B - 客户端资源配置更新方法、装置及存储介质、服务器 - Google Patents
客户端资源配置更新方法、装置及存储介质、服务器 Download PDFInfo
- Publication number
- CN110471679B CN110471679B CN201910612028.3A CN201910612028A CN110471679B CN 110471679 B CN110471679 B CN 110471679B CN 201910612028 A CN201910612028 A CN 201910612028A CN 110471679 B CN110471679 B CN 110471679B
- Authority
- CN
- China
- Prior art keywords
- configuration
- client
- information
- resource
- latest
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013468 resource allocation Methods 0.000 title claims abstract description 13
- 238000004519 manufacturing process Methods 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims 2
- 238000012986 modification Methods 0.000 abstract description 12
- 230000004048 modification Effects 0.000 abstract description 12
- 238000012545 processing Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及数据处理、数据更新、批量更新技术领域,本申请实施例提供的一种客户端资源配置更新方法,包括:获取项目生产信息,依据项目生产信息确定该项目的阶梯配置以及与阶梯配置相对应的执行项目的客户端和服务器,建立两者之间的长连接;客户端通过长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据配置资源信息从配置中心拉取最新配置资源信息对应的最新配置资源;客户端的后台服务器基于客户端获取的最新配置资源,更新客户端的配置资源。配置修改与信息发布的权限分离,使配置能够进行统一发布,保证生产运营安全稳定性,提高了获取配置信息的实时性,基于不同环境发布不同版本,为用户提供不同的配置。
Description
技术领域
本发明涉及数据处理、数据更新、批量更新技术领域,具体涉及一种客户端资源配置更新方法、装置及存储介质、服务器。
背景技术
在互联网公司发展初期,服务器以及应用程序较少,项目的配置信息都会存放在文件中,比如把一些基本的数据库信息、缓存信息配置在文件中,每个项目都有自身单独的一份配置文件。
随着互联网技术的发展,服务器以及应用程序越来越多,项目的配置信息也就越来越多。当项目配置增加时,文件类型的配置则会变得混乱,服务器进行配置的速度也会下降。当一个应用项目部署在多台机器上,每次更新项目中的任何一个配置,都需要在不同服务器文件上更新很多次,麻烦而且容易出错。此外,当更新项目的配置时,我们必须要将项目服务关闭,然后修改配置文件中的配置信息,并将进行重启和重新发布,且每次进行配置更新时,都需要从配置中心到本地,才能执行配置的更新,导致配置实时更新的性能较慢;用户也无法通过图形界面获取到最新的配置资源,在需要配置时,使得配置更新操作较为复杂,降低了用户体验。
发明内容
为克服以上技术问题,特别是目前项目在服务器端配置发生更新时,客户端配置更新慢且容易出错的问题,特提出以下技术方案:
本发明实施例提供的一种客户端资源配置更新方法,包括:
获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;
所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;
所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。
可选地,所述阶梯包括第一阶梯、第二阶梯、第三阶梯,所述第一阶梯为基础配置资源信息,所述第二阶梯为该项目的最新的所有配置资源信息,所述第三阶梯基于用户的特征信息确定所述项目配置资源信息。
可选地,所述第三阶梯通过以下方法得到,
获取客户端的所述用户特征信息,所述用户特征信息包括用户的喜好、用户历史配置资源、用户性别、用户历史关注信息;
依据所述用户特征信息和所述项目生产信息,确定客户端对应的第三阶梯配置资源信息。
可选地,所述依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源,包括:
客户端按照预设时间周期从所述配置中心拉取所述最新配置资源信息对应的最新配置资源;
将所述最新配置资源存储在预设数据库中和/或同步到预设缓存文件中。
可选地,所述客户端的后台服务器基于所述客户端获取的最新配置资源,包括:
响应于用户在客户端图形界面的配置获取操作,从所述预设缓存文件中加载所述最新配置资源。
可选地,所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源,包括:
当客户端的后台服务器实时监听到客户端拉取到所述最新配置资源,依据所述最新息配置资源更新客户端。
本申请的实施例还提供了一种客户端资源配置更新装置,包括:
长连接建立模块,用于获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;
获取模块,用于所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;
更新模块,用于所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。
可选地,所述获取模块包括:
特征信息获取单元,用于获取客户端的所述用户特征信息,所述用户特征信息包括用户的喜好、用户历史配置资源、用户性别、用户历史关注信息;
配置资源确定单元,用于依据所述用户特征信息和所述项目生产信息,确定客户端对应的第三阶梯配置资源信息。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现任一技术方案所述的客户端资源配置更新方法。
本发明实施例还提供了一种服务器,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据任一技术方案所述的客户端资源配置更新方法的步骤。
本发明与现有技术相比,具有以下有益效果:
1、本申请实施例提供的一种客户端资源配置更新方法,包括:获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。在本申请中配置修改与配置信息发布的权限分离,使得配置能够进行统一发布,同时也能保证生产运营安全稳定性。提高了配置信息获取的实时性,根据客户端获取对应阶梯的配置信息,以获取对应阶梯的配置资源,避免客户端过多配置的更新给部分用户带来的不便,在进行配置更新时,不需要用户执行其他任何操作,提高用户体验,根据阶梯配置资源的更新,实现根据不同的用户,开放不同的权限,同样可以基于不同环境发布不同版本,为用户提供不同的配置,进一步地提高了用户体验。
2、本申请实施例提供的一种客户端资源配置更新方法,所述依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源,包括:客户端按照预设时间周期从所述配置中心拉取所述最新配置资源信息对应的最新配置资源;将所述最新配置资源存储在预设数据库中和/或同步到预设缓存文件中。由于客户端建立了与配置中心同样具有关联关系,且客户端还与服务端通过长连接进行连接,进而客户端可以实时地从服务端获取最新的配置信息,同时也可以定时地从配置中心获取与服务器推送的配置信息相对应的配置资源。提高了客户端在终端运行效率,避免客户端频繁地与配置中心进行通信,客户端可以按照预设时间周期从项目生成配置中心获取最新的配置资源,进而用户不需要执行其他的操作便实现了配置的更新,在用户无意识下更新最新配置资源,使用户使用到最新配置资源,提高了用户体验。
3、本申请实施例提供的一种客户端资源配置更新方法,所述客户端的后台服务器基于所述客户端获取的最新配置资源,包括:响应于用户在客户端图形界面的配置获取操作,从所述预设缓存文件中加载所述最新配置资源。终端中客户端的图形界面上提供有获取配置资源的图形界面,用户可以在客户端通过图形界面进入缓存文件入口进入配置文件中,进而用户可以在客户端实现对配置文件的修改,使得用户可以根据自己的需要进行配置文件的修改,并使应用程序更符合用户的个性化特征,提高用户体验。进一步地,可以对用户实现权限控制,不同的用户基于其角色功能开放不同的权限,进而可以获得不同配置信息。特别地,基于客户端所在的终端,可以向用户开放不同权限,进而可以针对不同环境发布版本。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明客户端资源配置更新方法的典型实施例中一种实施方式的流程示意图;
图2为本发明客户端资源配置更新装置的典型实施例的结构示意图;
图3为本发明服务器的一实施例结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作***或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本申请实施例提供的一种客户端资源配置更新方法,在其中一种实施方式中,如图1所示,包括:S100、S200、S300。
S100:获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;
S200:所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;
S300:所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。
在本申请中,基于netty开发一个rpc通讯的框架:客户端client、服务端server以及配置中心config,即本申请提供的技术方案中将配置文件修改端和发布端分离。项目生成信息主要为一个应用程序主要信息,该信息包括应用程序在客户端中运行的版本、配置中心的最新版本信息以及应用程序名称、该应用程序更新的主要结构、应用该应用程序的客户端以及服务端,在确定之后,基于该项目生产信息建立客户端和服务端的长连接,且在该过程之前,还需要将前述的客户端和服务端与配置中心建立关联关系,进而配置中心可以通过该服务器向客户端推送最新配置信息,服务器可以将该最新配置信息广播到对应的客户端,使得各客户端可以从配置中心获取对应的配置资源,进一步地,在本申请提供的而技术方案中,客户端可以实时监听服务器接收到的最新配置资源信息,以便于客户端可以快速地进行最新配置资源的获取,避免服务器广播最新配置信息时遗漏部分客户端,以实现客户端的配置都能够得到更新。
其中,在本申请提供的技术方案中,配置中心与客户端和服务端均分别进行关联,同时客户端和服务端长连接,客户端可以从服务端拉取最新的配置信息,同时客户端还可以从配置中心获取最新的配置资源。进一步地,为了保证客户端拉取的最新配置在服务不可用时,还能够正常加载本地的配置,使得本地服务不受影响,客户端监听服务器器端是否有配置资源更新信息更新,在有时,客户端从配置中心获取该信息对应的最新配置资源拉取并将其进行缓存。
由于一个产品,如果需要快速迭代开发上线,又要保证质量,保证刚上线的***,一旦出现问题那么可以很快的控制影响面,就需要设计一套灰度发布***;在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体***的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。在本申请提供的技术方案中,通过前述过程使得可以构建阶梯性的配置资源,以及与该阶梯性配置资源相对应的客户端信息,进而可以快速地确定能够进行灰度发布客户端,避免每一次需要灰度发布时,都需要重新对客户端的进行筛选,同时还能保证不同用户的需求,针对不同阶梯的配置以及其对应的客户端,进行不同项目生产信息配置资源的更新,实现了针对不同项目生产信息的不同版本的灰度发布,满足了不同用户的需求,提高了用户体验,同时能更优针对性的进行项目生产信息配置资源的反馈进行统计,以便于能够更好地优化应用程序。
相应的,应用程序自己具有自己的服务器,在其确定客户端已经包括了最新配置信息时,则根据客户端的最新配置信息动态更新应用程序的配置信息,其中,资源的配置信息即服务端需要动态修改的配置信息。在前述的基础上,当客户端获取到最新配置信息时,为了使得客户端能够及时地更新配置资源,客户端的后台服务器基于客户端获取的最新配置资源,更新客户端的配置资源,进而使得用户可以更快速地体验到最新的配置资源。在前述过程中,将配置修改和配置信息发布进行权限分离,进而可以避免每次重启客户端或者更新客户端与服务的数据接口才能实现配置的更新,提高了配置信息获取的实时性。
可选地,所述阶梯包括第一阶梯、第二阶梯、第三阶梯,所述第一阶梯为基础配置资源信息,所述第二阶梯为该项目的最新的所有配置资源信息,所述第三阶梯基于用户的特征信息确定所述项目配置资源信息。即第三阶梯的配置资源信息依据用户特征动态调整第三阶梯配置资源的信息,以最大程度地满足用户需求,进而提高用户体验。对第一阶梯、第二阶梯、第三阶梯,拉取方式和更新方式不同,比如,基础配置资源信息在启动项目时配置,项目配置资源信息是集合用户特征反馈,所有配置资源信息是实时更新,进而可以解决不同配置信息,处理方式不同,提高不同配置更新效率的问题。
可选地,所述第三阶梯通过以下方法得到,
获取客户端的所述用户特征信息,所述用户特征信息包括用户的喜好、用户历史配置资源、用户性别、用户历史关注信息;
依据所述用户特征信息和所述项目生产信息,确定客户端对应的第三阶梯配置资源信息。
如前所述,第三阶梯的配置资源信息依据用户特征动态调整第三阶梯配置资源的信息,以最大程度地满足用户需求,进而提高用户体验,服务器获取客户端中用户的特征信息,相应的,用户特征信息包括用户的喜好、性别、历史配置资源以及用户历史关注信息,从该类信息中可以确定能购满足用户需求的信息,进而基于该类特征信息向用户推荐第三阶梯配置。示例性的,例如,第三阶梯配置包括类似于商品广告的配置,用户为男性、喜欢篮球且该用户常通过该客户端观看篮球视频(客户端历史配置包括篮球的配置),则可以向用户推送篮球类商品广告的配置,进而便于用户通过该接口进入篮球类商品的购买渠道,使得用户通过客户端该配置的图形界面快速进入购买平台查找篮球类商品,使得用户可以快捷方便地查找自己所需物品,进而提高了用户体验。
可选地,所述依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源,包括:
客户端按照预设时间周期从所述配置中心拉取所述最新配置资源信息对应的最新配置资源;
将所述最新配置资源存储在预设数据库中和/或同步到预设缓存文件中。
结合前述的项目生产信息,客户端建立了与配置中心同样具有关联关系,且客户端还与服务端通过长连接进行连接,进而客户端可以实时地从服务端获取最新的配置信息,根据该配置信息客户端可以实时地从配置中中心获取相对应的配置资源,同时也可以定时地从配置中心获取与服务器推送的配置信息相对应的配置资源。为了提高了客户端在终端运行效率,避免客户端频繁地与配置中心进行通信,客户端可以按照预设时间周期从项目生成配置中心获取最新的配置资源,进而用户不需要执行其他的操作便实现了配置的更新,在用户无意识下更新最新配置资源,使用户使用到最新配置资源,提高了用户体验。
进一步地,还可以将最新配置资源存储在预设数据库中,例如存储在内存中,用于更新客户端之前的配置,在客户端加载时,则可以从内存中调用到最新配置资源。进一步地,还可以将最新配置资源同步到预设缓存文件中,如客户端后台服务器的缓存中,在配置中心的服务器不可以用时,客户端的服务器也不可用,将最新配置信息同步到预设缓存文件中,则客户端可以加载缓存中配置资源,在提高了配置资源获取的及时性时,客户端也可以在本地基于该配置执行相应的任务,进而不影响客户端服务的正常提供。
可选地,所述客户端的后台服务器基于所述客户端获取的最新配置资源,包括:
响应于用户在客户端图形界面的配置获取操作,从所述预设缓存文件中加载所述最新配置资源。
在本申请提供的技术方案中,终端中客户端的图形界面上提供有获取配置资源的图形界面,用户可以在客户端通过图形界面进入缓存文件入口进入配置文件中,进而用户可以在客户端实现对配置文件的修改,在配置文件修改完成之后,后台应用程序的服务器监听到客户端配置文件发生修改,即获取缓存中的修改之后的配置文件,使得用户可以根据自己的需要进行配置文件的修改,并使应用程序更符合用户的个性化特征,提高用户体验。进一步地,可以对用户实现权限控制,不同的用户基于其角色功能开放不同的权限,进而可以获得不同配置信息。特别地,基于客户端所在的终端,可以向用户开放不同权限,进而可以针对不同环境发布版本。
可选地,所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源,包括:
当客户端的后台服务器实时监听到客户端拉取到所述最新配置资源,依据所述最新息配置资源更新客户端。
结合前述的过程,在本申请提供的技术方案中,客户端的后台服务实时监听客户端的缓存或者数据库中是否有最新的配置资源,如有,为了提高用户的体验,使得用户可以更快速方便地进行相应资源的更新,或者在用户无知觉状况进行相应最新配置资源的更新,则根据监听到的最新配置资源更新客户端的配置。
本发明实施例还提供了一种客户端资源配置更新装置,在其中一种实施方式中,如图2所示,包括:长连接建立模块100、获取模块200、更新模块300:
长连接建立模块100,用于获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;
获取模块200,用于所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;
更新模块300,用于所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。
进一步地,如图2所示,本发明实施例中提供的一种客户端资源配置更新方法装置还包括:特征信息获取单元210,用于获取客户端的所述用户特征信息,所述用户特征信息包括用户的喜好、用户历史配置资源、用户性别、用户历史关注信息;配置资源确定单元220,用于依据所述用户特征信息和所述项目生产信息,确定客户端对应的第三阶梯配置资源信息。拉取单元230,用于客户端按照预设时间周期从所述配置中心拉取所述最新配置资源信息对应的最新配置资源;存储单元240,用于将所述最新配置资源存储在预设数据库中和/或同步到预设缓存文件中。加载单元310,用于响应于用户在客户端图形界面的配置获取操作,从所述预设缓存文件中加载所述最新配置资源。更新单元320,用于当客户端的后台服务器实时监听到客户端拉取到所述最新配置资源,依据所述最新息配置资源更新客户端。
本发明实施例提供的一种客户端资源配置更新方法装置可以实现上述客户端资源配置更新方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现任一项技术方案所述的客户端资源配置更新方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本发明实施例提供的一种计算机可读存储介质,可实现上述客户端资源配置更新方法的实施例,在本申请中配置修改与配置信息发布的权限分离,使得配置能够进行统一发布,同时也能保证生产运营安全稳定性。提高了配置信息获取的实时性,根据客户端获取对应阶梯的配置信息,以获取对应阶梯的配置资源,避免客户端过多配置的更新给部分用户带来的不便,在进行配置更新时,不需要用户执行其他任何操作,提高用户体验;本申请实施例提供的一种客户端资源配置更新方法,包括:获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。在本申请中,基于netty开发一个rpc通讯的框架:客户端client、服务端server以及配置中心config,即本申请提供的技术方案中将配置文件修改端和发布端分离。项目生成信息主要为一个应用程序主要信息,该信息包括应用程序在客户端中运行的版本、配置中心的最新版本信息以及应用程序名称、该应用程序更新的主要结构、应用该应用程序的客户端以及服务端,在确定之后,基于该项目生产信息建立客户端和服务端的长连接,且在该过程之前,还需要将前述的客户端和服务端与配置中心建立关联关系,进而配置中心可以通过该服务器向客户端推送最新配置信息,服务器可以将该最新配置信息广播到对应的客户端,使得各客户端可以从配置中心获取对应的配置资源,进一步地,在本申请提供的而技术方案中,客户端可以实时监听服务器接收到的最新配置资源信息,以便于客户端可以快速地进行最新配置资源的获取,避免服务器广播最新配置信息时遗漏部分客户端,以实现客户端的配置都能够得到更新。其中,在本申请提供的技术方案中,配置中心与客户端和服务端均分别进行关联,同时客户端和服务端长连接,客户端可以从服务端拉取最新的配置信息,同时客户端还可以从配置中心获取最新的配置资源。进一步地,为了保证客户端拉取的最新配置在服务不可用时,还能够正常加载本地的配置,使得本地服务不受影响,客户端监听服务器器端是否有配置资源更新信息更新,在有时,客户端从配置中心获取该信息对应的最新配置资源拉取并将其进行缓存。由于一个产品,如果需要快速迭代开发上线,又要保证质量,保证刚上线的***,一旦出现问题那么可以很快的控制影响面,就需要设计一套灰度发布***;在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体***的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。在本申请提供的技术方案中,通过前述过程使得可以构建阶梯性的配置资源,以及与该阶梯性配置资源相对应的客户端信息,进而可以快速地确定能够进行灰度发布客户端,避免每一次需要灰度发布时,都需要重新对客户端的进行筛选,同时还能保证不同用户的需求,针对不同阶梯的配置以及其对应的客户端,进行不同项目生产信息配置资源的更新,实现了针对不同项目生产信息的不同版本的灰度发布,满足了不同用户的需求,提高了用户体验,同时能更优针对性的进行项目生产信息配置资源的反馈进行统计,以便于能够更好地优化应用程序。相应的,应用程序自己具有自己的服务器,在其确定客户端已经包括了最新配置信息时,则根据客户端的最新配置信息动态更新应用程序的配置信息,其中,资源的配置信息即服务端需要动态修改的配置信息。在前述的基础上,当客户端获取到最新配置信息时,为了使得客户端能够及时地更新配置资源,客户端的后台服务器基于客户端获取的最新配置资源,更新客户端的配置资源,进而使得用户可以更快速地体验到最新的配置资源。
此外,在又一种实施例中,本发明还提供一种服务器,如图3所示,所述服务器处理器503、存储器505、输入单元507以及显示单元509等器件。本领域技术人员可以理解,图3示出的结构器件并不构成对所有服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器505可用于存储应用程序501以及各功能模块,处理器503运行存储在存储器505的应用程序501,从而执行设备的各种功能应用以及数据处理。存储器505可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器505只作为例子而非作为限定。
输入单元507用于接收信号的输入,以及用户输入的个人信息和相关的身体状况信息。输入单元507可包括触控面板以及其它输入设备。触控面板可收集客户在其上或附近的触摸操作(比如客户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元509可用于显示客户输入的信息或提供给客户的信息以及计算机设备的各种菜单。显示单元509可采用液晶显示器、有机发光二极管等形式。处理器503是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器503内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。图3中所示的一个或多个处理器503能够执行、实现图2中所示的长连接建立模块100的功能、获取模块200的功能、更新模块300的功能、特征信息获取单元210的功能、配置资源确定单元220的功能、拉取单元230的功能、存储单元240的功能、加载单元310的功能、更新单元320的功能。
在一种实施方式中,所述服务器包括一个或多个处理器503,以及一个或多个存储器505,一个或多个应用程序501,其中所述一个或多个应用程序501被存储在存储器505中并被配置为由所述一个或多个处理器503执行,所述一个或多个应用程序301配置用于执行以上实施例所述的客户端资源配置更新方法。
本发明实施例提供的一种服务器,可实现上述客户端资源配置更新方法的实施例,在本申请中配置修改与配置信息发布的权限分离,使得配置能够进行统一发布,同时也能保证生产运营安全稳定性。提高了配置信息获取的实时性,根据客户端获取对应阶梯的配置信息,以获取对应阶梯的配置资源,避免客户端过多配置的更新给部分用户带来的不便,在进行配置更新时,不需要用户执行其他任何操作,提高用户体验;本申请实施例提供的一种客户端资源配置更新方法,包括:获取项目生产信息,依据所述项目生产信息确定该项目的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务端之间的长连接;所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源。在本申请中,基于netty开发一个rpc通讯的框架:客户端client、服务端server以及配置中心config,即本申请提供的技术方案中将配置文件修改端和发布端分离。项目生成信息主要为一个应用程序主要信息,该信息包括应用程序在客户端中运行的版本、配置中心的最新版本信息以及应用程序名称、该应用程序更新的主要结构、应用该应用程序的客户端以及服务端,在确定之后,基于该项目生产信息建立客户端和服务端的长连接,且在该过程之前,还需要将前述的客户端和服务端与配置中心建立关联关系,进而配置中心可以通过该服务器向客户端推送最新配置信息,服务器可以将该最新配置信息广播到对应的客户端,使得各客户端可以从配置中心获取对应的配置资源,进一步地,在本申请提供的而技术方案中,客户端可以实时监听服务器接收到的最新配置资源信息,以便于客户端可以快速地进行最新配置资源的获取,避免服务器广播最新配置信息时遗漏部分客户端,以实现客户端的配置都能够得到更新。其中,在本申请提供的技术方案中,配置中心与客户端和服务端均分别进行关联,同时客户端和服务端长连接,客户端可以从服务端拉取最新的配置信息,同时客户端还可以从配置中心获取最新的配置资源。进一步地,为了保证客户端拉取的最新配置在服务不可用时,还能够正常加载本地的配置,使得本地服务不受影响,客户端监听服务器器端是否有配置资源更新信息更新,在有时,客户端从配置中心获取该信息对应的最新配置资源拉取并将其进行缓存。由于一个产品,如果需要快速迭代开发上线,又要保证质量,保证刚上线的***,一旦出现问题那么可以很快的控制影响面,就需要设计一套灰度发布***;在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体***的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。在本申请提供的技术方案中,通过前述过程使得可以构建阶梯性的配置资源,以及与该阶梯性配置资源相对应的客户端信息,进而可以快速地确定能够进行灰度发布客户端,避免每一次需要灰度发布时,都需要重新对客户端的进行筛选,同时还能保证不同用户的需求,针对不同阶梯的配置以及其对应的客户端,进行不同项目生产信息配置资源的更新,实现了针对不同项目生产信息的不同版本的灰度发布,满足了不同用户的需求,提高了用户体验,同时能更优针对性的进行项目生产信息配置资源的反馈进行统计,以便于能够更好地优化应用程序。相应的,应用程序自己具有自己的服务器,在其确定客户端已经包括了最新配置信息时,则根据客户端的最新配置信息动态更新应用程序的配置信息,其中,资源的配置信息即服务端需要动态修改的配置信息。在前述的基础上,当客户端获取到最新配置信息时,为了使得客户端能够及时地更新配置资源,客户端的后台服务器基于客户端获取的最新配置资源,更新客户端的配置资源,进而使得用户可以更快速地体验到最新的配置资源。
本发明实施例提供的服务器可以实现上述提供的客户端资源配置更新方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种客户端资源配置更新方法,其特征在于,包括:
获取项目生产信息,依据所述项目生产信息确定项目的多个阶梯中各阶梯的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务器之间的长连接;
所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;
所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源;
其中,所述项目生产信息包括所述项目对应的应用程序的信息;所述多个阶梯包括第一阶梯、第二阶梯和第三阶梯,所述第一阶梯的阶梯配置为基础配置资源信息,所述第二阶梯的阶梯配置为所述项目的最新的所有配置资源信息,所述第三阶梯的阶梯配置为基于用户特征信息确定的所述项目的配置资源信息;所述多个阶梯中的每个阶梯对应有各自的客户端,所述第一阶梯和所述第二阶梯分别对应应用程序的不同版本。
2.根据权利要求1所述的客户端资源配置更新方法,其特征在于,所述第三阶梯通过以下方法得到,
获取客户端的所述用户特征信息,所述用户特征信息包括用户的喜好、用户历史配置资源、用户性别、用户历史关注信息;
依据所述用户特征信息和所述项目生产信息,确定客户端对应的第三阶梯配置资源信息。
3.根据权利要求1所述的客户端资源配置更新方法,其特征在于,所述依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源,包括:
客户端按照预设时间周期从所述配置中心拉取所述最新配置资源信息对应的最新配置资源;
将所述最新配置资源存储在预设数据库中和/或同步到预设缓存文件中。
4.根据权利要求3所述的客户端资源配置更新方法,其特征在于,所述客户端的后台服务器基于所述客户端获取的最新配置资源,包括:
响应于用户在客户端图形界面的配置获取操作,从所述预设缓存文件中加载所述最新配置资源。
5.根据权利要求1所述的客户端资源配置更新方法,其特征在于,所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源,包括:
当客户端的后台服务器实时监听到客户端拉取到所述最新配置资源,依据所述最新配置资源更新客户端。
6.一种客户端资源配置更新装置,其特征在于,包括:
长连接建立模块,用于获取项目生产信息,依据所述项目生产信息确定项目的多个阶梯中各阶梯的阶梯配置以及与所述阶梯配置相对应的执行项目的客户端和服务器,建立所述客户端与所述服务器之间的长连接;
获取模块,用于所述客户端通过所述长连接实时从服务器获取该客户端对应阶梯的最新配置资源信息,依据所述配置资源信息从配置中心拉取所述最新配置资源信息对应的最新配置资源;
更新模块,用于所述客户端的后台服务器基于所述客户端获取的最新配置资源,更新客户端的配置资源;
其中,所述项目生产信息包括所述项目对应的应用程序的信息;所述多个阶梯包括第一阶梯、第二阶梯和第三阶梯,所述第一阶梯的阶梯配置为基础配置资源信息,所述第二阶梯的阶梯配置为所述项目的最新的所有配置资源信息,所述第三阶梯的阶梯配置为基于用户特征信息确定的所述项目的配置资源信息;所述多个阶梯中的每个阶梯对应有各自的客户端,所述第一阶梯和所述第二阶梯分别对应应用程序的不同版本。
7.根据权利要求6所述的客户端资源配置更新装置,其特征在于,所述获取模块包括:
特征信息获取单元,用于获取客户端的用户特征信息,所述用户特征信息包括用户的喜好、用户历史配置资源、用户性别、用户历史关注信息;
配置资源确定单元,用于依据所述用户特征信息和所述项目生产信息,确定客户端对应的第三阶梯配置资源信息。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1至5任一项所述的客户端资源配置更新方法。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据权利要求1至5任一项所述的客户端资源配置更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910612028.3A CN110471679B (zh) | 2019-07-08 | 2019-07-08 | 客户端资源配置更新方法、装置及存储介质、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910612028.3A CN110471679B (zh) | 2019-07-08 | 2019-07-08 | 客户端资源配置更新方法、装置及存储介质、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471679A CN110471679A (zh) | 2019-11-19 |
CN110471679B true CN110471679B (zh) | 2024-04-02 |
Family
ID=68507478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910612028.3A Active CN110471679B (zh) | 2019-07-08 | 2019-07-08 | 客户端资源配置更新方法、装置及存储介质、服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471679B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147312B (zh) * | 2019-12-31 | 2022-11-22 | 深圳云天励飞技术股份有限公司 | 资源配置的管理方法及装置、资源配置缓存的管理方法及装置、配置管理*** |
CN112231010B (zh) * | 2020-09-28 | 2023-06-06 | 四川新网银行股份有限公司 | 一种基于osgi规范下的应用配置信息管理及动态更新的方法 |
CN112417402B (zh) * | 2020-11-27 | 2024-04-12 | 亿企赢网络科技有限公司 | 权限控制方法、权限控制装置、权限控制设备及存储介质 |
CN112882735B (zh) * | 2021-03-11 | 2024-04-19 | 百度在线网络技术(北京)有限公司 | 熔断信息处理方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731437A (zh) * | 2014-01-26 | 2014-04-16 | 合一网络技术(北京)有限公司 | 对信息投放进行配置的方法及*** |
WO2015169085A1 (zh) * | 2014-05-05 | 2015-11-12 | 中国科学院声学研究所 | 媒体资源信息的处理方法、装置和*** |
CN105099761A (zh) * | 2015-06-26 | 2015-11-25 | 广东欧珀移动通信有限公司 | 一种集中管理客户端的配置信息的方法和*** |
CN108090069A (zh) * | 2016-11-22 | 2018-05-29 | 北京神州泰岳软件股份有限公司 | 一种在浏览器中显示网页资源的方法和装置 |
CN108647096A (zh) * | 2018-05-16 | 2018-10-12 | Oppo广东移动通信有限公司 | ***资源配置的调整方法、装置、存储介质及移动终端 |
CN108696374A (zh) * | 2017-04-10 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 更新客户端配置的方法和装置 |
CN109660377A (zh) * | 2017-10-12 | 2019-04-19 | 中兴通讯股份有限公司 | 统一配置管理方法、业务服务器及操作维护管理平台 |
CN109857429A (zh) * | 2019-01-04 | 2019-06-07 | 浪潮商用机器有限公司 | 一种虚拟机资源配置的更新方法、装置、设备及存储介质 |
-
2019
- 2019-07-08 CN CN201910612028.3A patent/CN110471679B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731437A (zh) * | 2014-01-26 | 2014-04-16 | 合一网络技术(北京)有限公司 | 对信息投放进行配置的方法及*** |
WO2015169085A1 (zh) * | 2014-05-05 | 2015-11-12 | 中国科学院声学研究所 | 媒体资源信息的处理方法、装置和*** |
CN105099761A (zh) * | 2015-06-26 | 2015-11-25 | 广东欧珀移动通信有限公司 | 一种集中管理客户端的配置信息的方法和*** |
CN108090069A (zh) * | 2016-11-22 | 2018-05-29 | 北京神州泰岳软件股份有限公司 | 一种在浏览器中显示网页资源的方法和装置 |
CN108696374A (zh) * | 2017-04-10 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 更新客户端配置的方法和装置 |
CN109660377A (zh) * | 2017-10-12 | 2019-04-19 | 中兴通讯股份有限公司 | 统一配置管理方法、业务服务器及操作维护管理平台 |
CN108647096A (zh) * | 2018-05-16 | 2018-10-12 | Oppo广东移动通信有限公司 | ***资源配置的调整方法、装置、存储介质及移动终端 |
CN109857429A (zh) * | 2019-01-04 | 2019-06-07 | 浪潮商用机器有限公司 | 一种虚拟机资源配置的更新方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110471679A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471679B (zh) | 客户端资源配置更新方法、装置及存储介质、服务器 | |
US20220004381A1 (en) | Integration of containers with external elements | |
US20200104732A1 (en) | Methods and system for managing predictive models | |
US9678740B2 (en) | Migration mechanism | |
US20070143379A1 (en) | Metadata driven deployment of applications | |
US8112771B2 (en) | Managing component programs within a service application | |
US7886035B2 (en) | Profile service based deployment configuration | |
US20090328025A1 (en) | Automatically managing versioning of mashup widgets | |
US10684838B2 (en) | Dynamic application deployment | |
CA2894094C (en) | Managing software suite component versions | |
CN113312037A (zh) | 应用于微服务的数据处理方法、装置、设备和存储介质 | |
WO2015149505A1 (zh) | Sdn应用集成管理和控制的方法、***及设备 | |
US20160335079A1 (en) | Zero down-time deployment of new application versions | |
US10776254B1 (en) | Executing integration scenario regression tests in customer landscapes | |
US20150067668A1 (en) | Installation engine and package format | |
US20210191739A1 (en) | Application startup method and apparatus, device and storage medium | |
US8683458B2 (en) | Automatic full install upgrade of a network appliance | |
US10013259B2 (en) | User initiated data rollback using operating system partitions | |
CN113157270A (zh) | 一种页面适配方法和装置 | |
US8578276B2 (en) | Dynamic adaptive cross-site custom interface | |
US9614932B2 (en) | Managing and implementing web application data snapshots | |
CN109597660B (zh) | 应用配置或服务更新方法、装置、存储介质及终端设备 | |
CN112426722B (zh) | 节点图的热更新方法、装置、存储介质及计算机设备 | |
US20140137092A1 (en) | Information processing apparatus, information processing system, non-transitory computer-readable storage medium having stored therein information processing program, and information processing method | |
JP2021184235A5 (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 |