CN114546438A - 一种基于自定义消息和时间序列的远程配置更新方案 - Google Patents

一种基于自定义消息和时间序列的远程配置更新方案 Download PDF

Info

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
Application number
CN202111669755.7A
Other languages
English (en)
Inventor
张进红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Electronic Commerce Co Ltd
Original Assignee
Tianyi Electronic Commerce Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianyi Electronic Commerce Co Ltd filed Critical Tianyi Electronic Commerce Co Ltd
Priority to CN202111669755.7A priority Critical patent/CN114546438A/zh
Publication of CN114546438A publication Critical patent/CN114546438A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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如下:
Figure BDA0003449321990000051
表1是本方案本发明方案与其他几种传统方案的优缺点对比。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种基于自定义消息和时间序列的远程配置更新方案,其特征在于,包括以下步骤:
(1)客户端与网关建立长连接并保持,将设备唯一id、用户id上传,同时将长连接与两个id的对应关系保存在数据库;
(2)配置人员在控制模块发布变更配置和本次变更时间,并保存到数据库,同时读取所有客户端唯一id、用户id和对应的长连接信息,准备发送自定义消息;
(3)控制模块通过设备id和用户id找到对应长连接向客户端发送变更消息;
(4)客户端接收到消息后向后端发起查询;用户打开客户端时,如果客户端缓存为空,则发起查询时请求参数中上次变更时间为空,如果客户端缓存不为空,则上次变更时间不为空,发起查询;
(5)网关收到查询请求后,查询数据库,对上次变更时间和本次变更时间进行对比:
1)当上次变更时间等于空或上次变更时间小于本次变更时间时,说明配置数据有更新,则将配置数据全部返回给客户端;只需要一次查询即可;
2)当上次变更时间大于等于本次变更时间时,说明配置数据没有更新,则返回成功字段即可;返回字段只有一个,节约了宽带;
客户端获取到数据后,则将数据缓存在本地,尤其是缓存配置更新时间,用于下次查询判断后端配置是否更新;
以上技术点构成了本发明的主要内容:客户端与后端保持长连接,后端保存客户端与长连接的关系,便于在两者之间发送消息,当服务端消息发送到客户端时,客户端即主动到后端发现配置变更,只需要一次查询,不需要轮训查询;同时在查询逻辑上,采用时间序列对比,判断配置的更改状态,最大限度减少流量消耗和宽带占用。
CN202111669755.7A 2021-12-30 2021-12-30 一种基于自定义消息和时间序列的远程配置更新方案 Pending CN114546438A (zh)

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)

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