CN110928564A - 安全更新应用的方法、业务服务器、集群及存储介质 - Google Patents

安全更新应用的方法、业务服务器、集群及存储介质 Download PDF

Info

Publication number
CN110928564A
CN110928564A CN201911094580.4A CN201911094580A CN110928564A CN 110928564 A CN110928564 A CN 110928564A CN 201911094580 A CN201911094580 A CN 201911094580A CN 110928564 A CN110928564 A CN 110928564A
Authority
CN
China
Prior art keywords
application
data
instruction
encryption
random number
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.)
Granted
Application number
CN201911094580.4A
Other languages
English (en)
Other versions
CN110928564B (zh
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.)
Zhongke Youxun Beijing Technology Co Ltd
Original Assignee
Zhongke Youxun Beijing Technology 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 Zhongke Youxun Beijing Technology Co Ltd filed Critical Zhongke Youxun Beijing Technology Co Ltd
Priority to CN201911094580.4A priority Critical patent/CN110928564B/zh
Publication of CN110928564A publication Critical patent/CN110928564A/zh
Application granted granted Critical
Publication of CN110928564B publication Critical patent/CN110928564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本申请公开安全更新应用的方法、业务服务器、集群及存储介质。其中,一种应用更新方法,包括:中转服务器中第二应用向数据收集服务器发送第二指令获取请求;所述数据收集服务器响应于所述第二指令获取请求,将所述第二指令作为未加密数据,并且基于双层加密方式进行加密处理,得到第二指令对应的加密结果;向所述第二应用发送所述第二指令对应的加密结果,所述第二指令包括下述中至少一个:下载第二应用的更新数据的指令、更新第二应用的指令、备份第二应用的指令、运行更新后的第二应用的指令、下载第一应用的更新数据的指令;所述第二应用接收所述第二指令对应的加密结果,并执行所述第二指令。

Description

安全更新应用的方法、业务服务器、集群及存储介质
技术领域
本申请涉及大数据技术领域,尤其涉及安全更新应用的方法、业务服务器、集群及存储介质。
背景技术
在智能运维(Artificial Intelligence for IT Operations,缩写为AIOPS)或者应用性能监测等场景中,服务器集群可以部署大量的分布式应用。这里,分布式应用例如可以是采集应用(例如为监测业务服务器的探针)、数据处理应用(例如对探针采集到数据进行分析的代理)等等。目前,为了对采集应用进行升级,通常将采集应用与管理升级包的管理服务器进行直接连接。采集应用可以从管理服务器获取升级包。在一些场景中,采集应用和管理服务器之间的升级包和指令不加密。因此,与升级有关的数据通信存在数据被篡改的问题。
发明内容
根据本申请一个方面,提供一种安全更新应用的方法,在集群中执行,所述集群包括多个业务服务器、多个中转服务器和至少一个数据收集服务器,每个业务服务器包括用于采集监测数据的第一应用,每个中转服务器包括用于处理监测数据的第二应用,其中每个业务服务器、每个中转服务器和每个数据收集服务器存储有相同的加密包集合;所述方法包括:
中转服务器中第二应用向数据收集服务器发送第二指令获取请求;
所述数据收集服务器响应于所述第二指令获取请求,将所述第二指令作为未加密数据,并且基于双层加密方式进行加密处理,得到第二指令对应的加密结果;
向所述第二应用发送所述第二指令对应的加密结果,所述第二指令包括下述中至少一个:下载第二应用的更新数据的指令、更新第二应用的指令、备份第二应用的指令、运行更新后的第二应用的指令、下载第一应用的更新数据的指令;
所述第二应用接收所述第二指令对应的加密结果,并执行所述第二指令;
其中,所述双层加密方式,包括:
从所述加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到第一加密数据;
生成第一随机数和第二随机数;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,其中所述目标数据包含所述选定的加密包的索引标识和所述第一加密数据;
基于所述第二随机数,对所述第一随机数进行第一循环移位操作,得到第三随机数;
生成所述未加密数据对应的加密结果,所述加密结果包括:所述第三随机数、所述第二随机数和所述第二加密数据。
在一些实施例中,所述从所述加密包集合中选定加密包,包括:从所述加密包集合中随机选定一个索引标识,并将选定的索引标识对应的加密包作为选定的加密包;基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,包括:基于第一随机数,对所述目标数据进行异或处理,得到第二加密数据。
在一些实施例中,上述方法进一步包括:
所述第二应用基于双层解密方式对所述第二指令对应的加密结果进行解密处理,得到所述第二指令;
其中,所述双层解密方式,包括:
从加密结果中提取所述第三随机数、所述第二随机数和所述第二加密数据;
基于所述第二随机数,对所述第三随机数进行第二循环移位操作,得到所述第一随机数,其中,所述第二循环移位操作与所述第一循环移位操作的移位方向相反;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到所述选定的加密包的索引标识和所述第一加密数据;
根据所述加密包的索引标识,从本地存储的加密包集合中取得所述选定的加密包;
基于所选定的加密包,对所述第一加密数据进行解密,得到未加密数据。
在一些实施例中,上述方法进一步包括:
当所述第二指令包括下载第二应用的更新数据的指令时,所述第二应用确定对所述第二应用的更新数据的请求参数;
所述第二应用将所述请求参数作为未加密数据,并且基于所述双层加密方式进行加密处理,得到所述请求参数对应的加密结果;
所述第二应用向所述数据收集服务器发送请求参数对应的加密结果;
所述数据收集服务器响应于接收到所述请求参数对应的加密结果,基于所述双层解密方式对所述请求参数对应的加密结果进行解密处理,得到所述请求参数;
响应于所述请求参数,所述数据收集服务器将所述第二应用的更新数据作为未加密数据,基于所述双层加密方式进行加密处理,得到所述第二应用的更新数据对应的加密结果;
数据收集服务器向所述第二应用发送所述第二应用的更新数据对应的加密结果;
所述第二应用基于所述双层解密方式对所述第二应用的更新数据对应的加密结果进行解密处理,得到所述第二应用的更新数据。
在一些实施例中,上述方法进一步包括:
所述数据收集服务器为每个第一应用确定与每个第一应用匹配的第二应用;
当所述第二指令为下载相匹配的第一应用的更新数据的指令时,所述第二应用确定对所述相匹配的第一应用的更新数据的请求参数
所述第二应用将所述相匹配的第一应用的更新数据的请求参数作为未加密数据,并基于所述双层加密方式进行加密处理,得到所述相匹配的第一应用的更新数据的请求参数对应的加密结果;
所述第二应用向所述数据收集服务器发送所述相匹配的第一应用的更新数据的请求参数对应的加密结果;
所述数据收集服务器响应于接收到所述相匹配的第一应用的更新数据的请求参数对应的加密结果,基于所述双层解密方式对所述相匹配的第一应用的更新数据的请求参数对应的加密结果进行解密处理,得到所述相匹配的第一应用的更新数据的请求参数;
响应于所述相匹配的第一应用的更新数据的请求参数,所述数据收集服务器将所述相匹配的第一应用的更新数据作为未加密数据,并且基于所述双层加密方式进行加密处理,得到所述相匹配的第一应用的更新数据对应的加密结果;
数据收集服务器向所述第二应用发送所述相匹配的第一应用的更新数据对应的加密结果;
所述第二应用基于所述双层解密方式对所述相匹配的第一应用的更新数据对应的加密结果进行解密处理,得到所述相匹配的第一应用的更新数据。
在一些实施例中,上述方法进一步包括:
每个业务服务器中第一应用向数据收集服务器发送第一指令获取请求;
所述数据收集服务器响应于所述第一指令获取请求,基于所述双层加密方式对第一指令进行加密处理,得到所述第一指令对应的加密结果;
所述数据收集服务器向所述第一应用发送所述第一指令对应的加密结果;
所述第一应用基于所述双层解密方式对接收到的所述第一指令对应的加密结果进行解密处理,得到所述第一指令;
当接收到的第一指令包括从相匹配的第二应用获取第一应用的更新数据的指令时,所述第一应用基于所述双层加密方式加密第一应用的更新数据的请求参数,得到所述第一应用的更新数据的请求参数对应的加密结果;
所述第一应用向相匹配的第二应用发送所述第一应用的更新数据的请求参数对应的加密结果;
所述相匹配的第二应用基于所述双层解密方式对所述第一应用的更新数据的请求参数对应的加密结果进行解密处理,得到所述第一应用的更新数据的请求参数;
响应于所述第一应用的更新数据的请求参数,所述相匹配的第二应用将所述第一应用的更新数据作为未加密数据,并且基于所述双层加密方式进行加密处理,得到所述第一应用的更新数据对应的加密结果;
所述相匹配的第二应用向所述第一应用发送所述第一应用的更新数据对应的加密结果;
所述第一应用基于所述双层解密方式对所述第一应用的更新数据对应的加密结果进行解密处理,得到所述第一应用的更新数据。
在一些实施例中,上述方法进一步包括:
当接收到的第一指令包括备份第一应用的指令时,第一应用进行程序备份操作;
当第一应用接收到的第一指令包括更新第一应用的指令时,第一应用基于已下载的第一应用的更新数据进行更新操作;
当第一应用接收到的第一指令包括运行更新后的第一应用的指令时,第一应用进行重启操作或者等待业务服务器的系统重启;
当所述第一应用完成重启后,向所述数据收集服务器发送包含更新后版本号的通知消息,以便所述数据收集服务器响应于所述通知消息为更新后的第一应用分配版本相匹配的第二应用。
根据本申请一个方面,提供一种安全更新应用的方法,应用于业务服务器的第一应用中,所述业务服务器存储有加密包集合;所述方法包括:
向数据收集服务器发送第一指令获取请求,以便所述数据收集服务器响应于所述第一指令获取请求而返回第一指令对应的加密结果,其中,所述加密结果包括由所述数据收集服务器生成的第三随机数、第二随机数和第二加密数据;
基于双层解密方式对接收到的所述第一指令对应的加密结果进行解密处理,得到所述第一指令,并执行所述第一指令,其中所述第一指令包括下述中至少一个:下载第一应用的更新数据的指令、备份第一应用的指令、更新第一应用的指令、运行更新后的第一应用的指令;
其中,所述双层解密方式,包括:
从加密结果中提取第三随机数、第二随机数和第二加密数据;
基于第二随机数,对所述第三随机数进行第二循环移位操作,得到第一随机数;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到加密包的索引标识和第一加密数据;
根据所述加密包的索引标识,从所述加密包集合中取得加密包;
基于取得的加密包,对所述第一加密数据进行解密,得到未加密数据。
在一些实施例中,上述方法进一步包括:
当第一指令为从相匹配的第二应用获取第一应用的更新数据的指令时,生成对第一应用的更新数据的请求参数;
基于双层加密方式加密所述请求参数,得到所述第一应用的更新数据的请求参数对应的加密结果;
向相匹配的第二应用发送所述第一应用的更新数据的请求参数对应的加密结果;
接收来自所述相匹配的第二应用的所述第一应用的更新数据对应的加密结果;
基于所述双层解密方式对所述第一应用的更新数据对应的加密结果进行解密处理,得到所述第一应用的更新数据;
其中,所述双层加密方式,包括:
从所述加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到第一加密数据;
生成第一随机数和第二随机数;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,其中所述目标数据包含所述选定的加密包的索引标识和所述第一加密数据;
基于所述第二随机数,对所述第一随机数进行第一循环移位操作,得到第三随机数;
生成所述未加密数据对应的加密结果,所述加密结果包括:所述第三随机数、所述第二随机数和所述第二加密数据。
在一些实施例中,上述方法进一步包括:
当接收到的第一指令包括备份第一应用的指令时,第一应用进行程序备份操作;
当接收到的第一指令包括更新第一应用的指令时,第一应用基于已下载的第一应用的更新数据进行更新操作;
当接收到的第一指令包括运行更新后的第一应用的指令时,第一应用进行重启操作或者等待业务服务器的系统重启;
当所述第一应用完成重启后,向所述数据收集服务器发送包含更新后版本号的通知消息,以便所述数据收集服务器响应于所述通知消息为更新后的第一应用分配版本相匹配的第二应用。
根据本申请一个方面,提供一种安全更新应用的方法,其特征在于,应用于中转服务器的第二应用,所述中转服务器存储有加密包集合,所述方法包括:
向数据收集服务器发送第二指令获取请求,以便所述数据收集服务器响应于所述第二指令获取请求而返回第二指令对应的加密结果;
基于双层解密方式对接收到的所述第二指令对应的加密结果进行解密处理,得到所述第二指令,并执行所述第二指令,其中,所述第二指令包括下述中至少一个:下载第二应用的更新数据的指令、更新第二应用的指令、备份第二应用的指令、运行更新后的第二应用的指令、下载第一应用的更新数据的指令;
其中,所述双层解密方式,包括:
从加密结果中提取所述第三随机数、所述第二随机数和所述第二加密数据;
基于所述第二随机数,对所述第三随机数进行第二循环移位操作,得到所述第一随机数,其中,所述第二循环移位操作与所述第一循环移位操作的移位方向相反;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到所述选定的加密包的索引标识和所述第一加密数据;
根据所述选定的加密包的索引标识,从所述加密包集合中取得所述选定的加密包;
基于取得所述选定的加密包,对所述第一加密数据进行解密,得到未加密数据。
在一些实施例中,上述方法进一步包括:
当第二指令为下载第一应用的更新数据的指令时,第二应用生成对第一应用的更新数据的请求参数;
基于双层加密方式加密所述请求参数,得到所述第一应用的更新数据的请求参数对应的加密结果;
向数据收集服务器发送所述第一应用的更新数据的请求参数对应的加密结果;
接收来自所述数据收集服务器的所述第一应用的更新数据对应的加密结果;
基于所述双层解密方式对所述第一应用的更新数据对应的加密结果进行解密处理,得到所述第一应用的更新数据;
其中,所述双层加密方式,包括:
从所述加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到第一加密数据;
生成第一随机数和第二随机数;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,其中目标数据包含所述选定的加密包的索引标识和所述第一加密数据的目标数据;
基于所述第二随机数,对所述第一随机数进行第一循环移位操作,得到第三随机数;
生成所述未加密数据对应的加密结果,所述加密结果包括:所述第三随机数、所述第二随机数和所述第二加密数据。
在一些实施例中,上述方法进一步包括:
当第二指令为下载第二应用的更新数据的指令时,生成对第二应用的更新数据的请求参数
基于双层加密方式加密所述第二应用的更新数据的请求参数,得到所述第二应用的更新数据的请求参数对应的加密结果;
向数据收集服务器发送所述第二应用的更新数据的请求参数对应的加密结果;
接收来自所述数据收集服务器的所述第二应用的更新数据对应的加密结果;
基于所述双层解密方式对所述第二应用的更新数据对应的加密结果进行解密处理,得到所述第二应用的更新数据。
在一些实施例中,上述方法进一步包括:
当第二指令为备份所述第二应用的指令时,第二应用进行程序备份操作;
当第二指令为更新所述第二应用的指令时,利用所述第二应用的更新数据进行更新操作;
当第二指令为运行所述更新后的第二应用时,进行重启操作,并在完成重启操作后向所述数据收集服务器发送携带版本信息的注册请求,以便所述数据收集服务器记录更新后的第二应用的版本号。
根据本申请一个方面,提供一种安全更新应用的方法,其特征在于,应用于数据收集服务器,所述数据收集服务器存储有加密包集合,所述方法包括:
接收来自第一应用的第一指令获取请求;
响应于所述第一指令获取请求,将第一指令作为未加密数据,并且基于双层加密方式进行加密处理,得到第一指令对应的加密结果,其中所述第一指令包括下述中至少一个:下载第一应用的更新数据的指令、备份第一应用的指令、更新第一应用的指令、运行更新后的第一应用的指令;
其中,所述双层加密方式,包括:
从所述加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到第一加密数据;
生成第一随机数和第二随机数;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,其中所述目标数据包含所述选定的加密包的索引标识和所述第一加密数据;
基于所述第二随机数,对所述第一随机数进行第一循环移位操作,得到第三随机数;
生成所述未加密数据对应的加密结果,所述加密结果包括:所述第三随机数、所述第二随机数和所述第二加密数据。
在一些实施例中,上述方法进一步包括:
接收来自第二应用的第二指令获取请求;
响应于所述第二指令获取请求,基于双层加密方式对第二指令进行加密处理,得到第二指令对应的加密结果;
向所述第二应用发送所述第二指令对应的加密结果;
其中,所述双层解密方式,包括:
从加密结果中提取所述第三随机数、所述第二随机数和所述第二加密数据;
基于所述第二随机数,对所述第三随机数进行第二循环移位操作,得到所述第一随机数,其中,所述第二循环移位操作与所述第一循环移位操作的移位方向相反;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到所述选定的加密包的索引标识和所述第一加密数据;
根据所述加密包的索引标识,从本地存储的加密包集合中取得所述选定的加密包;
基于取得所述选定的加密包,对所述第一加密数据进行解密,得到未加密数据。
在一些实施例中,上述方法进一步包括:
接收来自第二应用的所述第一应用的更新数据的请求参数对应的加密结果;
基于所述双层解密方式对所述第一应用的更新数据的请求参数对应的加密结果进行解密处理,得到所述第一应用的更新数据的请求参数;
响应于所述第一应用的更新数据的请求参数,基于所述双层加密方式对所述第一应用的更新数据进行加密处理,得到所述第一应用的更新数据对应的加密结果;
向所述第二应用发送所述第一应用的更新数据对应的加密结果;
接收来自第二应用的所述第二应用的更新数据的请求参数对应的加密结果;
基于所述双层解密方式对所述第二应用的更新数据的请求参数对应的加密结果进行解密处理,得到所述第二应用的更新数据的请求参数;
响应于所述第二应用的更新数据的请求参数,基于所述双层加密方式对所述第二应用的更新数据进行加密处理,得到所述第二应用的更新数据对应的加密结果;
向所述第二应用发送所述第二应用的更新数据对应的加密结果。
根据本申请一个方面,提供一种集群,其特征在于,用于执行安全更新方法。
根据本申请一个方面,提供一种业务服务器,其特征在于,用于执行安全更新方法。
根据本申请一个方面,提供一种中转服务器,其特征在于,用于执行安全更新方法。
根据本申请一个方面,提供一种数据收集服务器,其特征在于,用于执行安全更新方法。
综上,根据本申请的双层加密方式能够极大提高传输指令和数据的防篡改能力。在此基础上,本申请的集群可以安全的更新应用,避免被恶意的代码植入导致数据被窃取或者破坏掉应用程序导致业务故障的问题,从而极大提高集群内各服务器的安全性。特别说明的是,本申请实施例的双层加密方式,可以在第一层加密中随机选定加密算法进行第一次加密,并且在第二层加密中通过随机数(第一随机数)对第一次的加密结果进行第二次加密,以及通过随机数载体(即第二随机数和第三随机数的组合)携带加解密信息(即加解密方法索引)。本申请的实施例由于每次传输数据时执行一次双层加密方式,使得每次数据传输的随机数载体不同,第一次加密的加密算法也不同,从而极大提高了防破解能力。这样,即时两次传输的原始数据相同,每次实际传输的数据包也不同。相应地,每次截获的数据都不同,可以极大提高防破解能力。另外强调的是,相比于单次会话期间加密方式不变的情况,本申请实施例通过在每一次数据传输时执行一次双层加密方式(而不是在多次数据传输期间采用相同密码或者秘钥的方式),可以极大提高防破解能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本申请一些实施例的应用场景的示意图;
图2示出了根据本申请一些实施例的安全更新应用的方法200的流程图;
图3示出了根据本申请一些实施例的双层加密方式的流程图;
图4示出了根据本申请一些实施例的双层加密方式的示意图;
图5示出了根据本申请一个实施例的安全更新应用的方法500的流程图;
图6示出了根据本申请一些实施例的双层解密方式的流程图;
图7示出了根据本申请一个实施例的服务器的组成结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一些应用场景中,服务器之间可以建立http会话,并在单次会话期间进行多次数据传输。为了数据传输安全,服务器可以对每次传输的数据进行一次加密。在单次会话期间,多次加密采用的密码(秘钥)均相同。然而,由于单次会话期间采用的密码和秘钥不变,通过多次截获样本数据可以推算加密算法的秘钥。图1示出了根据本申请一些实施例的应用场景的示意图。如图1所示,集群100可以包括多个业务服务器(例如图1示出的业务服务器110、120、130和N)、多个中转服务器(例如图1示出的140、150和M)和至少一个数据收集服务器(例如图1示出的160和190)。其中,N和M为正整数。
在集群100中存在多个数据收集服务器时,多个数据收集服务器可以执行分布式应用。业务服务器和中转服务器通常部署在业务处理现场。换言之,业务服务器和中转服务器部署在第一局域网210中。多个数据收集服务器可以部署在第二局域网220中。第一局域网210中服务器可以通过网络200与第二局域网220中服务器进行远程通讯。这里,网络200例如可以是广域网(WAN)。
业务服务器可以执行各种业务程序,本申请对此不做限制。业务服务器可以包括一个或多个第一应用170。这里,第一应用170例如可以对业务服务器进行监控,并采集监控数据。这里,监测数据例如可以包括业务服务器对http请求的响应时间、监测到的异常告警信息等等,本申请对此不做限制。
中转服务器可以包括第二应用180。第二应用180可以对监测数据进行处理,并将处理结果上传到数据收集服务器160。这里,第二应用180的例如可以对监测数据进行聚合处理。例如,第二应用180可以对业务服务器一段时间(例如1分钟或者10分钟等)内http请求的响应时间进行均值计算,并将响应时间的均值作为一个聚合结果。又例如,第二应用180可以将一段时间中内容相同的告警消息聚合成一条告警消息,并将聚合成的告警消息作为一条聚合结果。
在一些实施例中,集群100可以包括大量的业务服务器。中转服务器的数量少于业务服务器。每个中转服务器中第二应用180可以接收多个业务服务器中的监测数据。例如,集群100具有2000个业务服务器、60个中转服务器。一个中转服务器可以接收并处理40个业务服务器的监测数据。
综上,根据本申请一些实施例的集群100,通过在业务服务器和数据收集服务器之间部署用于数据预处理的中转服务器,可以使得业务服务器仅进行监测而不需要对监测数据进行聚合等数据预处理,从而节省业务服务器的资源和提高业务处理效率。
另外,本申请的集群100实现了对第一应用170和第二应用180的安全更新,从而提高服务器集群的安全性。下面结合图2对应用的安全更新方案进行说明。
图2示出了根据本申请一些实施例的应用的更新方法200的流程图。方法200例如可以在图1所示的集群100中执行。
图1中每个中转服务器和每个数据收集服务器均存储有相同的加密包集合。加密包集合包括多个加密包和每个加密包的索引标识,不同加密包对应不同的加解密方式。每个加密包可以包括加密函数和解密函数。这里,加密包集合例如可以对称加密方式的加密包、非对称加密方式的加密包和哈希方式的加密包等等。其中,对称加密方式的加密包例如可以包括:DES包、DESX包、IDEA包、RC4包和AES包等等。非对称加密方式的加密包例如可以包括:RSA包和DSA包等等。。下面以数据收集服务器160和第二应用180之间的通信过程为例,对数据加密和解密进行说明。
如图2所示,在步骤S201中,数据收集服务器160确定与每个第一应用170匹配的第二应用180。这里,不同的业务服务器可以运行不同版本的第一应用170。不同的中转服务器可以运行不同版本的第二应用180。在第一应用170和第二应用180版本匹配时,第二应用180可以正常处理相匹配的第一应用170中的监测数据。数据收集服务器160可以根据各业务服务器中第一应用170的版本号以及中转服务器中第二应用180的版本号,确定第一应用170和第二应用180的匹配关系。例如,数据收集服务器160可以确定业务服务器110中第一应用170与中转服务器140中第二应用180相匹配,以及确定业务服务器120中第一应用170与中转服务器150中第二应用180相匹配。另外,业务服务器可以从数据收集服务器160获取相匹配的第二应用180的信息。这里,第二应用180的信息例如可以包括第二应用180的标识和访问地址,但不限于此。
每个中转服务器中第二应用180可以执行步骤S202,向数据收集服务器160发送第二指令获取请求。
数据收集服务器160可以执行步骤S203,响应于第二指令获取请求,将第二指令作为未加密数据(即待加密数据),并且基于双层加密方式进行加密处理,得到第二指令对应的加密结果。这里,第二指令例如可以包括下述中至少一个:下载第二应用的更新数据的指令、更新第二应用的指令、备份第二应用的指令、运行更新后的第二应用的指令、下载第一应用的更新数据的指令,但不限于此。换言之,第二指令可以包括一条或多条指令。
在一些实施例中,数据收集服务器160可以为每个第二应用180维护一个指令列表。在每次接收到一个第二应用180发送的第二指令获取请求时,数据收集服务器160可以从加密列表取出待返回的第二指令。在指令列表为空时,数据收集服务器160可以返回空的第二指令。
数据收集服务器160可以执行步骤S204,向第二应用180发送第二指令对应的加密结果。
第二应用180可以接收加密结果,并解密得到第二指令。另外,第二应用180可以执行步骤S205,执行第二指令。即,执行下载第二应用的更新数据的、更新第二应用、备份第二应用、运行更新后的第二应用、或者下载第一应用的更新数据的操作。
另外说明的是,第一应用170和数据收集服务器160之间的通信可以进行双层加密处理。第一应用170和第二应用180之间的数据通信也可以进行双层加密处理。
综上,根据本申请的服务器集群100,通过对第二指令进行加密,可以防止第二指令被篡改,从而提高指令传输安全性。在此基础上,第二应用可以通过执行第二指令,下载第一应用170的更新数据或者第二应用170的更新数据等操作。
在一些实施例中,双层加密方式可以实施为方法300。
如图3所示,在步骤S301中,从加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到未加密数据对应的第一加密数据。这里,步骤S301可以采用随机方式选定加密包,或者采用其他的选择方式选定加密包。又例如,步骤S301可以随机选定索引标识(也可以称为索引号),并将选定的索引标识对应的加密包作为选定的加密包。例如,步骤S301随机选定的加密包为IDEA包,可以对未加密数据进行IDEA方式的加密。这里,步骤S301加密方式可以认为是双层加密中的第一层加密操作。步骤S301通过随机选定加密包(即随机选定加密算法),可以提高第一层加密方式的灵活性,和提高第一层加密方式的防破解能力。
在步骤S302中,生成第一随机数和第二随机数。这里,第一随机数例如为13位。第一随机数每一位为十进制数字。例如,第一随机数为“1234567890324”。第二随机数的取值范围在第一随机数的位数的范围内,例如1~13。第二随机数例如为“3”。
在步骤S303中,基于第一随机数,对目标数据进行混淆处理(也可以称为第二次加密操作),得到第二加密数据。目标数据包含选定的索引标识和第一加密数据。目标数据例如可以用A表示,第一随机数例如可以用B表示。目标数据时对选定的索引标识和第一加密数据的拼接结果。索引标识例如为“3”,第一加密数据例如为“xxxxx”。目标数据的数据格式可以表示为“3|xxxxx”。这里,混淆处理的方式例如为异或操作。第二加密数据可以表示为C。C=A^B
在步骤S304中,基于第二随机数,对第一随机数进行第一循环移位操作,得到第三随机数。这里,第一循环移位操作的移动方向例如为将末尾的数字向首位移动。例如,第二随机数为3,对第一随机数“1234567890324”进行循环移位操作后,得到的第三随机数为“3241234567890”。另外,第一循环移位操作的移动方向也可以被设置为将前端的数字向末尾移动。
在步骤S305中,生成未加密数据对应的加密结果,加密结果(也可以称为加密封装数据包)包括:第三随机数、第二随机数和第二加密数据。例如,加密结果拼接成的字符序列为:“3241234567890”,“3”,C。
另外说明的是,本申请的实施例在每次需要进行加密时,都会重新生成第一随机数、第二随机数和重新选定加密包。这样,即使两次执行方法300的原始数据相同,两次得到的加密结果也不同。换言之,本申请实施例的双层加密方式,可以在第一层加密中随机选定加密算法进行第一次加密,并且在第二层加密中通过随机数(第一随机数)对第一次的加密结果进行第二次加密,以及通过随机数载体(即第二随机数和第三随机数的组合)携带加解密信息(即加解密方法索引)。本申请的实施例由于每次传输数据时执行一次双层加密方式,使得每次数据传输的随机数载体不同,第一次加密的加密算法也不同,从而极大提高了防破解能力。即时两次传输的原始数据相同,每次实际传输的数据包也不同。相应地,每次截获的数据都不同,从而极大提高防破解能力。综上,根据本申请的双层加密方式能够极大提高传输指令的防篡改能力。在此基础上,本申请的集群可以安全的更新应用,避免被恶意的代码植入导致数据被窃取或者破坏掉应用程序导致业务故障的问题,从而极大提高集群内各服务器的安全性。另外说明的是,相比于单次会话期间加密方式不变的情况,本申请实施例通过在每一次数据传输时执行一次双层加密方式,可以极大提高防破解能力。
为了更详细说明双层加密方式过程,本申请结合图4对进行说明。如图4所示,加密包集合410可以包括:AES包411、IDEA包412和DSA包413等加密包。未加密数据为“Data”。步骤S301例如从加密包集合410中选定IDEA包412,并生成第一加密数据A。IDEA包的索引号例如为“1”。步骤S302生成的第一随机数为“1234567890324”,生成的第二随机数例如为“3”。步骤S303利用第一随机数对包含A以及“1”的目标数据进行混淆处理,得到第二加密数据C。步骤S304利用第二随机数“3”对第一随机数“1234567890324”进行第一循环移位操作,得到第三随机数“3241234567890”。在此基础上,步骤S305可以生成未加密数据的对应的加密结果“3241234567890,3,C”。
图5示出了根据本申请一些实施例的应用更新方法500的流程图。方法500例如可以由集群100执行。
在一些实施例中,每个第一应用170可以包括用于采集监测数据的第一代理171和管理第一代理171的第一控制器172。第一代理171可以被认为是部署在业务服务器中的探针(agent)。每个第二应用180包括用于聚合监测数据的第二代理181和管理第二代理181的第二控制器182。
每个业务服务器中第一应用170可以执行步骤S501,向数据收集服务器160发送第一注册请求。第一注册请求例如可以包括第一应用的版本信息(即版本号)。这里,第一应用的版本号例如为第一代理171的版本号。另外,第一注册请求还可以包括运行第一应用170的业务服务器的状态信息。状态信息例如包括业务服务器的访问地址、业务服务器的标识、处理器标识、硬盘容量和内存容量等信息。数据收集服务器160可以执行步骤S502,响应于第一注册请求,记录第一应用170的版本号和设置第一应用170的标识。这里,通过设置第一应用170的标识,数据收集服务器160可以通过设置的标识区分不同业务服务器中的第一应用170。另外,数据收集服务器160还可以执行步骤S503,向第一应用170发送设置的标识。
每个中转服务器中第二应用180可以执行步骤S504,向数据收集服务器160发送第二注册请求。第二注册请求例如可以包括第二应用180的版本号。这里,第二应用180的版本号例如为第二代理181的版本号。另外,第二注册请求还可以包括运行第二应用180的中转服务器的状态信息。中转服务器的状态信息例如可以包括中转服务器的访问地址、业务服务器的标识、处理器标识、硬盘容量和内存容量等信息。
数据收集服务器160可以执行步骤S505,响应于第二注册请求,记录第二应用的版本号,并且为第二应用180设置标识。这样,数据收集服务器160可以根据设置的标识来区分集群100中各中转服务器。另外,数据收集服务器160可以执行步骤S506,向第二应用180发送设置的标识。这里,设置标识和发送设置的标识的操作可以称为分配标识。
另外,数据收集服务器160可以执行步骤S507,为每个第一应用170确定与每个第一应用170匹配的第二应用180。在一些实施例中,步骤S507可以根据第一应用170的版本号和第二应用180的版本号,确定第一应用170和第二应用180之间的匹配关系,即确定与每个第一应用170匹配的第二应用180。这样,数据收集服务器160通过确定匹配关系,可以合理分配第一应用170的监测数据的发送目标(发送目标为相匹配的第二应用180)。
第一应用170还可以执行步骤S508,向数据收集服务器160发送对第二应用180的信息获取请求。
数据收集服务器160可以执行步骤S509,响应于对第二应用180的信息获取请求,返回与第一应用170相匹配的第二应用180的标识和第二应用180的访问地址。这里,第二应用180的访问地址例如可以包括第二应用180所处中转服务器的IP地址和第二应用180的端口号。
第一应用170可以执行步骤S510,向相匹配的第二应用180发送监测数据。
相匹配的第二应用180可以执行步骤S511,对监测数据进行聚合处理。例如,第二应用180可以通过第二代理181进行聚合处理。另外,第二应用180还可以执行步骤S512,将聚合结果上传到数据收集服务器160。
综上,根据本申请实施例的集群100,通过数据收集服务器160确定第一应用170和第二应用180的匹配关系,可以使得第一应用170能够将监测数据发送相匹配的第二应用180。在一些场景中,集群100中存在多个版本的第一应用170和多个版本的第二应用180。如果第一应用170将监测数据发送到不匹配的第二应用180,第二应用180无法对来自不匹配的第一应用170的监测数据进行聚合处理。因此,根据本申请实施例的集群100可以通过自动控制第一应用170和第二应用180的匹配关系,能够避免第一应用170将监测数据发送到不匹配的第二应用180,进而提高对监测数据的预处理能力。
在一些实施例中,第一应用170可以周期性向数据收集服务器160发送第一指令获取请求,以便从数据收集服务器160获取待执行的第一指令。第二应用180可以周期性向数据收集服务器160发送第二指令获取请求,以便从数据收集服务器160获取待执行的第二指令。简言之,第一应用170和第二应用180均可以周期性从数据收集服务器160获取待执行命令。数据收集服务器160可以确定由第一应用170执行的第一指令,和确定由第二应用180执行的第二指令。例如,数据收集服务器160可以为每个第一应用170维护一个第一指令队列,为每个第二应用180维护一个第二指令队列。数据收集服务器160可以将生成的第一指令缓存在第一指令队列中,将第二指令缓存在第二指令队列中。第一指令的范围包括:从相匹配的第二应用180获取第一应用的更新数据的指令、备份第一应用170的指令、更新第一应用170的指令和运行更新后的第一应用170的指令。第二指令的范围包括:下载第二应用180的更新数据的指令、更新第二应用180的指令、备份第二应用180的指令、运行更新后的第二应用180的指令、下载第一应用170的更新数据的指令。
在一些实施例中,第二应用180可以执行步骤S513,向数据收集服务器160发送第二指令获取请求。
数据收集服务器160可以执行步骤S514,响应于第二指令获取请求,将第二指令(例如从第二指令列表取出的一条或多条指令)作为未加密数据,基于双层加密方式进行加密处理,得到第二指令对应的加密结果。
数据收集服务器160可以执行步骤S515,向第二应用180发送第二指令对应的加密结果。这里,第二指令还可以包括指令标识(Command ID)和第二应用180的更新数据的标识,但不限于此。更新数据可以被划分成一个或多个数据块。每个数据块对应一个索引号。更新数据的标识例如为一个或多个索引号。指令标识用于识别步骤S515发出的指令。
第二应用180可以执行步骤S516,基于双层解密方式对第二指令对应的加密结果进行解密处理,得到第二指令。这里,双层解密方式例如可以实施为方法600。
如图6所示,在步骤S601中,从加密结果中提取第三随机数、第二随机数和第二加密数据。
在步骤S602中,基于第二随机数,对第三随机数进行第二循环移位操作,得到第一随机数。这里,第二循环移位操作是针对上文中第一循环移位操作的逆向操作。
在步骤S603中,基于第一随机数,对第二加密数据进行解密处理,得到目标数据。目标数据包括选定的加密包的索引标识和第一加密数据。在一些实施例中,目标数据例如可以用A表示,第一随机数例如可以用B表示。第二加密数据可以表示为C。其中,C=A^B。步骤S603可以利用第一随机数对第二加密数据进行异或操作,从而得到第一加密数据和选定的索引标识。即,A=C^B。
在步骤S604中,根据选定的加密包的索引标识,从本地存储的加密包集合中取得选定的加密包。
在步骤S605中,基于选定的加密包,对第一加密数据进行解密,得到未加密数据。
综上,方法600可以对方法300的加密结果进行解密。
第二应用180可以执行一次或多次步骤S517,生成对第二应用180的更新数据的请求参数。这里,请求参数例如可以包括第二应用180的标识和更新数据的标识(例如索引号)。这样,数据收集服务器在接收到请求参数后,可以根据请求参数确定请求更新数据的第二应用180。在一些实施例中,如果第二指令包括多个索引号,第二应用180可以执行多次步骤S517。每次执行步骤S517生成的请求参数可以携带一个或多个索引号。每个索引号对应更新数据中一个数据块。
在每次步骤S517后,第二应用180可以执行步骤S518,将步骤S517生成的第二应用180的更新数据的请求参数作为未加密数据,基于双层加密方式进行加密处理,得到请求参数对应的加密结果。
在每次执行步骤S518后,第二应用180可以执行步骤S519,向数据收集服务器160发送请求参数对应的加密结果。
数据收集服务器可以执行步骤S520,响应于接收到请求参数对应的加密结果,基于双层解密方式对请求参数对应的加密结果进行解密处理,得到请求参数。
在步骤S521中,响应于得到请求参数,数据收集服务器160基于双层加密方式对第二应用的更新数据进行加密处理,得到第二应用的更新数据对应的加密结果。例如,S521可以对请求参数中索引号对应的数据块(即第二应用的更新数据的数据块)进行加密处理。
在步骤S522中,数据收集服务器160可以向第二应用180发送第二应用的更新数据对应的加密结果。
第二应用180可以执行步骤S523,基于所述双层解密方式对第二应用的更新数据对应的加密结果进行解密处理,得到第二应用的更新数据。
第二应用180在获取到第二应用180的完整的更新数据后,可以执行步骤S524,对接收到的更新数据进行校验操作。这里,校验操作例如为MD5等校验方式。在通过校验后,第二应用180可以执行步骤S525,向数据收集服务器160发送表示下载成功的消息。下载成功的消息可以包括:当前运行的第二应用180的版本号和已下载的更新数据的版本号。第二应用180的更新数据例如为第二代理181的升级包。数据收集服务器160可以执行步骤S526,响应于接收到下载成功的消息,向第二应用180发送响应消息。响应消息表示数据收集服务器160已接收到下载成功的消息。另外,如果第二应用180未接收到响应消息,会重复执行步骤S525,直到接收到响应消息。
在一些实施例中,步骤S516得到的第二指令包括备份第二应用180的指令。响应于备份第二应用180的指令,第二应用180可以进行程序备份操作。例如,第二应用180可以由第二控制器182将更新之前的第二代理181的程序进行备份操作。
在一些实施例中,步骤S516获取的第二指令包括更新第二应用180的指令。响应于更新第二应用180的指令,第二应用180可以执行步骤S527,利用第二应用的更新数据进行更新操作。例如,第二控制器182可以利用第二代理181的更新数据进行替换操作,从而更新第二代理181。
在一些实施例中,第一应用170可以执行步骤S528,向数据收集服务器160发送第一指令获取请求。响应于接收到第一指令获取请求,数据收集服务器160可以执行步骤S529,可以将第一指令作为为未加密数据,并基于所述双层加密方式进行加密处理,得到第一指令对应的加密结果。
在步骤S530中,向第一应用170发送第一指令对应的加密结果。
第一应用170可以执行步骤S531,基于双层解密方式对接收到的第一指令对应的加密结果进行解密处理,得到第一指令。
在一些实施例中,步骤S531得到的第一指令为从相匹配的第二应用170获取第一应用170的更新数据的指令。第一应用170可以执行步骤S532,生成对第一应用170的更新数据的请求参数。请求参数可以包括第一应用170的标识,以及一个或多个索引号。每个索引号对应第一应用的更新数据中一个数据块。
在步骤S533中,基于双层加密方式加密第一应用的更新数据的请求参数,得到第一应用的更新数据的请求参数对应的加密结果。
在步骤S534中,向相匹配的第二应用180发送第一应用的更新数据的请求参数对应的加密结果。
相匹配的第二应用可以执行步骤S535,基于双层解密方式对第一应用的更新数据的请求参数对应的加密结果进行解密处理,得到第一应用的更新数据的请求参数。
响应于第一应用的更新数据的请求参数,第二应用可以执行步骤S536,将所述第一应用的更新数据作为未加密数据,并且基于双层加密方式进行加密处理,得到第一应用的更新数据对应的加密结果。
在步骤S537中,第二应用180向第一应用170发送第一应用的更新数据对应的加密结果。
在步骤S538中,第一应用170可以基于双层解密方式对第一应用的更新数据对应的加密结果进行解密处理,得到第一应用的更新数据。
第一应用170还可以对接收到的第一应用170的更新数据进行校验。在校验成功后,第一应用170还可以执行步骤S539,向数据收集服务器160发送表示下载更新数据成功的通知消息。
在一些实施例中,步骤S531得到的第一指令包括备份第一应用的指令。第一应用170可以进行程序备份操作。第一应用170例如可以由第一控制器172对当前运行的第一代理171进行程序备份。
在一些实施例中,步骤S531得到的第一指令包括更新第一应用的指令时,第一应用170可以基于已下载的第一应用的更新数据进行更新操作。例如,第一控制器172利用第一代理171的更新数据替换旧版本的第一代理171。第一应用170还可以向数据收集服务器160发送表示更新成功的通知消息。
当第一应用170接收到的第一指令包括运行更新后的第一应用170的指令时,第一应用170可以进行重启操作或者等待业务服务器的系统重启。在一些应用场景中,第一应用170不允许自动进行重启,第一应用170可以等待业务服务器的系统重启而实现重启第一应用170。另外,在允许第一应用170进行自动重启的场景中,第一应用170可以由第一控制器172重启更新后的第一代理171。
另外,在完成重启后,第一应用170可以向数据收集服务器160发送包含更新后版本号的通知消息。例如,第一应用170更新前的版本号为V1.0,更新后的版本号为V2.0。
另外说明的是,在获取的第一指令包括多条指令(下载第一应用更新数据的指令、备份第一应用的指令、更新第一应用的指令和重启更新后第一应用的指令)时,第一应用170可以依次执行多条指令,即,首先下载第一应用的更新数据,然后备份第一应用、然后更新第一应用,最后重启更新后第一应用(或者等待业务服务器重启)。
数据收集服务器160可以响应于通知消息为更新后的第一应用170分配版本相匹配的第二应用180。例如,业务服务器110中第一应用170在重启之前与中转服务器140中第二应用180相匹配。在完成重启之后,业务服务器110运行版本为V2.0。中转服务器140中第二应用180的版本号为V1.0。数据收集服务器160例如可以确定中转服务器150中第二应用180(版本号为V2.0)与业务服务器110中V2.0版本的第一应用170相匹配。数据收集服务器160还执行向第一应用170发送重新分配的第二应用180的访问地址和标识。例如,数据收集服务器160可以向业务服务器110中第一应用170发送中转服务器150中第二应用180的标识和访问地址。在此基础上,业务服务器110中第一应用170不再向中转服务器140发送监测数据,而是向中转服务器150发送监测数据,并由中转服务器150中第二应用180对来自业务服务器110中的监测数据进行聚合等预处理操作。这里,预处理操作是指在数据收集服务器160进行数据处理之前进行的处理操作。
本申请的集群100可以通过双层加密方式传输指令(例如第一指令、第二指令、下载指令等等)和更新数据,可以避免应用更新过程中被恶意植入代码,进而避免数据被窃取和避免数据被破坏而导致的业务故障,进而极大提高了集群的运行安全性和数据安全性。
另外,根据本申请的集群100可以通过数据收集服务器160,控制业务服务器执行的第一指令和中转服务器执行的第二指令,从而能够自动控制中转服务器从数据收集服务器160下载第一应用170的更新数据,并且自动控制业务服务器下载更新数据。根据本申请的集群100可以能够避免人工更新应用的麻烦,自动地对业务服务器中第一应用进行更新,并且通过中转服务器提高业务服务器获取更新数据的部署效率和提高集群的运行稳定性。
在一些实施例中,当第二应用180接收到的第二指令包括运行更新后的第二应用180时,第二应用180可以进行重启操作。例如,第二控制器182可以重启更新后的第二代理181。这样,第二应用180可以运行新版本的第二代理181。在完成重启操作后第二应用180可以向数据收集服务器160发送携带版本信息的注册请求。这里,注册请求可以包括第二应用180的更新后的版本号。例如,中转服务器140的第二应用180升级之前版本号为V1.0,更新好的版本号为V3.0。响应于接收到注册请求,数据收集服务器160可以记录第二应用180更新后的版本号。例如,数据收集服务器160可以将第二应用180的版本号更新成V3.0。数据收集服务器160在确定业务服务器150中第一应用170的版本号为V3.0时,可以将业务服务器150中第一应用170与中转服务器140中的第二应用180进行匹配,并且向业务服务器150中第一应用170发送中转服务器140发送中转服务器140的第二应用180的标识和访问地址。
综上,在根据本申请的集群100中,第一应用170、第二应用180和数据收集服务器(例如160)在传输指令和更新数据时,可以采用双层加密和双层解密方式进行加解密处理,从而能够极大提高集群更新的安全性。
图7示出了一个服务器的组成结构图。图7中服务器可以是业务服务器、中转服务器或者数据收集服务器。如图7所示,该服务器包括一个或者多个处理器(CPU)702、通信模块704、存储器706、用于互联这些组件的通信总线708以及用于接口710。用户接口可以包括输出设备712和输入设备714。输出设备712例如为显示器等设备。输入设备714例如为鼠标、键盘等设备。
处理器702可通过通信模块704接收和发送数据以实现网络通信和/或本地通信。
存储器706可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器706存储处理器702可执行的指令集,包括:
操作系统716,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用718,包括用于实现上述安全更新应用的方法的各种程序,这种程序能够实现上述各实施例中的安全更新应用的流程,比如可以包括图1所示第一应用170或者第二应用180。
另外,本申请的每一个实施例可以通过由服务器执行的数据处理程序来实现。显然,数据处理程序构成了本申请。
此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本申请还公开了一种非易失性存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请的安全更新应用的方法的任意一种实施例。
另外,本申请所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌微控制器等来实现。因此这种可以实现本申请所述方法的硬件也可以构成本申请。
以上所述仅为本申请的可选实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种安全更新应用的方法,其特征在于,在集群中执行,所述集群包括多个业务服务器、多个中转服务器和至少一个数据收集服务器,每个业务服务器包括用于采集监测数据的第一应用,每个中转服务器包括用于处理监测数据的第二应用,其中每个业务服务器、每个中转服务器和每个数据收集服务器存储有相同的加密包集合;所述方法包括:
中转服务器中第二应用向数据收集服务器发送第二指令获取请求;
所述数据收集服务器响应于所述第二指令获取请求,将所述第二指令作为未加密数据,并且基于双层加密方式进行加密处理,得到第二指令对应的加密结果;
向所述第二应用发送所述第二指令对应的加密结果,所述第二指令包括下述中至少一个:下载第二应用的更新数据的指令、更新第二应用的指令、备份第二应用的指令、运行更新后的第二应用的指令、下载第一应用的更新数据的指令;
所述第二应用接收所述第二指令对应的加密结果,并执行所述第二指令;
其中,所述双层加密方式,包括:
从所述加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到第一加密数据;
生成第一随机数和第二随机数;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,其中所述目标数据包含所述选定的加密包的索引标识和所述第一加密数据;
基于所述第二随机数,对所述第一随机数进行第一循环移位操作,得到第三随机数;
生成所述未加密数据对应的加密结果,所述加密结果包括:所述第三随机数、所述第二随机数和所述第二加密数据。
2.如权利要求1所述的方法,其特征在于,
所述从所述加密包集合中选定加密包,包括:从所述加密包集合中随机选定一个索引标识,并将选定的索引标识对应的加密包作为选定的加密包;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,包括:基于第一随机数,对所述目标数据进行异或处理,得到第二加密数据。
3.如权利要求1所述的方法,其特征在于,进一步包括:
所述第二应用基于双层解密方式对所述第二指令对应的加密结果进行解密处理,得到所述第二指令;
其中,所述双层解密方式,包括:
从加密结果中提取所述第三随机数、所述第二随机数和所述第二加密数据;
基于所述第二随机数,对所述第三随机数进行第二循环移位操作,得到所述第一随机数,其中,所述第二循环移位操作与所述第一循环移位操作的移位方向相反;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到所述选定的加密包的索引标识和所述第一加密数据;
根据所述加密包的索引标识,从本地存储的加密包集合中取得所述选定的加密包;
基于所选定的加密包,对所述第一加密数据进行解密,得到未加密数据。
4.如权利要求3所述的方法,其特征在于,进一步包括:
当所述第二指令包括下载第二应用的更新数据的指令时,所述第二应用确定对所述第二应用的更新数据的请求参数;
所述第二应用将所述请求参数作为未加密数据,并且基于所述双层加密方式进行加密处理,得到所述请求参数对应的加密结果;
所述第二应用向所述数据收集服务器发送请求参数对应的加密结果;
所述数据收集服务器响应于接收到所述请求参数对应的加密结果,基于所述双层解密方式对所述请求参数对应的加密结果进行解密处理,得到所述请求参数;
响应于所述请求参数,所述数据收集服务器将所述第二应用的更新数据作为未加密数据,基于所述双层加密方式进行加密处理,得到所述第二应用的更新数据对应的加密结果;
数据收集服务器向所述第二应用发送所述第二应用的更新数据对应的加密结果;
所述第二应用基于所述双层解密方式对所述第二应用的更新数据对应的加密结果进行解密处理,得到所述第二应用的更新数据。
5.如权利要求3所述的方法,其特征在于,进一步包括:
所述数据收集服务器为每个第一应用确定与每个第一应用匹配的第二应用;
当所述第二指令为下载相匹配的第一应用的更新数据的指令时,所述第二应用确定对所述相匹配的第一应用的更新数据的请求参数
所述第二应用将所述相匹配的第一应用的更新数据的请求参数作为未加密数据,并基于所述双层加密方式进行加密处理,得到所述相匹配的第一应用的更新数据的请求参数对应的加密结果;
所述第二应用向所述数据收集服务器发送所述相匹配的第一应用的更新数据的请求参数对应的加密结果;
所述数据收集服务器响应于接收到所述相匹配的第一应用的更新数据的请求参数对应的加密结果,基于所述双层解密方式对所述相匹配的第一应用的更新数据的请求参数对应的加密结果进行解密处理,得到所述相匹配的第一应用的更新数据的请求参数;
响应于所述相匹配的第一应用的更新数据的请求参数,所述数据收集服务器将所述相匹配的第一应用的更新数据作为未加密数据,并且基于所述双层加密方式进行加密处理,得到所述相匹配的第一应用的更新数据对应的加密结果;
数据收集服务器向所述第二应用发送所述相匹配的第一应用的更新数据对应的加密结果;
所述第二应用基于所述双层解密方式对所述相匹配的第一应用的更新数据对应的加密结果进行解密处理,得到所述相匹配的第一应用的更新数据。
6.如权利要求3所述的方法,其特征在于,进一步包括:
每个业务服务器中第一应用向数据收集服务器发送第一指令获取请求;
所述数据收集服务器响应于所述第一指令获取请求,基于所述双层加密方式对第一指令进行加密处理,得到所述第一指令对应的加密结果;
所述数据收集服务器向所述第一应用发送所述第一指令对应的加密结果;
所述第一应用基于所述双层解密方式对接收到的所述第一指令对应的加密结果进行解密处理,得到所述第一指令;
当接收到的第一指令包括从相匹配的第二应用获取第一应用的更新数据的指令时,所述第一应用基于所述双层加密方式加密第一应用的更新数据的请求参数,得到所述第一应用的更新数据的请求参数对应的加密结果;
所述第一应用向相匹配的第二应用发送所述第一应用的更新数据的请求参数对应的加密结果;
所述相匹配的第二应用基于所述双层解密方式对所述第一应用的更新数据的请求参数对应的加密结果进行解密处理,得到所述第一应用的更新数据的请求参数;
响应于所述第一应用的更新数据的请求参数,所述相匹配的第二应用将所述第一应用的更新数据作为未加密数据,并且基于所述双层加密方式进行加密处理,得到所述第一应用的更新数据对应的加密结果;
所述相匹配的第二应用向所述第一应用发送所述第一应用的更新数据对应的加密结果;
所述第一应用基于所述双层解密方式对所述第一应用的更新数据对应的加密结果进行解密处理,得到所述第一应用的更新数据。
7.如权利要求6所述的方法,其特征在于,进一步包括:
当接收到的第一指令包括备份第一应用的指令时,第一应用进行程序备份操作;
当第一应用接收到的第一指令包括更新第一应用的指令时,第一应用基于已下载的第一应用的更新数据进行更新操作;
当第一应用接收到的第一指令包括运行更新后的第一应用的指令时,第一应用进行重启操作或者等待业务服务器的系统重启;
当所述第一应用完成重启后,向所述数据收集服务器发送包含更新后版本号的通知消息,以便所述数据收集服务器响应于所述通知消息为更新后的第一应用分配版本相匹配的第二应用。
8.一种安全更新应用的方法,其特征在于,应用于业务服务器的第一应用中,所述业务服务器存储有加密包集合;所述方法包括:
向数据收集服务器发送第一指令获取请求,以便所述数据收集服务器响应于所述第一指令获取请求而返回第一指令对应的加密结果,其中,所述加密结果包括由所述数据收集服务器生成的第三随机数、第二随机数和第二加密数据;
基于双层解密方式对接收到的所述第一指令对应的加密结果进行解密处理,得到所述第一指令,并执行所述第一指令,其中所述第一指令包括下述中至少一个:下载第一应用的更新数据的指令、备份第一应用的指令、更新第一应用的指令、运行更新后的第一应用的指令;
其中,所述双层解密方式,包括:
从加密结果中提取第三随机数、第二随机数和第二加密数据;
基于第二随机数,对所述第三随机数进行第二循环移位操作,得到第一随机数;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到加密包的索引标识和第一加密数据;
根据所述加密包的索引标识,从所述加密包集合中取得加密包;
基于取得的加密包,对所述第一加密数据进行解密,得到未加密数据。
9.一种安全更新应用的方法,其特征在于,应用于中转服务器的第二应用,所述中转服务器存储有加密包集合,所述方法包括:
向数据收集服务器发送第二指令获取请求,以便所述数据收集服务器响应于所述第二指令获取请求而返回第二指令对应的加密结果;
基于双层解密方式对接收到的所述第二指令对应的加密结果进行解密处理,得到所述第二指令,并执行所述第二指令,其中,所述第二指令包括下述中至少一个:下载第二应用的更新数据的指令、更新第二应用的指令、备份第二应用的指令、运行更新后的第二应用的指令、下载第一应用的更新数据的指令;
其中,所述双层解密方式,包括:
从加密结果中提取所述第三随机数、所述第二随机数和所述第二加密数据;
基于所述第二随机数,对所述第三随机数进行第二循环移位操作,得到所述第一随机数,其中,所述第二循环移位操作与所述第一循环移位操作的移位方向相反;
基于所述第一随机数,对所述第二加密数据进行解密处理,得到所述选定的加密包的索引标识和所述第一加密数据;
根据所述选定的加密包的索引标识,从所述加密包集合中取得所述选定的加密包;
基于取得所述选定的加密包,对所述第一加密数据进行解密,得到未加密数据。
10.一种安全更新应用的方法,其特征在于,应用于数据收集服务器,所述数据收集服务器存储有加密包集合,所述方法包括:
接收来自第一应用的第一指令获取请求;
响应于所述第一指令获取请求,将第一指令作为未加密数据,并且基于双层加密方式进行加密处理,得到第一指令对应的加密结果,其中所述第一指令包括下述中至少一个:下载第一应用的更新数据的指令、备份第一应用的指令、更新第一应用的指令、运行更新后的第一应用的指令;
其中,所述双层加密方式,包括:
从所述加密包集合中选定加密包,并基于选定的加密包对未加密数据进行加密,得到第一加密数据;
生成第一随机数和第二随机数;
基于第一随机数,对目标数据进行混淆处理,得到第二加密数据,其中所述目标数据包含所述选定的加密包的索引标识和所述第一加密数据;
基于所述第二随机数,对所述第一随机数进行第一循环移位操作,得到第三随机数;
生成所述未加密数据对应的加密结果,所述加密结果包括:所述第三随机数、所述第二随机数和所述第二加密数据。
CN201911094580.4A 2019-11-11 2019-11-11 安全更新应用的方法、业务服务器、集群及存储介质 Active CN110928564B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911094580.4A CN110928564B (zh) 2019-11-11 2019-11-11 安全更新应用的方法、业务服务器、集群及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911094580.4A CN110928564B (zh) 2019-11-11 2019-11-11 安全更新应用的方法、业务服务器、集群及存储介质

Publications (2)

Publication Number Publication Date
CN110928564A true CN110928564A (zh) 2020-03-27
CN110928564B CN110928564B (zh) 2020-10-09

Family

ID=69853733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911094580.4A Active CN110928564B (zh) 2019-11-11 2019-11-11 安全更新应用的方法、业务服务器、集群及存储介质

Country Status (1)

Country Link
CN (1) CN110928564B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259225A (zh) * 2021-05-13 2021-08-13 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984274B1 (en) * 2013-01-29 2015-03-17 Microstrategy Incorporated Secure data updates
CN105119900A (zh) * 2015-07-17 2015-12-02 北京奇虎科技有限公司 信息安全传输方法、联网接入方法及相应的终端
CN109194618A (zh) * 2018-08-02 2019-01-11 广东浪潮大数据研究有限公司 一种文件加密方法、文件加密装置及文件加密设备
CN109214168A (zh) * 2018-08-27 2019-01-15 阿里巴巴集团控股有限公司 固件升级方法及装置
CN109388419A (zh) * 2018-10-17 2019-02-26 阳光电源股份有限公司 一种光伏电站设备软件升级系统、方法及装置
CN109788059A (zh) * 2019-01-21 2019-05-21 广州达森灯光股份有限公司 一种无线升级dmx控制盒的系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984274B1 (en) * 2013-01-29 2015-03-17 Microstrategy Incorporated Secure data updates
CN105119900A (zh) * 2015-07-17 2015-12-02 北京奇虎科技有限公司 信息安全传输方法、联网接入方法及相应的终端
CN109194618A (zh) * 2018-08-02 2019-01-11 广东浪潮大数据研究有限公司 一种文件加密方法、文件加密装置及文件加密设备
CN109214168A (zh) * 2018-08-27 2019-01-15 阿里巴巴集团控股有限公司 固件升级方法及装置
CN109388419A (zh) * 2018-10-17 2019-02-26 阳光电源股份有限公司 一种光伏电站设备软件升级系统、方法及装置
CN109788059A (zh) * 2019-01-21 2019-05-21 广州达森灯光股份有限公司 一种无线升级dmx控制盒的系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259225A (zh) * 2021-05-13 2021-08-13 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信系统
CN113259225B (zh) * 2021-05-13 2022-06-28 杭州米络星科技(集团)有限公司 即时通信方法、服务器及即时通信系统

Also Published As

Publication number Publication date
CN110928564B (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
EP3937046B1 (en) Trusted startup methods and apparatuses of blockchain integrated station
EP2562957B1 (en) Key sharing device, key sharing method, and computer program product
US8230222B2 (en) Method, system and computer program for deploying software packages with increased security
CN110674180B (zh) 一种业务数据处理方法、装置以及可读存储介质
US8903973B1 (en) Parallel distributed network management
JP4993733B2 (ja) 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置
KR20160139493A (ko) 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
EP3937045B1 (en) Hash updating methods and apparatuses of blockchain integrated station
US9787663B2 (en) Replaying a batch of secure commands in a secure channel
KR102450811B1 (ko) 차량 내부 네트워크의 키 관리 시스템
EP3262514B1 (en) Secure memory systems
JP6230322B2 (ja) 通信装置、鍵共有方法、プログラムおよび通信システム
US8726374B2 (en) Tampering monitoring system, control device, and tampering control method
CN114041134A (zh) 用于基于区块链的安全存储的系统和方法
US20200099672A1 (en) Mechanism for encryption key distribution in computer networks
CN112883388A (zh) 文件加密方法及装置、存储介质、电子装置
CN110928564B (zh) 安全更新应用的方法、业务服务器、集群及存储介质
CN111786987B (zh) 一种任务下发方法、装置、系统及设备
CN110888663B (zh) 应用更新方法、业务服务器、中转服务器、集群及存储介质
WO2023273947A1 (zh) 密钥管理系统及其实现密钥管理的方法和计算节点
CN111064723A (zh) 一种基于备份系统的空中下载升级方法及系统
WO2018028359A1 (zh) 业务处理方法、装置、存储介质及电子装置
CN112559252B (zh) 一种基于属性分类的配置数据管理方法及装置
CN108076021B (zh) 业务处理方法和装置
US20210050998A1 (en) Secret key updating system, secret key updating method, and secret key updating program

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