CN114546438A - 一种基于自定义消息和时间序列的远程配置更新方案 - Google Patents
一种基于自定义消息和时间序列的远程配置更新方案 Download PDFInfo
- Publication number
- CN114546438A CN114546438A CN202111669755.7A CN202111669755A CN114546438A CN 114546438 A CN114546438 A CN 114546438A CN 202111669755 A CN202111669755 A CN 202111669755A CN 114546438 A CN114546438 A CN 114546438A
- Authority
- CN
- China
- Prior art keywords
- client
- configuration
- time
- long connection
- query
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于自定义消息和时间序列的远程配置更新方案,包括以下步骤:(1)客户端与网关建立长连接并保持,将设备唯一id、用户id上传,同时将长连接与两个id的对应关系保存在数据库;(2)配置人员在控制模块发布变更配置和本次变更时间,并保存到数据库,同时读取所有客户端唯一id、用户id和对应的长连接信息,准备发送自定义消息;(3)控制模块通过设备id和用户id找到对应长连接向客户端发送变更消息。本发明利用自定义消息,及时通知客户端更新最新配置;利用自定义消息,本方案只需要客户端查询一次就能获得配置更新,减轻服务器压力,保护后端系统,使之持续稳定;利用时间判断是否有更新,减少数据传输大小,减少宽带使用。
Description
技术领域
本发明涉及互联网分布式服务通信技术领域,特别涉及一种基于自定义消息和时间序列的远程配置更新方案。
背景技术
设备终端(比如智能音箱,手机)运行的软件需要出厂预装或下发应用市场后安装,安装完成后的软件在终端本地运行,是传统的CS(Client-Server)架构。相应的本地软件客户端运行需要的一些参数在安装的时候已固定,无法实时更改。在出现一些紧急情况(如某些域名被封禁)需要更新运行参数时,就会遇到很多困难,如配置更新不及时,宽带浪费,服务器压力大:(1)若采用重新发出新版更新软件客户端方式,则更新周期太长,无法应对紧急情况。因为新发一个版本需要经过开发,测试,加固,适配,安全测试,合规检测,内部审核,市场审核等步骤,并且依赖应用市场和用户操作,所以更新周期比较长。(2)若采用定时查询配置参数,则会导致后端服务器压力很大,且宽带浪费严重。软件客户端出厂或发布应用市场时设定定时任务,间隔同等时间从后端查询最新的配置,如果活跃用户数有1亿,每隔24小时查询一次,则每天平均每秒查询1157.41次,如果查询周期缩短,则每秒的查询次数q=1157.41*24/h(h为间隔时间,单位为小时)。如果间隔时间太短,会导致服务器压力大,宽带浪费。如果间隔时间长,就达不到实时更新的效果,也就无法应对紧急情况发生。
发明内容
本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于自定义消息和时间序列的远程配置更新方案,实现CS模式下远程配置快速更新,减少宽带使用,减轻服务端压力。
本发明提供了如下的技术方案:
本发明提供一种基于自定义消息和时间序列的远程配置更新方案,包括以下步骤:
(1)客户端与网关建立长连接并保持,将设备唯一id、用户id上传,同时将长连接与两个id的对应关系保存在数据库;
(2)配置人员在控制模块发布变更配置和本次变更时间,并保存到数据库,同时读取所有客户端唯一id、用户id和对应的长连接信息,准备发送自定义消息;
(3)控制模块通过设备id和用户id找到对应长连接向客户端发送变更消息;
(4)客户端接收到消息后向后端发起查询;用户打开客户端时,如果客户端缓存为空,则发起查询时请求参数中上次变更时间为空,如果客户端缓存不为空,则上次变更时间不为空,发起查询;
(5)网关收到查询请求后,查询数据库,对上次变更时间和本次变更时间进行对比:
1)当上次变更时间等于空或上次变更时间小于本次变更时间时,说明配置数据有更新,则将配置数据全部返回给客户端;只需要一次查询即可;
2)当上次变更时间大于等于本次变更时间时,说明配置数据没有更新,则返回成功字段即可;返回字段只有一个,节约了宽带;
客户端获取到数据后,则将数据缓存在本地,尤其是缓存配置更新时间,用于下次查询判断后端配置是否更新;
以上技术点构成了本发明的主要内容:客户端与后端保持长连接,后端保存客户端与长连接的关系,便于在两者之间发送消息,当服务端消息发送到客户端时,客户端即主动到后端发现配置变更,只需要一次查询,不需要轮训查询;同时在查询逻辑上,采用时间序列对比,判断配置的更改状态,最大限度减少流量消耗和宽带占用。
与现有技术相比,本发明的有益效果如下:
1、利用自定义消息,及时通知客户端更新最新配置,传统方式需要等待定时任务的执行。
2、利用自定义消息,本方案只需要客户端查询一次就能获得配置更新,减轻服务器压力,保护后端系统,使之持续稳定。而传统方案需要客户端不断轮训判断是否有更新。如果活跃用户数有1亿,每隔24小时查询一次,则每天平均每秒查询1157.41次,如果查询周期缩短,则每秒的查询次数q=1157.41*24/h(h为间隔时间,单位为小时),而且是每天都有这样大的查询量。采用发明的方案只需要在开始时查询一次。
3、利用时间判断是否有更新,减少数据传输大小,减少宽带使用。而传统方式是每次查询都返回同样的全量数据,浪费宽带。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明本发明方案的实现流程示意图;
图2是传统方案的实现流程示意图;
图3是本发明实施例流程图;
图4是本发明实施例的模块划分图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。其中附图中相同的标号全部指的是相同的部件。
实施例1
如图1-4,本发明提供一种基于自定义消息和时间序列的远程配置更新方案,
本发明包括以下S01、S02、S03、S04、S05几个模块,如图4:
S01、客户端与网关建立长连接并保持,将设备mac、用户登录帐号、ip地址上传,同时将长连接与两个id和ip地址的对应关系保存在数据库;
S02、配置人员在控制模块发布变更配置和本次变更时间modifiedTime,并保存到数据库,同时读取所有客户端设备mac、用户登录帐号、ip地址和对应的长连接信息,准备群发消息,告知所有客户端配置的变更;
S03、控制模块通过设备mac、用户登录帐号、ip地址找到客户端打开时建立的长连接,长连接分为第三方连接和手机厂商连接,都可以发送消息,如果第三方连接不在线,则通过手机厂商连接进行发送;
S04、客户端收到自定义消息后,用户打开客户端时,如果客户端缓存为空,则发起查询时请求参数中上次变更时间为空,如果客户端缓存不为空,则上次变更时间不为空。发起查询;
S05、网关收到查询请求后,对上次变更时ifModifiedSince与服务端本次变更时间modifiedTime进行对比:
1)当ifModifiedSince等于null或ifModifiedSince小于modifiedTime时,说明配置数据有更新,则将配置数据全部返回给客户端。只需要一次查询即可;
2)当ifModifiedSince大于等于modifiedTime时,说明配置数据没有更新,则返回成功字段即可。返回字段只有一个,节约了宽带。
客户端获取到数据后,则将数据缓存在本地,尤其是配置更新时间,用于下次查询判断后端配置是否更新;
图3为实施例的实现流程图
当客户端收到自定义消息后立即查询失败怎么办?
客户端收到自定义消息后,即知道此时应该去查询最新的配置,查询失败后,要再次查询,直到查询成功为止,并保存查到的最新配置和最新的配置变更时间;
当客户端不在线,没有收到自定义消息怎么办?
客户端不在线,说明客户端没有启动,或者当前隐藏在后台,当用户启动或者再次打开时会收到自定义消息,此时只需要根据自定义消息的内容立即向后端查询配置更新即可。
表1如下:
表1是本方案本发明方案与其他几种传统方案的优缺点对比。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于自定义消息和时间序列的远程配置更新方案,其特征在于,包括以下步骤:
(1)客户端与网关建立长连接并保持,将设备唯一id、用户id上传,同时将长连接与两个id的对应关系保存在数据库;
(2)配置人员在控制模块发布变更配置和本次变更时间,并保存到数据库,同时读取所有客户端唯一id、用户id和对应的长连接信息,准备发送自定义消息;
(3)控制模块通过设备id和用户id找到对应长连接向客户端发送变更消息;
(4)客户端接收到消息后向后端发起查询;用户打开客户端时,如果客户端缓存为空,则发起查询时请求参数中上次变更时间为空,如果客户端缓存不为空,则上次变更时间不为空,发起查询;
(5)网关收到查询请求后,查询数据库,对上次变更时间和本次变更时间进行对比:
1)当上次变更时间等于空或上次变更时间小于本次变更时间时,说明配置数据有更新,则将配置数据全部返回给客户端;只需要一次查询即可;
2)当上次变更时间大于等于本次变更时间时,说明配置数据没有更新,则返回成功字段即可;返回字段只有一个,节约了宽带;
客户端获取到数据后,则将数据缓存在本地,尤其是缓存配置更新时间,用于下次查询判断后端配置是否更新;
以上技术点构成了本发明的主要内容:客户端与后端保持长连接,后端保存客户端与长连接的关系,便于在两者之间发送消息,当服务端消息发送到客户端时,客户端即主动到后端发现配置变更,只需要一次查询,不需要轮训查询;同时在查询逻辑上,采用时间序列对比,判断配置的更改状态,最大限度减少流量消耗和宽带占用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111669755.7A CN114546438A (zh) | 2021-12-30 | 2021-12-30 | 一种基于自定义消息和时间序列的远程配置更新方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111669755.7A CN114546438A (zh) | 2021-12-30 | 2021-12-30 | 一种基于自定义消息和时间序列的远程配置更新方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546438A true CN114546438A (zh) | 2022-05-27 |
Family
ID=81669325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111669755.7A Pending CN114546438A (zh) | 2021-12-30 | 2021-12-30 | 一种基于自定义消息和时间序列的远程配置更新方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546438A (zh) |
-
2021
- 2021-12-30 CN CN202111669755.7A patent/CN114546438A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8060622B2 (en) | System and method for session reestablishment between client terminal and server | |
US7228330B2 (en) | Method for the optimization of network traffic, and associated implementation device | |
CN111970315A (zh) | 推送消息的方法、装置及系统 | |
JP2005530372A5 (zh) | ||
CN109067936B (zh) | 一种域名解析的方法及装置 | |
CN111510325B (zh) | 报警信息推送方法、服务器、客户端及系统 | |
WO2011015009A1 (zh) | 页面数据获取方法及服务器、页面更新方法及服务器 | |
CN102123362A (zh) | 一种移动设备自动获取手机号码的方法 | |
CN113452808A (zh) | 域名解析方法、装置、设备及存储介质 | |
CN115103008A (zh) | 一种服务请求转发系统 | |
CN108337280B (zh) | 一种资源更新方法及装置 | |
CN114546438A (zh) | 一种基于自定义消息和时间序列的远程配置更新方案 | |
CN112039966A (zh) | 一种基于ActiveMQ的客户端在线状态更新的方法、程序和系统 | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
CN111131341A (zh) | 一种控制数据处理的方法、装置、设备以及存储介质 | |
JP2005509207A (ja) | 通信システムにおける要求 | |
CN110865845B (zh) | 提高接口访问效率的方法、存储介质 | |
CN110769462B (zh) | 网络访问控制方法和装置 | |
CN111641664B (zh) | 一种爬虫设备业务请求方法、装置、系统和存储介质 | |
CN105681436A (zh) | 控制端与物联网设备之间基于alljoyn协议的通信方法 | |
CN111212136A (zh) | 一种基于Modbus协议的数据缓存方法、装置、系统及存储介质 | |
CN111464579A (zh) | 一种消息处理方法及服务端 | |
KR100363202B1 (ko) | 서버기능이 구비된 이동통신 단말기 및 그 통신방법과이를 이용하는 무선통신 시스템 및 그 통신방법과 서버의통신 방법 | |
CN112737828A (zh) | 一种智能卡获取ota服务器ip地址的方法及系统 | |
US20190312929A1 (en) | Information synchronization method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |