CN110647739A - 软件安装检测方法、装置、终端及存储介质 - Google Patents

软件安装检测方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN110647739A
CN110647739A CN201910683266.3A CN201910683266A CN110647739A CN 110647739 A CN110647739 A CN 110647739A CN 201910683266 A CN201910683266 A CN 201910683266A CN 110647739 A CN110647739 A CN 110647739A
Authority
CN
China
Prior art keywords
client
preset
browser
detection
target software
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
CN201910683266.3A
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910683266.3A priority Critical patent/CN110647739A/zh
Publication of CN110647739A publication Critical patent/CN110647739A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种软件安装检测方法,应用于客户端,包括:当接收到安装检测请求时,访问挂载在服务器上的预设页面,所述安装检测请求中携带有目标软件的名称;通过所述预设页面获取所述客户端的浏览器的属性;获取与所述浏览器的属性对应的检测策略;通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件;当通过所述检测策略检测到所述客户端中有所述目标软件的预设插件时,显示所述客户端已安装有所述目标软件。本发明还提供一种软件安装检测装置、终端及存储介质。本发明通过访问挂载在服务器上的预设页面并选择合适的检测策略检测客户端是否安装有目标软件,检测方法更为简单,检测结果更为精确。

Description

软件安装检测方法、装置、终端及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种软件安装检测方法、装置、终端及存储介质。
背景技术
随着计算机技术的发展,客户端软件越来越多,遍及即时通信、音视频播放、资源下载、网页浏览、输入法、系统辅助、金融投资等各个门类。随着互联网的普及,客户端软件的获取已经从十年前光盘分发为主的方式,转变成网络下载为主的方式,这大大方便了用户获取客户端软件。
在现有技术中,虽可以通过软件管理器检测客户端上的软件是否已安装。但软件管理器存在以下缺点:只能检测注册表的Uninstall节点下的软件,对于没有正常注册到系统中的软件、或者注册表信息被部分破坏的软件、或者绿色软件等都不能正常地检测。
因此,有必要提供一种检测软件是否已经安装到客户端中的技术方案。
发明内容
鉴于以上内容,有必要提出一种软件安装检测方法、装置、终端及存储介质,通过访问挂载在服务器上的预设页面并选择合适的检测策略检测客户端是否安装有目标软件,检测方法更为简单,检测结果更为精确。
本发明的第一方面提供一种软件安装检测方法,应用于客户端,所述方法包括:
当接收到安装检测请求时,访问挂载在服务器上的预设页面,所述安装检测请求中携带有目标软件的名称;
通过所述预设页面获取所述客户端的浏览器的属性;
获取与所述浏览器的属性对应的检测策略;
通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件;
当通过所述检测策略检测到所述客户端中有所述目标软件的预设插件时,显示所述客户端已安装有所述目标软件。
优选的,所述获取与所述浏览器的属性对应的检测策略包括:
判断所述浏览器是否支持H5页面;
当确定所述浏览器支持H5页面时,获取预设第一检测策略;
当确定所述浏览器不支持H5页面时,判断所述浏览器是否为IE浏览器;
当确定所述浏览器为IE浏览器时,获取预设第二检测策略;
当确定所述浏览器不为IE浏览器时,获取预设第三检测策略。
优选的,所述预设第一检测策略为所述预设页面的JS通过WebSocket协议调用所述目标软件的预设插件。
优选的,所述预设第二检测策略为所述预设页面的JS通过URL Protocol协议调用所述目标软件的预设插件。
优选的,所述预设第三检测策略为所述预设页面的JS通过Plugins插件调用所述目标软件的预设插件。
优选的,当通过所述检测策略检测到所述客户端中没有所述目标软件的预设插件时,所述方法还包括:
从所述服务器上获取所述目标软件的最新的安装包;
在所述客户端的后台下载所述最新的安装包;
根据所述最新的安装包安装所述目标软件。
优选的,所述从所述服务器上获取所述目标软件的最新的安装包包括:
根据预设的客户端标识与操作系统之间的对应关系,筛选出与所述客户端的操作系统对应的目标软件的安装包;
从所述安装包中获取最新的安装包。
本发明的第二方面提供一种软件安装检测装置,运行于客户端,所述装置包括:
访问模块,用于当接收到安装检测请求时,访问挂载在服务器上的预设页面,所述安装检测请求中携带有目标软件的名称;
第一获取模块,用于通过所述预设页面获取所述客户端的浏览器的属性;
第二获取模块,用于获取与所述浏览器的属性对应的检测策略;
检测模块,用于通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件;
显示模块,当所述检测模块确定检测到所述预设插件时,显示所述客户端已安装有所述目标软件。
本发明的第三方面提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述软件安装检测方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述软件安装检测方法。
本发明所述的软件安装检测方法、装置、终端及存储介质,通过客户端访问挂载在服务器上的预设页面,由所述预设页面获取所述客户端的浏览器的属性并调用对应的检测策略,根据所述检测策略来检测所述客户端上是否有目标软件的预设插件来检测所述客户端上是否安装有所述目标软件。即,通过所述页面的JS与客户端的浏览器的JS之间的相互通信及调用,可实现页面识别浏览器的属性,根据浏览器的属性选择检测策略,根据检测策略来检测客户端上是否安装有目标软件,检测方法更为简单,检测结果更为精确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的软件安装检测方法的流程图。
图2是本发明实施例二提供的软件安装检测装置的结构图。
图3是本发明实施例三提供的终端的结构示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
图1是本发明实施例一提供的一种软件安装检测方法的流程图。
如图1所示,所述软件安装检测方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11:当接收到安装检测请求时,访问挂载在服务器上的预设页面。
本实施例中,客户端上安装有浏览器,不同的客户端的浏览器的品牌不同,客户端的浏览器可以是IE浏览器,Google浏览器,或者支持H5页面的浏览器,或者其他浏览器。本发明在此不一一列举。
服务器上预先挂载有预设页面,所述预设页面是指可以显示在客户端的浏览器上的页面,并能够通过客户端的浏览器访问客户端上安装的目标软件。
客户端可以通过所述预设页面对应的统一资源定位器(uniform resourcelocator,URL)访问挂载在所述服务器上的所述预设页面。
当客户端的用户需要检测客户端上是否安装有某一个软件,或者需要在客户端上安装某一个软件时,可以通过客户端提供的显示界面上的预设按键输入安装检测请求,所述安装检测请求中携带有软件的名称或者软件的标识,将安装检测请求中携带的软件的名称或者软件的标识对应的软件称之为目标软件,即所述安装检测请求中携带有目标软件的名称。
S12:通过所述预设页面获取所述客户端的浏览器的属性。
本实施例中,所述服务器的预设页面的JavaScript(JS)可以与浏览器的JS相互通信,通过预设页面获取客户端的浏览器的属性。
浏览器的属性是指浏览器本身所特有的属性,一般指浏览器品牌、版本和所支持的功能等。
S13:获取与所述浏览器的属性对应的检测策略。
本实施例中,客户端中预先设置了浏览器的属性与检测策略之间的对应关系,比如,浏览器的属性为第一属性,对应的检测策略为第一检测策略;再如,浏览器的属性为第二属性,对应的检测策略为第二检测策略。
由于客户端的浏览器无法直接访问本地数据,所述本地数据是指安装在所述客户端的各类软件等,因而无法直接通过所述浏览器检测客户端是否安装有目标软件。故可以通过所述预设页面的JS使用与浏览器的属性对应的检测策略来实现所述目标软件的安装检测。
优选的,所述获取与所述浏览器的属性对应的检测策略包括:
判断所述浏览器是否支持H5页面;
当确定所述浏览器支持H5页面时,获取预设第一检测策略;
当确定所述浏览器不支持H5页面时,判断所述浏览器是否为IE浏览器;
当确定所述浏览器为IE浏览器时,获取预设第二检测策略;
当确定所述浏览器不为IE浏览器时,获取预设第三检测策略。
本实施例中,获取到浏览器的属性后,先判断浏览器是否支持H5页面,若确定客户端的浏览器具有支持H5页面的功能时,获取预先设置的第一检测策略;而在确定客户端的浏览器不具有支持H5页面的功能时,进一步确定出客户端的浏览器为IE浏览器时,获取预先设置的第二检测策略;进一步确定出客户端的浏览器不为IE浏览器,例如,Google浏览器或者Fire Fox浏览器,则获取预先设置的第三检测策略。
优选的,所述预设第一检测策略为所述预设页面的JS通过WebSocket协议调用所述目标软件的预设插件。
所述WebSocket是HTML5开始提供的一种在单个TCP连接上进行服务器和客户端的全双工通讯的协议。挂载在所述服务器的所述页面可以向客户端的浏览器发送WebSocket检测请求,以使得浏览器检测客户端中是否安装有所述目标软件。
优选的,所述预设第二检测策略为所述预设页面的JS通过URL Protocol协议调用所述目标软件的预设插件。
所述URL Protocol协议为所述IE浏览器的自定义协议。
优选的,所述预设第三检测策略为所述预设页面的JS通过Plugins插件调用所述目标软件的预设插件。
所述Plugins插件是一种遵循一定规范的应用程序接口编写出来的程序。
S14:通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件。
通常而言,软件中均嵌入有一个或多个插件功能,不同的软件中嵌入的插件功能不同,所述插件功能可以被客户端的浏览器的JS检测到,因而可以预先在客户端中存储软件名称或者软件标识与嵌入的插件之间的对应关系,若客户端上已安装有所述目标软件时,目标软件的预设插件功能必能被客户端的浏览器的JS所检测到;若客户端上未安装有所述目标软件时,目标软件的预设插件功能不能被客户端的浏览器的JS所检测到。如此,可通过所述预设页面使用对应客户端的浏览器的检测策略检测客户端上是否有插件功能来检测客户端上是否安装有目标软件。
页面和客户端的交互,本质上是由windows不支持的JS脚本和客户端软件已经实现的具有插件功能的控件交互。
当通过所述检测策略检测到所述客户端中有所述目标软件的预设插件时,执行S15;当通过所述检测策略检测到所述客户端中没有所述目标软件的预设插件时,执行S16。
S15:显示所述客户端已安装有所述目标软件。
本实施例中,当确定在所述客户端中已检测到所述目标软件的预设插件,即可确定所述客户端上已经成功的安装了所述目标软件,从而可在客户端的浏览器上显示客户端已安装有该目标软件,以提示用户可以直接登录。
进一步,在所述显示所述客户端已安装有所述目标软件之后,所述方法还包括:
自动启动所述目标软件。
本实施例中,在确定客户端上安装有所述目标软件之后,可在客户端的后台自动启动所述目标软件,从而避免了客户端用户手动选择目标软件并点击启动的步骤,更加智能化。
S16:显示所述客户端未安装所述目标软件。
本实施例中,当确定在所述客户端中未检测到所述目标软件的预设插件,即可确定所述客户端上没有安装所述目标软件,从而可在客户端的浏览器上显示客户端未安装有该目标软件,以提示用户是否需要下载并安装所述目标软件。
进一步的,当通过所述检测策略检测到所述客户端中没有所述目标软件的预设插件时,所述方法还包括:
从所述服务器上获取所述目标软件的最新的安装包;
在所述客户端的后台下载所述最新的安装包;
根据所述最新的安装包安装所述目标软件。
本实施例中,当检测到客户端中未安装所述目标软件时,可以在客户端的后台开启一个线程,从服务器上下载所述目标软件的安装包,当下载完毕最新的安装包后,对所述最新的安装包进行解压缩并安装所述目标软件。即客户端无需手动搜索目标软件的安装包,仅当通过服务器的预设页面未检测到客户端中有所述目标软件,即可自动下载并安装。
优选地,所述从所述服务器上获取所述目标软件的最新的安装包包括:
根据预设的客户端标识与操作系统之间的对应关系,筛选出与所述客户端的操作系统对应的目标软件的安装包;
从所述安装包中获取最新的安装包。
由于不同的客户端,所使用的操作系统不同,必须要下载与客户端的操作系统相匹配的软件程序,才能在客户端上成功安装。服务器也提供了针对各类操作系统的不同的软件版本供客户端下载。
本实施例中,客户端与服务器进行通信的过程中,会向服务器发送协议数据包,所述协议数据包中携带有所述客户端标识。客户端标识为客户端唯一的身份标识。
服务器的数据库中预先存储有客户端标识与操作系统之间的对应关系。当服务器获取到客户端标识后,即可从数据库中自动匹配出对应所述客户端的操作系统,从而匹配出适合于所述客户端的操作系统安装的目标软件的安装包,并从匹配出的多个安装包获取最新的安装包进行下载。无须客户端从服务器上选择正确的安装包版本,由服务器自动检测客户端的操作系统,并向客户端提供合适的安装包版本,整个下载过程自动完成,减轻了客户端用户的操作负担,又消除了因下载安装包所选择的版本不当引发的各类问题。
综上所述,本发明所述的软件安装检测方法,通过客户端访问挂载在服务器上的预设页面,由所述预设页面获取所述客户端的浏览器的属性并获取对应的检测策略,通过所述检测策略检测所述客户端上是否有目标软件的预设插件来检测所述客户端上是否安装有所述目标软件。即,通过所述页面的JS与客户端的浏览器的JS之间的相互通信及调用,可实现页面识别浏览器的属性,根据浏览器的属性确定检测策略,根据检测策略来检测客户端上是否安装有目标软件,检测方法更为简单,检测结果更为精确。
另外,在确定客户端上安装有目标软件时,直接启动目标软件,避免了用户手动搜索软件的安装位置来启动软件的麻烦;在确定客户端上没有安装目标软件时,直接从服务器上下载对应目标软件的安装包,无需客户端手动搜索目标软件的安装包,仅当通过服务器的预设页面未检测到客户端中有所述目标软件的预设插件时,即可自动下载并安装。
实施例二
图2是本发明实施例二提供的软件安装检测装置的结构图。
在一些实施例中,所述软件安装检测装置20可以包括多个由程序代码段所组成的功能模块。所述软件安装检测装置20中的各个程序段的程序代码可以存储于终端的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)软件安装检测的功能。
本实施例中,所述软件安装检测装置20,运行于客户端,根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:访问模块201、第一获取模块202、第二获取模块203、检测模块204、显示模块205、启动模块206、下载模块207及安装模块208。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
访问模块201,用于当接收到安装检测请求时,访问挂载在服务器上的预设页面。
本实施例中,客户端上安装有浏览器,不同的客户端的浏览器的品牌不同,客户端的浏览器可以是IE浏览器,Google浏览器,或者支持H5页面的浏览器,或者其他浏览器。本发明在此不一一列举。
服务器上预先挂载有预设页面,所述预设页面是指可以显示在客户端的浏览器上的页面,并能够通过客户端的浏览器访问客户端上安装的目标软件。
客户端可以通过所述预设页面对应的统一资源定位器(uniform resourcelocator,URL)访问挂载在所述服务器上的所述预设页面。
当客户端的用户需要检测客户端上是否安装有某一个软件,或者需要在客户端上安装某一个软件时,可以通过客户端提供的显示界面上的预设按键输入安装检测请求,所述安装检测请求中携带有软件的名称或者软件的标识,将安装检测请求中携带的软件的名称或者软件的标识对应的软件称之为目标软件,即所述安装检测请求中携带有目标软件的名称。
第一获取模块202,用于通过所述预设页面获取所述客户端的浏览器的属性。
本实施例中,所述服务器的预设页面的JavaScript(JS)可以与浏览器的JS相互通信,通过预设页面获取客户端的浏览器的属性。
浏览器的属性是指浏览器本身所特有的属性,一般指浏览器品牌、版本和所支持的功能等。
第二获取模块203,用于获取与所述浏览器的属性对应的检测策略。
本实施例中,客户端中预先设置了浏览器的属性与检测策略之间的对应关系,比如,浏览器的属性为第一属性,对应的检测策略为第一检测策略;再如,浏览器的属性为第二属性,对应的检测策略为第二检测策略。
由于客户端的浏览器无法直接访问本地数据,所述本地数据是指安装在所述客户端的各类软件等,因而无法直接通过所述浏览器检测客户端是否安装有目标软件。故可以通过所述预设页面的JS使用与浏览器的属性对应的检测策略来实现所述目标软件的安装检测。
优选的,所述第二获取模块203获取与所述浏览器的属性对应的检测策略包括:
判断所述浏览器是否支持H5页面;
当确定所述浏览器支持H5页面时,获取预设第一检测策略;
当确定所述浏览器不支持H5页面时,判断所述浏览器是否为IE浏览器;
当确定所述浏览器为IE浏览器时,获取预设第二检测策略;
当确定所述浏览器不为IE浏览器时,获取预设第三检测策略。
本实施例中,获取到浏览器的属性后,先判断浏览器是否支持H5页面,若确定客户端的浏览器具有支持H5页面的功能时,获取预先设置的第一检测策略;而在确定客户端的浏览器不具有支持H5页面的功能时,进一步确定出客户端的浏览器为IE浏览器时,获取预先设置的第二检测策略;进一步确定出客户端的浏览器不为IE浏览器,例如,Google浏览器或者Fire Fox浏览器,则获取预先设置的第三检测策略。
优选的,所述预设第一检测策略为所述预设页面的JS通过WebSocket协议调用所述目标软件的预设插件。
所述WebSocket是HTML5开始提供的一种在单个TCP连接上进行服务器和客户端的全双工通讯的协议。挂载在所述服务器的所述页面可以向客户端的浏览器发送WebSocket检测请求,以使得浏览器检测客户端中是否安装有所述目标软件。
优选的,所述预设第二检测策略为所述预设页面的JS通过URL Protocol协议调用所述目标软件的预设插件。
所述URL Protocol协议为所述IE浏览器的自定义协议。
优选的,所述预设第三检测策略为所述预设页面的JS通过Plugins插件调用所述目标软件的预设插件。
所述Plugins插件是一种遵循一定规范的应用程序接口编写出来的程序。
检测模块204,用于通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件。
通常而言,软件中均嵌入有一个或多个插件功能,不同的软件中嵌入的插件功能不同,所述插件功能可以被客户端的浏览器的JS检测到,因而可以预先在客户端中存储软件名称或者软件标识与嵌入的插件之间的对应关系,若客户端上已安装有所述目标软件时,目标软件的预设插件功能必能被客户端的浏览器的JS所检测到;若客户端上未安装有所述目标软件时,目标软件的预设插件功能不能被客户端的浏览器的JS所检测到。如此,可通过所述预设页面使用对应客户端的浏览器的检测策略检测客户端上是否有插件功能来检测客户端上是否安装有目标软件。
页面和客户端的交互,本质上是由windows不支持的JS脚本和客户端软件已经实现的具有插件功能的控件交互。
显示模块205,用于当通过所述检测策略检测到所述客户端中有所述目标软件的预设插件时,显示所述客户端已安装有所述目标软件。
本实施例中,当确定在所述客户端中已检测到所述目标软件的预设插件,即可确定所述客户端上已经成功的安装了所述目标软件,从而可在客户端的浏览器上显示客户端已安装有该目标软件,以提示用户可以直接登录。
进一步,在所述显示所述客户端已安装有所述目标软件之后,所述软件安装检测装置20还包括:
启动模块206,用于自动启动所述目标软件。
本实施例中,在确定客户端上安装有所述目标软件之后,可在客户端的后台自动启动所述目标软件,从而避免了客户端用户手动选择目标软件并点击启动的步骤,更加智能化。
所述显示模块205,还用于通过所述检测策略检测到所述客户端中没有所述目标软件的预设插件,显示所述客户端未安装所述目标软件。
本实施例中,当确定在所述客户端中未检测到所述目标软件的预设插件,即可确定所述客户端上没有安装所述目标软件,从而可在客户端的浏览器上显示客户端未安装有该目标软件,以提示用户是否需要下载并安装所述目标软件。
进一步的,当通过所述检测策略检测到所述客户端中没有所述目标软件的预设插件时,所述软件安装检测装置20还包括:
所述第一获取模块202,还用于从所述服务器上获取所述目标软件的最新的安装包;
下载模块207,用于在所述客户端的后台下载所述最新的安装包;
安装模块208,用于根据所述最新的安装包安装所述目标软件。
本实施例中,当检测到客户端中未安装所述目标软件时,可以在客户端的后台开启一个线程,从服务器上下载所述目标软件的安装包,当下载完毕最新的安装包后,对所述最新的安装包进行解压缩并安装所述目标软件。即客户端无需手动搜索目标软件的安装包,仅当通过服务器的预设页面未检测到客户端中有所述目标软件,即可自动下载并安装。
优选地,所述第一获取模块202从所述服务器上获取所述目标软件的最新的安装包包括:
根据预设的客户端标识与操作系统之间的对应关系,筛选出与所述客户端的操作系统对应的目标软件的安装包;
从所述安装包中获取最新的安装包。
由于不同的客户端,所使用的操作系统不同,必须要下载与客户端的操作系统相匹配的软件程序,才能在客户端上成功安装。服务器也提供了针对各类操作系统的不同的软件版本供客户端下载。
本实施例中,客户端与服务器进行通信的过程中,会向服务器发送协议数据包,所述协议数据包中携带有所述客户端标识。客户端标识为客户端唯一的身份标识。
服务器的数据库中预先存储有客户端标识与操作系统之间的对应关系。当服务器获取到客户端标识后,即可从数据库中自动匹配出对应所述客户端的操作系统,从而匹配出适合于所述客户端的操作系统安装的目标软件的安装包,并从匹配出的多个安装包获取最新的安装包进行下载。无须客户端从服务器上选择正确的安装包版本,由服务器自动检测客户端的操作系统,并向客户端提供合适的安装包版本,整个下载过程自动完成,减轻了客户端用户的操作负担,又消除了因下载安装包所选择的版本不当引发的各类问题。
综上所述,本发明所述的软件安装检测装置,通过客户端访问挂载在服务器上的预设页面,由所述预设页面获取所述客户端的浏览器的属性并获取对应的检测策略,通过所述检测策略检测所述客户端上是否有目标软件的预设插件来检测所述客户端上是否安装有所述目标软件。即,通过所述页面的JS与客户端的浏览器的JS之间的相互通信及调用,可实现页面识别浏览器的属性,根据浏览器的属性确定检测策略,根据检测策略来检测客户端上是否安装有目标软件,检测方法更为简单,检测结果更为精确。
另外,在确定客户端上安装有目标软件时,直接启动目标软件,避免了用户手动搜索软件的安装位置来启动软件的麻烦;在确定客户端上没有安装目标软件时,直接从服务器上下载对应目标软件的安装包,无需客户端手动搜索目标软件的安装包,仅当通过服务器的预设页面未检测到客户端中有所述目标软件的预设插件时,即可自动下载并安装。
实施例三
参阅图3所示,为本发明实施例三提供的终端的结构示意图。在本发明较佳实施例中,所述终端3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的终端的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述终端3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述终端3包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述终端3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述终端3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述终端3中的软件安装检测装置20,并在终端3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、随机存储器(RandomAccess Memory,RAM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述终端3的控制核心(Control Unit),利用各种接口和线路连接整个终端3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行终端3的各种功能和处理数据,例如执行软件安装检测的功能。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述终端3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述终端3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器32可执行所述终端3的操作装置以及安装的各类应用程序(如所述的软件安装检测装置20)、程序代码等,例如,上述的各个模块。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到软件安装检测的目的。
在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现软件安装检测的功能。
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种软件安装检测方法,应用于客户端,其特征在于,所述方法包括:
当接收到安装检测请求时,访问挂载在服务器上的预设页面,所述安装检测请求中携带有目标软件的名称;
通过所述预设页面获取所述客户端的浏览器的属性;
获取与所述浏览器的属性对应的检测策略;
通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件;
当通过所述检测策略检测到所述客户端中有所述目标软件的预设插件时,显示所述客户端已安装有所述预设软件。
2.如权利要求1所述的方法,其特征在于,所述获取与所述浏览器的属性对应的检测策略包括:
判断所述浏览器是否支持H5页面;
当确定所述浏览器支持H5页面时,获取预设第一检测策略;
当确定所述浏览器不支持H5页面时,判断所述浏览器是否为IE浏览器;
当确定所述浏览器为IE浏览器时,获取预设第二检测策略;
当确定所述浏览器不为IE浏览器时,获取预设第三检测策略。
3.如权利要求2所述的方法,其特征在于,所述预设第一检测策略为所述预设页面的JS通过WebSocket协议调用所述目标软件的预设插件。
4.如权利要求2所述的方法,其特征在于,所述预设第二检测策略为所述预设页面的JS通过URL Protocol协议调用所述目标软件的预设插件。
5.如权利要求2所述的方法,其特征在于,所述预设第三检测策略为所述预设页面的JS通过Plugins插件调用所述目标软件的预设插件。
6.如权利要求5所述的方法,其特征在于,当通过所述检测策略检测到所述客户端中没有所述目标软件的预设插件时,所述方法还包括:
从所述服务器上获取所述目标软件的最新的安装包;
在所述客户端的后台下载所述最新的安装包;
根据所述最新的安装包安装所述目标软件。
7.如权利要求6所述的方法,其特征在于,所述从所述服务器上获取所述目标软件的最新的安装包包括:
根据预设的客户端标识与操作系统之间的对应关系,筛选出与所述客户端的操作系统对应的目标软件的安装包;
从所述安装包中获取最新的安装包。
8.一种软件安装检测装置,运行于客户端,其特征在于,所述装置包括:
访问模块,用于当接收到安装检测请求时,访问挂载在服务器上的预设页面,所述安装检测请求中携带有目标软件的名称;
第一获取模块,用于通过所述预设页面获取所述客户端的浏览器的属性;
第二获取模块,用于获取与所述浏览器的属性对应的检测策略;
检测模块,用于通过所述检测策略检测所述客户端中是否有所述目标软件的预设插件;
显示模块,用于当通过所述检测策略检测到所述客户端中有所述目标软件的预设插件时,显示所述客户端已安装有所述目标软件。
9.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述软件安装检测方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述软件安装检测方法。
CN201910683266.3A 2019-07-26 2019-07-26 软件安装检测方法、装置、终端及存储介质 Pending CN110647739A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910683266.3A CN110647739A (zh) 2019-07-26 2019-07-26 软件安装检测方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910683266.3A CN110647739A (zh) 2019-07-26 2019-07-26 软件安装检测方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN110647739A true CN110647739A (zh) 2020-01-03

Family

ID=68989961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910683266.3A Pending CN110647739A (zh) 2019-07-26 2019-07-26 软件安装检测方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110647739A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309399A (zh) * 2020-02-26 2020-06-19 北京思特奇信息技术股份有限公司 一种启用易问原生客户端的方法、系统、介质及设备
CN111522560A (zh) * 2020-04-21 2020-08-11 北京三快在线科技有限公司 软件安装方法、装置、存储介质及电子设备
CN111580835A (zh) * 2020-04-28 2020-08-25 中国银行股份有限公司 Ipfs节点安装方法及装置
CN113535558A (zh) * 2021-07-14 2021-10-22 中国工商银行股份有限公司 软件版本传输方法及装置
CN114461238A (zh) * 2022-04-11 2022-05-10 深圳市星卡科技有限公司 一种诊断软件自动下载的方法、装置和计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789888A (zh) * 2010-01-12 2010-07-28 腾讯科技(深圳)有限公司 一种软件安装的检测方法和装置
CN105094862A (zh) * 2014-05-07 2015-11-25 阿里巴巴集团控股有限公司 检测应用程序是否安装的方法和浏览器
CN107092534A (zh) * 2017-04-22 2017-08-25 李虎 一种web站点调用本地程序的方法及装置
CN107368736A (zh) * 2017-07-03 2017-11-21 青岛海信电器股份有限公司 信息访问方法、装置及计算机可读存储介质
CN108563517A (zh) * 2018-03-30 2018-09-21 腾讯科技(深圳)有限公司 系统接口的调用方法及装置
CN109840113A (zh) * 2017-11-27 2019-06-04 腾讯科技(深圳)有限公司 一种应用数据处理方法及其设备、存储介质、终端
CN109992326A (zh) * 2019-03-28 2019-07-09 武汉达梦数据库有限公司 一种数据访问方法以及相应的终端

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789888A (zh) * 2010-01-12 2010-07-28 腾讯科技(深圳)有限公司 一种软件安装的检测方法和装置
CN105094862A (zh) * 2014-05-07 2015-11-25 阿里巴巴集团控股有限公司 检测应用程序是否安装的方法和浏览器
CN107092534A (zh) * 2017-04-22 2017-08-25 李虎 一种web站点调用本地程序的方法及装置
CN107368736A (zh) * 2017-07-03 2017-11-21 青岛海信电器股份有限公司 信息访问方法、装置及计算机可读存储介质
CN109840113A (zh) * 2017-11-27 2019-06-04 腾讯科技(深圳)有限公司 一种应用数据处理方法及其设备、存储介质、终端
CN108563517A (zh) * 2018-03-30 2018-09-21 腾讯科技(深圳)有限公司 系统接口的调用方法及装置
CN109992326A (zh) * 2019-03-28 2019-07-09 武汉达梦数据库有限公司 一种数据访问方法以及相应的终端

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309399A (zh) * 2020-02-26 2020-06-19 北京思特奇信息技术股份有限公司 一种启用易问原生客户端的方法、系统、介质及设备
CN111522560A (zh) * 2020-04-21 2020-08-11 北京三快在线科技有限公司 软件安装方法、装置、存储介质及电子设备
CN111580835A (zh) * 2020-04-28 2020-08-25 中国银行股份有限公司 Ipfs节点安装方法及装置
CN111580835B (zh) * 2020-04-28 2023-09-22 中国银行股份有限公司 Ipfs节点安装方法及装置
CN113535558A (zh) * 2021-07-14 2021-10-22 中国工商银行股份有限公司 软件版本传输方法及装置
CN114461238A (zh) * 2022-04-11 2022-05-10 深圳市星卡科技有限公司 一种诊断软件自动下载的方法、装置和计算机设备

Similar Documents

Publication Publication Date Title
CN110647739A (zh) 软件安装检测方法、装置、终端及存储介质
CN109547570B (zh) 服务注册方法、装置、注册中心管理设备及存储介质
US9584612B2 (en) Systems and methods for pushing applications
US20170185431A1 (en) Method and apparatus for dynamically implementing application function
US20210133002A1 (en) Using scripts to bootstrap applications with metadata from a template
CN110086658B (zh) 接口切换方法、装置及计算机可读存储介质
CN111427596B (zh) 一种软件升级的方法、装置及终端设备
CN113343154B (zh) 页面加载方法、装置、电子设备及存储介质
CN107291481B (zh) 一种组件更新方法、装置和系统
US20150113423A1 (en) System and method to configure a field device
CN109725950B (zh) 一种实现客户端单实例运行的方法、装置及存储介质
CN112507263B (zh) 页面加载更新方法、装置、电子设备及存储介质
CN109117153B (zh) 应用程序的处理方法、装置、终端和存储介质
CN110968331A (zh) 应用程序运行的方法和装置
CN113411225B (zh) 基于云主机的qga服务管理方法、装置、设备及介质
CN114661375A (zh) 应用集成方法及装置
US10193737B2 (en) Method for performing communication between browser and mobile terminal, and browser apparatus
CN111078305A (zh) 信息采集方法、装置、服务器和信息管理系统
CN107391132B (zh) 目标App执行预设动作的方法及装置、设备
CN115599669A (zh) 微服务的调试方法和装置、电子设备和可读存储介质
CN113656378A (zh) 一种服务器管理方法、装置、介质
CN112988192A (zh) 版本更新方法、装置、电子设备及存储介质
CN112559131A (zh) 更新容器镜像的方法、装置、设备及计算机可读存储介质
CN111090515A (zh) 一种访问控制方法、装置、终端设备及存储介质
CN115913913B (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