一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种诊断软件下载方法、装置和计算机设备与流程

2022-11-09 21:48:14 来源:中国专利 TAG:


1.本发明涉及软件下载技术领域,尤其涉及一种诊断软件下载方法、装置和计算机设备。


背景技术:

2.目前用户使用诊断设备对不同的车型进行诊断,需要下载使用与汽车对应的诊断软件,为了方便用户下载,开发者就会用升级列表去展示所有软件,需要下载软件时,用户只需要点击对应的软件即可将对应的软件安装包下载到诊断设备上。但现在多数的移动端下载或更新软件时,都是采用单线程下载,下载完成后再进行安装,这样下载速度快,但是下载软件的过程并没有安全保障,容易被第三方获取软件并破解软件数据;且若存在多个软件需要下载时,需要按照点击的下载顺序逐个进行下载,效率低下。
3.因此,现有技术存在缺陷,需要改进。


技术实现要素:

4.为了解决现有技术存在的缺陷,本发明提供了一种诊断软件下载方法、装置和计算机设备。
5.本发明提供的技术文案,一种诊断软件下载方法,该方法包括以下步骤:当移动端启动时,自动生成自检指令,并根据所述自检指令对移动端进行检测,以判断是否有诊断软件需要下载或更新;若需要下载或更新,则向云服务器发送请求下载指令;接收所述软件安装包,并对所述软件安装包进行解压处理,得到解压文件;根据解压文件和移动端的id号,基于软件加密算法计算生成密钥,并将所述密钥发送至云服务器;接收云服务器根据所述密钥反馈的安装证明文件;将所述安装证明文件存放至所述解压文件中,并利用算法公式生成一个私钥写入所述安装证明文件中;将所述私钥与预设在解压文件中的公钥与进行匹配,以保证诊断软件能够正常安装和使用。
6.可选的,在若需要下载或更新,则向云服务器发送请求下载指令的步骤之后,包括:接收根据登录提示输入的当前用户的登录账号及对应的登录密码,并生成用户信息;将所述用户信息和当前所述移动端的sn编号发送至云服务器,以验证是否为绑定该移动端的注册用户,其中,所述云服务器上存储有多个用户信息,每个所述用户信息都绑定有相应移动端的sn编号;若是注册用户,则获取登录云服务器的权限,以与云服务器建立通讯链路。
7.可选的,接收所述软件安装包,并对所述软件安装包进行解压处理,得到解压文件的具体步骤,包括:建立一个下载所述软件安装包的第一文件夹,其中,所述第一文件夹中创建有三个线程,每个线程对应下载一个诊断软件;在每个所述线程中均创建一个分类下载的第二文件夹,其中,所述第二文件夹中创建有五个线程,每个线程并发下载对应的文件;对下载完成的软件安装包进行解压,得到该诊断软件的解压文件,其中,所述解压文件包括文件名、软件序列号和软件版本号。
8.可选的,根据解压文件和移动端的id号,基于软件加密算法计算生成密钥,并将所述密钥发送至云服务器的具体步骤,包括:从所述解压文件中读取文件名、软件序列号和软件版本号;读取所述移动端的id号;根据软件序列号、软件版本号和id号,基于软件加密算法计算生成字符串,其中,计算公式为:y=log
a(x*n)
:其中,a表示软件版本号,x表示当前移动端的id号,n表示软件序列号;将所述文件名加入所述字符串的末端,得到密钥,并将所述密钥发送至云服务器。
9.可选的,将所述安装证明文件存放至所述解压文件中,并利用算法公式生成一个私钥写入所述安装证明文件中的具体步骤,包括:将安装证明文件存放至解压文件的根目录中,其中,所述安装证明文件包括诊断软件名、解压文件的子文件个数和解压文件的文件大小;根据所述解压文件的子文件个数和文件大小,计算得到两者乘积c,其中,计算公式为:φ(c) = (a-1)(b-1);其中,a表示解压文件的子文件个数,b表示解压文件的文件大小;随机选择一个整数,通过计算公式计算得到反模d,其中,计算公式为:ed ≡ 1 (mod φ(c));其中,e表示任意整数;将乘积c和反模d合并作为私钥写入所述安装证明文件的最后一行。
10.可选的,将所述私钥与预设在解压文件中的公钥与进行匹配,以保证诊断软件能够正常安装和使用的具体步骤,包括:将所述私钥与预设在解压文件中的公钥进行比对,以判断是否匹配;若匹配,则可进行安装和使用;若不匹配,则无法进行安装和使用,并发出提示。
11.本技术还公开了一种诊断软件下载装置,包括:自检模块,用于当移动端启动时,自动生成自检指令,并根据所述自检指令对移动端进行检测,以判断是否有诊断软件需要下载或更新;下载模块;用于若需要下载或更新,则向云服务器发送请求下载指令;第一接收模块,用于接收所述软件安装包,并对所述软件安装包进行解压处理,得
到解压文件;第一加密模块,用于根据解压文件和移动端的id号,基于软件加密算法计算生成密钥,并将所述密钥发送至云服务器;第二接收模块,用于接收云服务器根据所述密钥反馈的安装证明文件;第二加密模块,用于将所述安装证明文件存放至所述解压文件中,并利用算法公式生成一个私钥写入所述安装证明文件中;匹配模块,用于将所述私钥与预设在解压文件中的公钥与进行匹配,以保证诊断软件能够正常安装和使用。
12.可选的,还包括:登录模块,用于接收根据登录提示输入的当前用户的登录账号及对应的登录密码,并生成用户信息;发送模块,用于将所述用户信息和当前所述移动端的sn编号发送至云服务器,以验证是否为绑定该移动端的注册用户;建立模块,用于若是注册用户,则获取登录云服务器的权限,以与云服务器建立通讯链路。
13.本技术还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述诊断软件下载方法的步骤。
14.本技术还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述诊断软件下载方法的步骤。
15.有益效果:本发明通过移动端自动生成自检指令,向用户实时提示下载或更新信息,以避免在对汽车进行诊断时,诊断软件未下载或者未更新;通过基于软件加密算法计算生成密钥,以保证下载软件与设备保持一致,防止非注册用户以及第三方设备下载软件,导致软件信息泄露,提高了下载软件的安全性;通过利用算法公式生成一个私钥写入所述安装证明文件中,以实现安装证明文件和解压文件分开下载,防止外部破解;通过将所述私钥与预设在解压文件中的公钥与进行匹配,使解压文件与安装证明文件绑定,提高了安装的难度和软件的安全性。
附图说明
16.图1为本发明的诊断软件下载方法流程图示意图;图2为本发明的诊断软件下载装置的结构示意图;图3为本发明的计算机设备结构示意图。
17.图例所示:10、自检模块;20、下载模块;30、第一接收模块;40、第一加密模块;50、第二接收模块;60、第二加密模块;70、匹配模块。
具体实施方式
18.为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
19.需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本说明书所使用的术语“固定”、“一体成型”、“左”、“右”以及类似的表述只是为了说明的目的,在图中,结构相似的单元是用以相同标号标示。
20.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。
21.下面结合附图对本发明作详细说明。
22.实施例一:请参阅图1,一种诊断软件下载方法,应用于移动端,移动端与云服务器连接,移动端为任意具有通信诊断功能的智能终端;该方法包括以下步骤:步骤s1、当移动端启动时,自动生成自检指令,并根据所述自检指令对移动端进行检测,以判断是否有诊断软件需要下载或更新;步骤s2、若需要下载或更新,则向云服务器发送请求下载指令;步骤s3、接收所述软件安装包,并对所述软件安装包进行解压处理,得到解压文件;步骤s4、根据解压文件和移动端的id号,基于软件加密算法计算生成密钥,并将所述密钥发送至云服务器;步骤s5、接收云服务器根据所述密钥反馈的安装证明文件;步骤s6、将所述安装证明文件存放至所述解压文件中,并利用算法公式生成一个私钥写入所述安装证明文件中;步骤s7、将所述私钥与预设在解压文件中的公钥与进行匹配,以保证诊断软件能够正常安装和使用。
23.如上述步骤s1-s7所述,通常使用诊断设备对车辆进行诊断,需要使用与车辆对应的诊断软件以及保持诊断软件为最新版本,往往开发者都需要耗费大量的成本以及时间来维护以及更新诊断软件,防止被第三方恶意盗用软件数据,在接收软件安装包后进行解压,对解压文件以及安装证明文件进行加密处理,进而对软件安装包加以保护。具体的,当移动端启动时,对系统进行自检,以检测是否有诊断软件需要下载或者更新,若需要下载或者更新,只需要在移动端上的软件下载列表中点击需要下载的软件,则移动端就向云服务器发送请求下载的指令,云服务器根据请求下载指令,向移动端传输对应的软件安装包,移动端接收软件安装包,并对软件安装包进行解压,得到解压文件,根据解压文件和移动端的id号,基于软件加密算法,对解压文件和移动端的id号进行加密处理,得到一个密钥,并将密钥发送至云服务器,云服务器会根据密钥反馈一个安装证明文件,移动端将该安装证明文件存放至解压文件中,基于算法公式生成一个私钥,并将私钥写入安装证明文件中,经与预设在解压文件中的公钥进行匹配,若匹配,则可进行安装使用,这样能够防止随意下载盗取,避免他人进行更改文件以及破解操作,提高了软件的安全性。
24.在一个实施例中,在若需要下载或更新,则向云服务器发送请求下载指令的步骤之后,包括:
步骤s20、接收根据登录提示输入的当前用户的登录账号及对应的登录密码,并生成用户信息;步骤s21、将所述用户信息和当前所述移动端的sn编号发送至云服务器,以验证是否为绑定该移动端的注册用户,其中,所述云服务器上存储有多个用户信息,每个所述用户信息都绑定有相应移动端的sn编号;步骤s23、若是注册用户,则获取登录云服务器的权限,以与云服务器建立通讯链路。
25.如上述步骤s20-s23所述,当需要从云服务器下载软件时,需要先与云服务器建立连接,同时为了避免非注册用户随意访问云服务器,需要通过用户在移动端上输入用户的登录账号和登录密码,移动端将用户的登录账号、登录密码和从系统中读取移动端的sn编号一起发送至云服务器进行验证,验证当前用户是否是注册用户以及该注册用户名下是否绑定有该设备,若均满足以上条件,则当前移动端获取登录云服务器的权限,进而与云服务器建立通讯链路。保障了诊断软件的安全性,避免被随意下载。
26.可以理解的是,用户也可以手动输入从其他途径获取的sn编号。
27.在一个实施例中,接收所述软件安装包,并对所述软件安装包进行解压处理,得到解压文件的具体步骤,包括:步骤s30、建立一个下载所述软件安装包的第一文件夹,其中,所述第一文件夹中创建有三个线程,每个线程对应下载一个诊断软件;步骤s31、在每个所述线程中均创建一个分类下载的第二文件夹,其中,所述第二文件夹中创建有五个线程,每个线程并发下载对应的文件;步骤s32、对下载完成的软件安装包进行解压,得到该诊断软件的解压文件,其中,所述解压文件包括文件名、软件序列号和软件版本号。
28.如上述步骤s30-s32所述,一般的移动设备(例如手机、平板)下载多个软件时,根据点击的先后顺序逐个下载,且网络利用率不高,下载速度不稳定。基于此,在下载软件时,移动端会自动建立一个用于存放下载软件的第一文件夹,在第一文件夹中创建三个线程,可实现三个软件同时下载,合理分配网络资源,提高了网络的利用率和下载效率;在每个线程中再创建一个第二文件夹,第二文件夹中再创建五个线程,这五个线程可并发下载该诊断软件中的多个文件,提高了下载速度;当软件下载完成后,移动端对其进行解压,得到解压文件。
29.在一个实施例中,根据解压文件和移动端的id号,基于软件加密算法计算生成密钥,并将所述密钥发送至云服务器的具体步骤,包括:步骤s40、从所述解压文件中读取文件名、软件序列号和软件版本号;步骤s41、读取所述移动端的id号;步骤s42、根据软件序列号、软件版本号和id号,基于软件加密算法计算生成字符串,其中,计算公式为:y=log
a(x*n)
:其中,a表示软件版本号,x表示当前移动端的id号,n表示软件序列号;步骤s43、将所述文件名加入所述字符串的末端,得到密钥,并将所述密钥发送至云服务器。
30.如上述步骤s40-s43所述,每个移动端都有一个唯一的id号,将移动端的id号和从解压文件中读取的软件序列号、软件版本号利用软件加密算法计算生成字符串(如:342341200432342943282344),再将解压文件中的文件名加入该字符串的末尾,得到一个密钥(如:342341200432342943282344qirui_ty),将该密钥发送至云服务器验证,若验证成功,则云服务器会返回给移动端一个安装证明文件,可以理解的是,安装证明文件为软件安装过程中需要验证的证明文件,如果缺失该安装证明文件则无法实现安装,软件安装包和安装证明文件分开获取,增大了软件安装的难度,提高安全性。
31.在一个实施例中,将所述安装证明文件存放至所述解压文件中,并利用算法公式生成一个私钥写入所述安装证明文件中的具体步骤,包括:步骤s60、将安装证明文件存放至解压文件的根目录中,其中,所述安装证明文件包括诊断软件名、解压文件的子文件个数和解压文件的文件大小;步骤s61、根据所述解压文件的子文件个数和文件大小,计算得到两者乘积c,其中,计算公式为:φ(c) = (a-1)(b-1);其中,a表示解压文件的子文件个数,b表示解压文件的文件大小;步骤s62、随机选择一个整数,通过计算公式计算得到反模d,其中,计算公式为:ed ≡ 1 (mod φ(c));其中,e表示任意整数;步骤s63、将乘积c和反模d合并作为私钥写入所述安装证明文件的最后一行。
32.在一个实施例中,将所述私钥与预设在解压文件中的公钥与进行匹配,以保证诊断软件能够正常安装和使用的具体步骤,包括:步骤s70、将所述私钥与预设在解压文件中的公钥进行比对,以判断是否匹配;步骤s71、若匹配,则可进行安装和使用;步骤s72、若不匹配,则无法进行安装和使用,并发出提示。
33.如上述步骤s70-s72所述,将所述私钥与预设在解压文件中的公钥进行匹配,若成功,软件即可安装成功;同时后续在使用软件时,在软件加载过程中会按照步骤s7进行验证,如果出现用户篡改软件文件的情况,按照步骤s6计算得到的私钥就会与预设的公钥不匹配,软件就无法正常启动使用。
34.实施例二:请参阅图2,本技术还公开了一种诊断软件下载装置,包括:自检模块10,用于当移动端启动时,自动生成自检指令,并根据所述自检指令对移动端进行检测,以判断是否有诊断软件需要下载或更新;下载模块20;用于若需要下载或更新,则向云服务器发送请求下载指令;第一接收模块30,用于接收所述软件安装包,并对所述软件安装包进行解压处理,得到解压文件;第一加密模块40,用于根据解压文件和移动端的id号,基于软件加密算法计算生成密钥,并将所述密钥发送至云服务器;第二接收模块50,用于接收云服务器根据所述密钥反馈的安装证明文件;第二加密模块60,用于将所述安装证明文件存放至所述解压文件中,并利用算法
公式生成一个私钥写入所述安装证明文件中;匹配模块70,用于将所述私钥与预设在解压文件中的公钥与进行匹配,以保证诊断软件能够正常安装和使用。
35.在一个实施例中,还包括:登录模块,用于接收根据登录提示输入的当前用户的登录账号及对应的登录密码,并生成用户信息;发送模块,用于将所述用户信息和当前所述移动端的sn编号发送至云服务器,以验证是否为绑定该移动端的注册用户;建立模块,用于若是注册用户,则获取登录云服务器的权限,以与云服务器建立通讯链路。
36.在一个实施例中,所述第一接收模块30还包括:第一建立单元,用于建立一个下载所述软件安装包的第一文件夹,其中,所述第一文件夹中创建有三个线程,每个线程对应下载一个诊断软件;第二建立单元,用于在每个所述线程中均创建一个分类下载的第二文件夹,其中,所述第二文件夹中创建有五个线程,每个线程并发下载对应的文件;第一解压单元,用于对下载完成的软件安装包进行解压,得到该诊断软件的解压文件,其中,所述解压文件包括文件名、软件序列号和软件版本号。
37.在一个实施例中,所述第一加密模块40还包括:第一读取单元,用于从所述解压文件中读取文件名、软件序列号和软件版本号;第二读取单元,用于读取所述移动端的id号;第一计算单元,用于根据软件序列号、软件版本号和id号,基于软件加密算法计算生成字符串,其中,计算公式为:y=log
a(x*n)
:其中,a表示软件版本号,x表示当前移动端的id号,n表示软件序列号;发送单元,用于将所述文件名加入所述字符串的末端,得到密钥,并将所述密钥发送至云服务器。
38.在一个实施例中,所述第二加密模块60还包括:第二解压单元,用于将安装证明文件存放至解压文件的根目录中,其中,所述安装证明文件包括诊断软件名、解压文件的子文件个数和解压文件的文件大小;第二计算单元,用于根据所述解压文件的子文件个数和文件大小,计算得到两者乘积c,其中,计算公式为:φ(c) = (a-1)(b-1);其中,a表示解压文件的子文件个数,b表示解压文件的文件大小;第三计算单元,用于随机选择一个整数,通过计算公式计算得到反模d,其中,计算公式为:ed ≡ 1 (mod φ(c));其中,e表示任意整数;合并单元,用于将乘积c和反模d合并作为私钥写入所述安装证明文件的最后一行。
39.在一个实施例中,所述匹配模块70还包括:比对单元,用于将所述私钥与预设在解压文件中的公钥进行比对,以判断是否匹配;安装单元,用于若匹配,则可进行安装和使用;显示单元,用于若不匹配,则无法进行安装和使用,并发出提示。
40.实施例三:请参阅图3,本技术还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述诊断软件下载方法的步骤。
41.本技术还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述诊断软件下载方法的步骤。
42.在本技术所提供的实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个诊断系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
43.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本技术实施例方案的目的。
44.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
45.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备 ( 可以是个人计算机,服务器,或者网络设备等 ) 执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u 盘、移动硬盘、只读处理器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
46.需要说明的是,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;并且,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献