CN115729583A - 一种实现客户端配置及时更新的方法及系统 - Google Patents
一种实现客户端配置及时更新的方法及系统 Download PDFInfo
- Publication number
- CN115729583A CN115729583A CN202111012080.9A CN202111012080A CN115729583A CN 115729583 A CN115729583 A CN 115729583A CN 202111012080 A CN202111012080 A CN 202111012080A CN 115729583 A CN115729583 A CN 115729583A
- Authority
- CN
- China
- Prior art keywords
- configuration
- client
- header data
- server
- response header
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 296
- 238000012545 processing Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现客户端配置及时更新的方法及系统;其方法包括:在客户端向服务器发起任一请求后,接收服务器反馈的响应报文;从响应报文中获取携带有客户端配置更新信息的响应头数据,响应头数据包括配置响应头数据和版本响应头数据;根据配置响应头数据判断存放在服务器的客户端配置是否存在更新;若存在更新,则根据版本响应头数据更新所述客户端的相应配置。本发明可根据客户端和服务器间频繁的Http请求,实现客户端重要配置的及时更新。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种实现客户端配置及时更新的方法及系统。
背景技术
一般的应用程序或者硬件设备,都会将一些重要的配置(例如功能开关)存放在服务器,如果需要对这些配置进行更新,通常有以下几种方法:
(1)重启应用程序或者设备,这种方法通常是在对客户端对应的应用程序的代码重新编写后,重新启动客户端对应的应用启动器,完成客户端配置信息的更新;
(2)前端特定操作触发,这种方法通常是用户在使用客户端对应的app时,进行了某个操作,引起了客户端配置的更新;
(3)定时任务触发,这种方法通常是在客户端设置请求间隔时间,在设置的时间上客户端向服务端发送请求,询问服务端配置项有没有发生变更,服务器向客户端反馈后才能进行配置更新。
以上这几种用于客户端配置更新的方法都有一个明显的缺点,那就是不够及时。当出现线上重大问题(例如功能模块存在崩溃问题),无法及时处理,进而影响用户体验,降低产品口碑。
发明内容
为解决上述客户端配置更新不及时的问题,本发明公开了一种实现客户端配置及时更新的方法及系统,能够根据客户端和服务器间频繁的Http请求,实现客户端重要配置的及时更新,具体的,本发明的技术方案如下:
一方面,本申请公开了一种实现客户端配置及时更新的方法,包括:在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置。
优选地,所述响应头数据是服务器根据与客户端约定的响应头数据规则而产生,主要包括:
设定所述配置响应头的初始数据为一组固定数,所述配置响应头数据的位数由存放在服务器的客户端配置的模块数量所决定,所述配置响应头数据的每一位数均代表所述存放在服务器的客户端配置的一个功能模块;
当所述存放在服务器的客户端配置的功能模块存在更新时,则将所述响应头数据中对应的位数的值设定为约定的代表更新的值;
设定所述版本响应头数据,所述版本响应头数据由所述存放在服务器的客户端配置的各功能模块的“配置版本号”和对应的“离散请求时间”组成;所述配置版本号的每位数代表对应的所述存放在服务器的客户端配置的功能模块的版本号;当所述存放在服务器的客户端配置的任一功能模块的版本发生更新时,更新所述配置版本号中对应的位数上的值,并设定发生版本更新的所述存放在服务器的客户端配置的功能模块的离散时间;
合并所述配置响应头数据和所述版本响应头数据,生成响应头数据。
优选地,所述根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新包括:判断所述配置响应头数据中是否包含有约定的代表更新的值;若是,则判定存放在服务器的客户端配置存在更新。
优选地,所述若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置包括:将所述获得的当前版本响应头数据与客户端存储的本地响应头数据进行比较,筛选出需要更新的功能模块;基于筛选出的需要更新的功能模块,获取相应的网址进行对应功能模块的配置更新;且将所述本地响应头数据更新为所述当前版本响应头数据,在后续不断更新中,新的版本响应头数据不断替换前一次的版本响应头数据。
优选地,所述一种实现客户端配置及时更新的方法还包括:所述存放在服务器的客户端配置的各功能模块包括开关模块、定位模块。
另一方面,本发明还公开了一种实现客户端配置及时更新的系统,包括:信息接收单元,用于在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;信息提取单元,用于从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;更新判断单元,用于根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;操作处理单元,用于当判定存放在服务器的客户端配置存在更新时,则根据所述版本响应头数据更新所述客户端的相应配置。
优选地,所述一种实现客户端配置及时更新的系统还包括:设置在所述服务器的报文设定单元;所述报文设定单元,用于根据与客户端约定的响应头数据规则而设定响应报文的响应头;所述报文设定单元主要包括:
第一设定子单元,用于设定配置响应头数据,所述配置响应头的初始数据为一组固定数,所述响应头数据的位数由存放在服务器的客户端配置的模块数量所决定,所述配置响应头数据的每一位数均代表所述存放在服务器的客户端配置的一个功能模块;当所述存放在服务器的客户端配置的功能模块存在更新时,则所述第一设定子单元将所述响应头数据中对应的位数的值设定为约定的代表更新的值;
第二设定子单元,用于设定版本响应头数据,所述版本响应头数据由所述存放在服务器的客户端配置的各功能模块的“配置版本号”和对应的“离散请求时间”组成;所述配置版本号的每位数代表对应的所述存放在服务器的客户端配置的功能模块的版本号;当所述存放在服务器的客户端配置的任一功能模块的版本发生更新时,所述第二设定子单元更新所述配置版本号中对应的位数上的值,并设定发生版本更新的所述存放在服务器的客户端配置的功能模块的离散时间;
响应头生成子单元,用于合并所述配置响应头数据和所述版本响应头数据,生成响应头数据。
进一步优选地,所述更新判断单元包括:更新判定子单元,用于判断所述配置响应头数据中是否包含有约定的代表更新的值;若是,则判定存放在服务器的客户端配置存在更新。
进一步优选地,所述操作处理单元包括:数据比较子单元,用于比较所述获得的当前版本响应头数据与客户端存储的本地响应头数据,筛选出需要更新的功能模块;模块更新子单元,用于基于筛选出的需要更新的功能模块,获取相应的网址进行对应功能模块的配置更新;数据替换子单元,用于将所述本地响应头数据更新为所述当前版本响应头数据。
进一步优选地,所述一种实现客户端配置及时更新的系统,还包括:存放在服务器的客户端配置的各功能模块包括开关模块、定位模块。
本发明至少包含以下一项技术效果:
本发明基于客户端与服务端频繁的通信请求的基础上,通过服务器与客户端约定的一种响应头数据规则实现客户端配置的及时更新,客户端向服务器任意发送一个请求,服务器均可在检测到配置有更新的情况下直接将更新的信息通过响应头发送至客户端,设计简单,执行效率高;
本发明不用重启设备或者应用程序即可实现更新,增强用户体验感;
本发明所约定的响应头数据包括配置响应头和版本响应头,通过配置响应头可以判断出客户端的配置是否存在更新,如果存在更新,则通过版本响应头的数据变化确定是哪一个模块需要更新,如果不存在更新,则不需要进行后续步骤,避免了不必要的繁琐步骤;
本发明在响应头数据规则中规定了数据的每一位数对应着一个模块,这个设计让系统能够根据数据的变化快速的判断是哪一个模块存在更新,继而能够让客户端快速获取该模块的更新网址。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实现客户端配置及时更新的方法的实施例1的流程图;
图2为本发明实现客户端配置及时更新的方法的实施例2的流程图;
图3为本发明实现客户端配置及时更新的方法的实施例3的流程图;
图4为本发明实现客户端配置及时更新的方法的实施例4的流程图;
图5为实施例5中客户端首次配置更新的实现流程示意图;
图6为实施例5中客户端后续配置更新的实现流程示意图;
图7为本发明实现客户端配置及时更新的系统的实施例6的结构框图;
图8为本发明实现客户端配置及时更新的系统的实施例7的结构框图;
图9为本发明实现客户端配置及时更新的系统的实施例8的结构框图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。
实施例1
本发明的实施例一如图1所示,一种实现客户端配置及时更新的方法,包括:
S101,在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;
具体的,本实施例中客户端向服务器所发送的请求并未限定具体请求内容,由于客户端与服务器之间的Http请求会比较频繁,比如用户在客户端上的APP进行了点击操作,那么客户端就会向服务器发起Http请求。因此,这个Http请求并不限定是配置更新的请求信息,更多的可能是不包含有配置更新的请求信息,只是客户端与服务器之间频繁的通信请求而已。
S102,从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;
具体的,在客户端与服务器进行Http请求的过程中,只要客户端配置存在更新,服务器则可以在向客户端反馈的响应报文中携带有客户端配置更新信息的响应头数据,保证只要配置有更新,就能及时向客户端反馈,其中,配置响应头数据可以判断客户端的配置是否存在更新,版本响应头数据可以确定客户端的哪个模块配置存在更新。例如,当网络维护人员发现软件的定位发生了偏差,对定位进行了更新,但用户暂时没有触发到定位服务,客户端在向服务端发送的Http请求中没有包含定位更新的请求,服务器仍然可以将定位更新信息反馈给软件客户端,使得客户端根据响应头数据对定位偏差进行及时的更新。
S103,根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;
具体的,在获取的响应头数据中先判断配置响应头数据是不是有变化,如果有变化,则再根据变化的数据进而确定存放在服务器的客户端配置是否存在更新。
S104,若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置。
具体的,在判断客户端配置存在更新后,由版本响应头的数据变化判断客户端哪个模块存在更新,进而实现客户端配置的更新。
本实施例1公开了一种实现客户端配置及时更新的方法,首先在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文,从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据,根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新,若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置。与目前当需要对客户端的配置信息进行调整时,通常需要重新启动客户端对应的应用服务器、前端特定操作触发或者定时任务触发这几种方法相比,本发明实施例基于客户端与服务器间频繁的Http请求的基础上,通过服务器与客户端间约定的响应头数据规则来实时的将客户端配置更新信息反馈给客户端,提高客户端配置更新的效率,保证客户端配置更新的及时性。
实施例2
本发明的实施例2在上述实施例1的基础上,对响应头数据的产生提供了具体的方法,如图2所示,具体的,响应头数据由服务器根据与客户端所约定的响应头数据规则而确定的,包括:
S201,设定配置响应头的初始数据为一组固定数,所述固定数可以包括二进制形式,十进制形式,例如“00000”、“2222222”等,本发明实施例不做限定。所述配置响应头数据的位数由存放在服务器的客户端配置的模块数量所决定,例如存放在服务器的客户端配置的模块数量为10,则所述初始数据可以为“0000000000”“2222222222”,所述配置响应头数据的每一位数均代表所述存放在服务器的客户端配置的一个功能模块;
S202,设定约定代表更新的值,当所述存放在服务器的客户端配置的功能模块存在更新时,则将所述响应头数据中对应的位数的值设定为所述约定的代表更新的值,所述约定的代表更新的值形式多样,包括数字、字母、符号,例如1,1+,a等,本发明实施例不做限定。
S203,设置版本响应头数据,所述版本响应头数据由所述存放在服务器的客户端配置的各功能模块的“配置版本号”和对应的“离散请求时间”组成;所述配置版本号的每位数代表对应的所述存放在服务器的客户端配置的功能模块的版本号,因此,所述配置版本号的位数与所述配置响应头数据的位数相同且一一对应;所述配置版本号的形式可以是多样的,包括一组数,一组字母,一组符号。
S204,设定版本响应头数据更新的方式,当所述存放在服务器的客户端配置的任一功能模块的版本发生更新时,更新所述配置版本号中对应的位数上的值,所述更新值的方式是多样的,其原则为不应与上一版本号重复,例如当某一模块更新时,对应位数上的数加2,本发明实施例不做限定,
S205,设定发生版本更新的所述存放在服务器的客户端配置的功能模块的离散时间;
S206,合并所述配置响应头数据和所述版本响应头数据,生成响应头数据。
示例的,设定配置响应头初始数据为“22222222”,版本响应头数据为“2,2,2,2,2,2,2,2,1”,当对应与配置响应头各位上的配置模块存在更新时,约定配置响应头数据代表更新的值为1,版本响应头的配置版本号对应位上的数加2,则配置响应头数据为“22222221”,版本响应头数据为“2,2,2,2,2,2,2,4,10”时,
生成一组响应头数据为“22222221
2,2,2,2,2,2,2,4,10”。
在客户端向服务器发出任一请求后,服务器根据所述响应头数据规则生成了所述响应头数据,在服务器反馈的响应报文即携带所述的响应头数据,根据获取的这组携带有配置更新信息的响应头数据,可以判断出客户端配置存在更新,将版本响应头数据与客户端存储的本地响应头数据进行对比,判断出需要配置更新的模块,使客户端获取相应的网址进行配置更新。
实施例3
本发明的实施例3,在上述实施例2的基础上,对判断客户端配置是否存在更新进行详细说明,本实施例的客户端配置更新实现方法如图3所示,具体的,包括:
S301,当接收到客户端向服务器发起的请求后,服务器先检查看存放在服务器的客户端配置是否存在更新,若存在更新,则根据与客户端所约定的规则生成响应头数据;该响应头数据包括配置响应头数据和版本响应头数据,具体的,响应头数据的生成在实施例2中已经进行详细说明,在此不做赘述;
S302,服务器向客户端反馈包含上述响应头数据的响应报文;
S303,客户端接收响应报文,并从该响应报文中获取到响应头数据;
S304,客户端判断接收到的响应头中的配置响应头数据中是否包含有约定的代表更新的值。例如,当约定的代表更新的值为1,则需要判断配置响应头中是否含有1;
S305,当判断出配置响应头数据中包含约定的值,则可以判定出存放在服务器的客户端配置存在更新。例如,配置响应头数据中包含1,则存放在服务器的客户端配置存在更新。
S306,若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置。
本实施例中,若有多个配置模块存在更新,则所判定的配置响应头数据中包含的1有多个,表明存放在服务器的客户端配置的多个模块存在更新。
实施例4
本发明的实施例4,在上述实施例1的基础上,对根据版本响应头数据对客户端的相应配置进行详细说明,具体的,如图4所示,包括:
S401,客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文
S402,从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;
S403,根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;若是,进入下一步骤;
S404,拉取客户端存储的本地响应头数据,将所述获得的当前版本响应头数据与客户端存储的本地响应头数据进行比较,筛选出需要配置更新的模块;
S405,基于筛选出的需要更新的功能模块,客户端获取相应的模块更新网址,从而进行对应的功能模块的配置更新;
S406,用当前版本响应头数据替换本地存储的版本响应头数据。
示例的,当用户在客户端某应用程序上进行了点击操作,客户端即向服务器发出http请求,服务器在反馈响应之前,会先检测存放在服务器的客户端配置是否存在更新,比如,检测到客户端配置的开关模块存在更新,则根据双方约定的响应头数据规则生成了响应头数据“配置响应头:11111112
版本响应头:1,1,1,1,1,1,1,2,1”,并反馈给了客户端,客户端在获取到这组响应头数据后,首先根据配置响应头数据判断客户端配置存在更新,然后拉取客户端存储的本地版本响应头数据“1,1,1,1,1,1,1,1,1”与当前版本响应头数据“1,1,1,1,1,1,1,2,1”进行比较,发现在配置版本号的个位数数据加1,此个位数对应的模块为开关模块,则筛选出需要更新的配置模块为开关模块,客户端即可获取开关模块的更新网址进行更新,并将“1,1,1,1,1,1,1,2,1”保存在本地存储中替换掉“1,1,1,1,1,1,1,1,1”。
实施例5
本发明的实施例5中客户端首次配置更新的实现流程示意图,如图5所示,包括:
(1)在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;
本实施例所述客户端为一种智能手表,所述智能手表向服务器发出一请求,所述服务器反馈响应报文;
(2)从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;
本实施例中,具体的,响应头数据是由服务器与客户端所约定的一种响应头数据规则而产生,所述响应头数据规则,具体为:
配置响应头Conf-Updates:设置初始化数据为0000000000000000的16位二进制形式,每一位对应一个配置模块,约定值为1时表示该模块数据有更新,0表示无需更新;
版本响应头Conf-Updates-V:由16组“配置版本号”加1组“离散请求时间”组成,中间用逗号隔开,每一组对应一个模块,设置初始化数据为"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1",当模块配置需要更新时,对应组的配置版本号+1,离散时间重新设置;
位数和模块的对应关系表如下(位数顺序从右到左,对应模块数据暂定):
表1:位数和模块的对应关系表
位数 | 对应模块 | 获取配置URL |
1 | 开关 | https://getSwitchConfig |
2 | 定位 | https://getLocationConfig |
3 | ... |
当开关模块的配置需要对用户做更新时:
当前配置响应头Conf-Updates=0000000000000000,将开关模块对应位的值设为1,也就是0000000000000001,即新的响应头为Conf-Updates=0000000000000001;
当前配置版本响应头Conf-Updates-V="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1",
开关对应组的配置版本号+1,然后再设置离散时间,最终值也就是"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1";
得到响应头数据为:“0000000000000001
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1”
(3)根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;
对于本发明实施例,具体可以包括:判断配置响应头数据中是否含有1;
对于本发明实施例,具体还可以包括:配置响应头数据中包含1,则可以判定出存放在服务器的客户端配置存在更新。
(4)若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置。
对于本发明实施例,具体包括:将版本响应头数据的配置版本号和离散请求时间进行拆分,结合所述配置版本号与存放在服务器的客户端的模块的对应关系,判断配置更新的模块为开关模块;
进一步地,客户端获取开关模块更新网址进行更新,同时,保存当前版本响应头数据。
图6为实施例5中客户端后续配置更新的实现流程示意图,包括:
(1)在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;
本实施例所述客户端为一种智能手表,所述智能手表向服务器发出一请求,所述服务器反馈响应报文;
(2)从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;
本实施例中,具体的,响应头数据是由服务器与客户端所约定的一种响应头数据规则而产生,所述响应头数据规则,具体为:
配置响应头Conf-Updates:设置初始化数据为0000000000000000的16位二进制形式,每一位对应一个配置模块,约定值为1时表示该模块数据有更新,0表示无需更新;
版本响应头Conf-Updates-V:由16组“配置版本号”加1组“离散请求时间”组成,中间用逗号隔开,每一组对应一个模块,设置初始化数据为"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1",当模块配置需要更新时,对应组的配置版本号+1,离散时间重新设置;
位数和模块的对应关系如表1所示。
当开关和定位模块的配置需要对用户做更新时:
当前配置响应头Conf-Updates=0000000000000000,将开关和定位模块对应位的值设为1,也就是0000000000000011,即新的响应头为Conf-Updates=0000000000000011;
当前配置版本响应头Conf-Updates-V="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1",
开关和定位对应组的配置版本号+1,然后再设置离散时间,最终值也就是"0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1";
得到响应头数据为:“0000000000000011
0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1”
(3)根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;
对于本发明实施例,具体可以包括:判断配置响应头数据中是否含有1;
对于本发明实施例,具体还可以包括:配置响应头数据中包含1,则可以判定出存放在服务器的客户端配置存在更新。
(4)若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置,
具体包括:拉取客户端存储的本地响应头数据,将所述获得的当前版本响应头数据与客户端存储的本地响应头数据进行比较;
筛选出需要配置更新的模块为开关模块和定位模块,客户端获取到相应的更新网址对对应的模块进行配置更新,同时用当前版本响应头数据替换本地存储的版本响应头数据。
实施例6
基于相同的技术构思,本发明实施例6公开了一种实现客户端配置及时更新的系统,如图7所示,包括:
信息接受单元110,用于在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;具体的,由于客户端与服务器之间的Http请求比较频繁,客户端向服务器发送请求后,服务器需要对此次请求做出反馈,所反馈的信息被信息接受单元所接收。
信息提取单元120,用于从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;具体的,服务器反馈的响应报文中不只是包含了客户端配置更新信息,还有很多其他的重要信息,因此需要信息提取单元将客户端配置更新信息提取出来,例如,用户想要删除某个信息,客户端则向服务器发出删除信息的请求,而客户端的定位模块的配置刚好存在更新,这时候,服务器向客户端反馈的响应报文里既包含了定位模块的更新信息响应头还含有对于删除信息请求的响应,信息提取单元只需要获取含有定位模块更新信息的响应头数据即可。
更新判断单元130,用于根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;具体的,获取到配置响应头数据后,便可判断配置响应头数据中是否包含有约定的代表更新的值,如果判断出配置响应头数据包含约定的代表更新的值,判定存放在服务器的客户端配置存在更新。
操作处理单元140,用于当判定存放在服务器的客户端配置存在更新时,则根据所述版本响应头数据更新所述客户端的相应配置;具体的,在确定客户端的配置存在更新后,用获取到的版本响应头数据来判断是哪一个模块需要更新,然后让客户端获取此模块的更新网址进行更新。
实施例7
本发明的实施例7如图8所示,在上述实施例6的基础上,还包括设置在服务器上的报文设定单元100;所述报文设定单元100,用于根据与客户端约定的响应头数据规则而设定响应报文的响应头;所述报文设定单元100主要包括:
第一设定子单元101,用于设定配置响应头数据和约定代表更新的值,便于后续客户端判断其存放于服务器的配置是否存在更新,具体的,首先为配置响应头设置一组初始数据,这个初始数据可以包括二进制形式,十进制形式,例如“00000”、“2222222”等,本实施例不做限定。配置响应头数据的位数与存放在服务器的客户端配置的模块数量是对应的,即有几个模块配置响应头的初始数据就有几位数,例如存放在服务器的客户端配置的模块数量为10,则所述初始数据可以为“0000000000”“2222222222”;同时设定约定代表更新的值,其形式包括数字、字母、符号,当所述存放在服务器的客户端配置的功能模块存在更新时,则所述第一设定子单元将所述响应头数据中对应的位数的值设定为约定的代表更新的值;
第二设定子单元102,用于设定版本响应头数据和版本响应头数据更新的方式,具体的,版本响应头数据分两部分组成,分别为“配置版本号”和“离散请求时间”;配置版本号的位数与所述存放在服务器的客户端配置的功能模块的个数相同,每位数代表对应着所述存放在服务器的客户端配置的功能模块的版本号,所述配置版本号的形式包括一组数,一组字母,一组符号。
同时设定版本响应头数据更新的方式,当所述存放在服务器的客户端配置的任一功能模块的版本存在更新时,版本响应头数据对应位数上的值会发生更新,例如当某一模块更新时,对应位数上的数加2。当所述存放在服务器的客户端配置的任一功能模块的版本发生更新时,所述第二设定子单元更新所述配置版本号中对应的位数上的值,并设定发生版本更新的所述存放在服务器的客户端配置的功能模块的离散时间;
响应头生成子单元103,用于合并所述配置响应头数据和所述版本响应头数据,生成响应头数据。具体的,将第一设定子单元设置的响应头数据和第二设定子单元设定的版本响应头数据合并成上下两行数的响应头数据。
所述第一设定子单元101和第二设定子单元102与响应头生成子单元103连接,报文设定单元100与信息接受单元110所连接。
实施例8
本发明的实施例8如图9所示,在上述实施例6或7的基础上,操作处理单元140还包括:
数据比较子单元141,用于比较所述获得的当前版本响应头数据与客户端存储的本地版本响应头数据;具体的,本地存储的版本相应头数据被拉取用于与当前版本响应头数据进行对比,判断是哪一位数的值发生了改变;
模块更新子单元142,用于筛选出需要配置的功能模块,以使得所述客户端获取相应的网址进行对应功能模块的配置更新;具体的,得到了改变的数据的具体位数,则可以根据位数与模块的对应关系,确定具体存在更新的模块是哪一模块,客户端即可获取此模块的更新网址进行对应的配置更新;
数据替换子单元143,用于将所述本地响应头数据更新为所述当前版本响应头数据;具体的,直接将当前的响应头数据存储在本地替换掉本地旧的响应头数据。
本发明的系统实施例与方法实施例对应,本申请中的方法实施例的技术细节同样适用于本申请的系统实施例,为减少重复,不再赘述。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种实现客户端配置及时更新的方法,其特征在于,包括:
在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;
从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;
根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;
若存在更新,则根据所述版本响应头数据更新所述客户端的相应配置。
2.根据权利要求1所述一种实现客户端配置及时更新的方法,其特征在于,所述响应头数据是服务器根据与客户端约定的响应头数据规则而产生,主要包括:
设定所述配置响应头的初始数据为一组固定数,所述配置响应头数据的位数由存放在服务器的客户端配置的模块数量所决定,所述配置响应头数据的每一位数均代表所述存放在服务器的客户端配置的一个功能模块;
当所述存放在服务器的客户端配置的功能模块存在更新时,则将所述响应头数据中对应的位数的值设定为约定的代表更新的值;
设定所述版本响应头数据,所述版本响应头数据由所述存放在服务器的客户端配置的各功能模块的“配置版本号”和对应的“离散请求时间”组成;所述配置版本号的每位数代表对应的所述存放在服务器的客户端配置的功能模块的版本号;
当所述存放在服务器的客户端配置的任一功能模块的版本发生更新时,更新所述配置版本号中对应的位数上的值,并设定发生版本更新的所述存放在服务器的客户端配置的功能模块的离散时间;
合并所述配置响应头数据和所述版本响应头数据,生成响应头数据。
3.根据权利要求2所述一种实现客户端配置及时更新的方法,其特征在于,所述根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新包括:
判断所述配置响应头数据中是否包含有约定的代表更新的值;若是,则判定存放在服务器的客户端配置存在更新。
4.根据权利要求1所述一种实现客户端配置及时更新的方法,其特征在于,所述根据所述版本响应头数据更新所述客户端的相应配置包括:
将所述获得的当前版本响应头数据与客户端存储的本地响应头数据进行比较,筛选出需要更新的功能模块;
基于筛选出的需要更新的功能模块,获取相应的网址进行对应功能模块的配置更新;且将所述本地响应头数据更新为所述当前版本响应头数据。
5.根据权利要求2所述一种实现客户端配置及时更新的方法,其特征在于,所述存放在服务器的客户端配置的各功能模块包括开关模块、定位模块。
6.一种实现客户端配置及时更新的系统,其特征在于,包括:
信息接收单元,用于在客户端向服务器发起任一请求后,接收所述服务器反馈的响应报文;
信息提取单元,用于从所述响应报文中获取携带有客户端配置更新信息的响应头数据,所述响应头数据包括配置响应头数据和版本响应头数据;
更新判断单元,用于根据所述配置响应头数据判断存放在服务器的客户端配置是否存在更新;
操作处理单元,用于当判定存放在服务器的客户端配置存在更新时,则根据所述版本响应头数据更新所述客户端的相应配置。
7.根据权利要求6所述一种实现客户端配置及时更新的系统,其特征在于,还包括:设置在所述服务器的报文设定单元;所述报文设定单元,用于根据与客户端约定的响应头数据规则而设定响应报文的响应头;所述报文设定单元主要包括:
第一设定子单元,用于设定配置响应头数据,所述配置响应头的初始数据为一组固定数,所述响应头数据的位数由存放在服务器的客户端配置的模块数量所决定,所述配置响应头数据的每一位数均代表所述存放在服务器的客户端配置的一个功能模块;当所述存放在服务器的客户端配置的功能模块存在更新时,则所述第一设定子单元将所述响应头数据中对应的位数的值设定为约定的代表更新的值;
第二设定子单元,用于设定版本响应头数据,所述版本响应头数据由所述存放在服务器的客户端配置的各功能模块的“配置版本号”和对应的“离散请求时间”组成;所述配置版本号的每位数代表对应的所述存放在服务器的客户端配置的功能模块的版本号;当所述存放在服务器的客户端配置的任一功能模块的版本发生更新时,所述第二设定子单元更新所述配置版本号中对应的位数上的值,并设定发生版本更新的所述存放在服务器的客户端配置的功能模块的离散时间;
响应头生成子单元,用于合并所述配置响应头数据和所述版本响应头数据,生成响应头数据。
8.根据权利要求6所述一种客户端配置更新的系统,其特征在于,所述更新判断单元包括:
更新判定子单元,用于判断所述配置响应头数据中是否包含有约定的代表更新的值;若是,则判定存放在服务器的客户端配置存在更新。
9.根据权利要求6所述一种实现客户端配置及时更新的系统,其特征在于,所述操作处理单元包括:
数据比较子单元,用于比较所述获得的当前版本响应头数据与客户端存储的本地响应头数据,筛选出需要更新的功能模块;
模块更新子单元,用于基于筛选出的需要更新的功能模块,获取相应的网址进行对应功能模块的配置更新;
数据替换子单元,用于将所述本地响应头数据更新为所述当前版本响应头数据。
10.根据权利要求7所述一种实现客户端配置及时更新的系统,其特征在于,所述存放在服务器的客户端配置的各功能模块包括开关模块、定位模块。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111012080.9A CN115729583A (zh) | 2021-08-31 | 2021-08-31 | 一种实现客户端配置及时更新的方法及系统 |
PCT/CN2021/117922 WO2023029079A1 (zh) | 2021-08-31 | 2021-09-13 | 一种实现客户端配置及时更新的方法及系统 |
EP21955610.7A EP4339767A1 (en) | 2021-08-31 | 2021-09-13 | Method and system for updating client configuration in timely manner |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111012080.9A CN115729583A (zh) | 2021-08-31 | 2021-08-31 | 一种实现客户端配置及时更新的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729583A true CN115729583A (zh) | 2023-03-03 |
Family
ID=85291278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111012080.9A Pending CN115729583A (zh) | 2021-08-31 | 2021-08-31 | 一种实现客户端配置及时更新的方法及系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4339767A1 (zh) |
CN (1) | CN115729583A (zh) |
WO (1) | WO2023029079A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965721B (zh) * | 2014-07-10 | 2019-03-19 | 腾讯科技(深圳)有限公司 | 一种对应用程序进行更新的方法及装置 |
US20190342356A1 (en) * | 2017-01-02 | 2019-11-07 | Koninklijke Kpn N.V. | Selectively updating a dynamic manifest file |
CN107608689B (zh) * | 2017-08-07 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 客户端上应用程序的更新方法、装置及电子设备 |
CN109240726B (zh) * | 2018-09-30 | 2022-04-22 | 湖北华联博远科技有限公司 | 一种软件更新方法及系统 |
CN111510466B (zh) * | 2019-01-30 | 2022-09-23 | 阿里巴巴集团控股有限公司 | 客户端的数据更新方法、装置、电子设备及可读介质 |
CN112732302A (zh) * | 2021-01-07 | 2021-04-30 | 北京字节跳动网络技术有限公司 | 应用程序的配置更新方法、装置和电子设备 |
-
2021
- 2021-08-31 CN CN202111012080.9A patent/CN115729583A/zh active Pending
- 2021-09-13 EP EP21955610.7A patent/EP4339767A1/en active Pending
- 2021-09-13 WO PCT/CN2021/117922 patent/WO2023029079A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023029079A1 (zh) | 2023-03-09 |
EP4339767A1 (en) | 2024-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106959965B (zh) | 一种信息处理方法及服务器 | |
US20170329565A1 (en) | Information processing method, client, server, and computer-readable storage medium | |
CN1269104A (zh) | 可靠地更新一个信息服务消息 | |
CN104052655A (zh) | 一种群聊方法以及即时通信客户端 | |
JP7448672B2 (ja) | 情報処理方法、システム、装置、電子機器及び記憶媒体 | |
WO2019019652A1 (zh) | 推送信息的处理方法、装置、计算机设备和存储介质 | |
CN106933839A (zh) | 一种页面跳转方法和装置 | |
CN104702782A (zh) | 一种短信管理方法及其移动终端 | |
CN113704063B (zh) | 一种云手机的性能监控方法、装置、设备及存储介质 | |
CN111431802B (zh) | 区块链节点通信优化系统及方法 | |
CN106331152B (zh) | 一种实现模块间信息同步的方法及装置 | |
CN105677882B (zh) | 一种展示评论信息的方法和装置 | |
CN105469772A (zh) | 一种远程kvm控制方法、远程kvm控制端及系统 | |
CN109587197B (zh) | 关联上报数据的方法、装置和系统 | |
CN110855812A (zh) | 基于ip地址的定位方法、装置和设备 | |
CN114356335A (zh) | 数据处理方法、装置、设备及介质 | |
CN115344315B (zh) | 小程序页面的皮肤切换方法、装置和电子设备 | |
CN115729583A (zh) | 一种实现客户端配置及时更新的方法及系统 | |
CN103957230A (zh) | 一种客户端用户数确定方法、服务器、客户端及系统 | |
CN112583741A (zh) | 基于缓存队列的多速率模式数据发送控制方法及装置 | |
CN106021438A (zh) | 防止大批量数据被抓取的方法、装置及系统 | |
CN110557324B (zh) | 未读im消息处理方法及装置 | |
CN108737460B (zh) | 一种连接的处理方法及客户端 | |
CN101411119A (zh) | 一种生成文件修复请求消息的方法及客户端 | |
CN113778544B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230824 Address after: No.168, Dongmen Middle Road, Xiaobian community, Chang'an Town, Dongguan City, Guangdong Province Applicant after: Guangdong Xiaotiancai Technology Co.,Ltd. Address before: 523851 east side of the 15th floor, 168 dongmenzhong Road, Xiaobian community, Chang'an Town, Dongguan City, Guangdong Province Applicant before: GUANGDONG AIMENG ELECTRONIC TECHNOLOGY CO.,LTD. |
|
TA01 | Transfer of patent application right |