CN105630551A - 一种安装应用软件的方法、装置及电子设备 - Google Patents
一种安装应用软件的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN105630551A CN105630551A CN201510981123.2A CN201510981123A CN105630551A CN 105630551 A CN105630551 A CN 105630551A CN 201510981123 A CN201510981123 A CN 201510981123A CN 105630551 A CN105630551 A CN 105630551A
- Authority
- CN
- China
- Prior art keywords
- application software
- downloading
- installation package
- software installation
- download
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 239000012634 fragment Substances 0.000 claims description 40
- 238000009434 installation Methods 0.000 claims description 33
- 238000004088 simulation Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008439 repair process Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 241000282373 Panthera pardus Species 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明的实施例公开一种安装应用软件的方法、装置及电子设备。应用于客户端,方法包括:接收服务端下发的应用软件预下载指令;检测所述客户端上安装有所述应用软件预下载指令对应的应用软件;若无,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。应用本发明,可以提升安装应用软件的效率。
Description
技术领域
本发明涉及计算机网络通信技术,尤其涉及一种安装应用软件的方法、装置及电子设备。
背景技术
随着计算机通信以及互联网技术,尤其是移动第三代移动通信(3G,3rdGeneration)、4G通信技术的发展,电子设备,例如,智能移动电话、个人数字助理、掌上电脑以及台式机电脑中安装的工具类应用软件也越来越多,提供的应用功能也越来越强大,涵盖了用户日常生活和工作的通话、短信、网络接入、影视娱乐、网络即时通信、网上购物、网银支付、网络游戏、地图导航等各方面,给用户带来了极大的便利。
虽然种类繁多的工具类应用软件在给用户带来极大便利的同时,但由于工具类应用软件在开发时存在不可避免的漏洞,也给用户安全带来了极大的隐患。因而,需要在电子设备中安装安全应用软件,用以对工具类应用软件运行中的漏洞进行修复,以避免工具类应用软件运行中的漏洞被恶意攻击。目前,为了便于用户通过多种方式从网络下载安全应用软件以进行安装,有效修复工具类应用软件中的漏洞,对用户目前广泛使用的工具类应用软件进行安全应用软件推广功能扩展,即在进行安全应用软件推广或提供安全应用软件的更多下载途径时,将安全应用软件的链接信息呈现在工具类应用软件的界面中,从而使得用户在启动工具类应用软件后,通过点击工具类应用软件界面中呈现的链接信息,触发从网络下载该链接信息对应的安全应用软件安装包,并在下载完成后运行安全应用软件安装包以进行安装,在安装完成后,启动安全应用软件以修复工具类应用软件中的相关漏洞。
但该安装应用软件的方法,需要用户点击链接信息后触发安全应用软件安装包下载,下载完成后执行安装流程,使得用户获取下载的安全应用软件安装包所需的时间较长,而在下载过程中,由于占用较多的电子设备资源,从而可能影响用户的正常工作,而用户为了不影响正常工作,可能放弃下载安全应用软件安装包,使得安装应用软件的效率较低,同时增加了用户的网络流量开销,进而导致基于工具类应用软件进行安全应用软件推广的效率较低。
发明内容
有鉴于此,本发明实施例提供一种安装应用软件的方法、装置及电子设备,提升安装应用软件的效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种安装应用软件的方法,应用于客户端,包括:
接收服务端下发的应用软件预下载指令;
检测所述客户端上安装有所述应用软件预下载指令对应的应用软件;
若无,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;
当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。
可选的,所述按照预设策略在所述客户端上下载并存储所述应用软件安装包包括:
检测是否存储有安装所述应用软件的应用软件安装包;如果没有存储所述应用软件安装包,下载并存储所述应用软件安装包。
可选的,所述应用软件预下载指令是由存储有各安全应用软件安装包的云端服务器按照预先设置的时间周期,在预先设置的推送时间点向存储的电子设备库中各电子设备下发的,所述应用软件预下载指令中包含有安全应用软件安装包标识信息。
可选的,获取所述推送时间点包括:
向存储的电子设备库中各电子设备下发锁频时间段获取请求;
统计接收的各电子设备上报的锁频时间段,将统计的锁频时间段出现频率最高的时间段作为所述推送时间点。
可选的,所述方法进一步包括:
设置用于展示下载速度以及下载进度的下载管理器,以后台方式下载并存储所述应用软件安装包;
接收用户的下载查询请求,调用所述下载管理器并在所述下载管理器中展示下载速度以及下载进度。
可选的,所述下载并存储所述安全应用软件安装包包括:
检测电子设备是否处于锁屏状态;
如果电子设备处于锁屏状态,检测电子设备的网络状态;
如果电子设备处于无线仿真网络状态,从发送所述应用软件预下载指令的云端服务器下载所述应用软件安装包;
在下载所述应用软件安装包完毕后,存储所述应用软件安装包。
可选的,所述方法进一步包括:
在存储所述应用软件安装包时,为存储的所述应用软件安装包设置下载未完成标识,并记录已下载的所述应用软件安装包中片段的片段标识;
如果所述应用软件安装包下载完成,删除已下载的所述应用软件安装包中的片段标识以及下载未完成标识。
可选的,在所述记录已下载的所述应用软件安装包中片段的片段标识之后,所述方法进一步包括:
在网络连接重新启动后,获取设置有下载未完成标识的应用软件安装包,依据记录的片段标识以及总片段标识,确定未下载的片段并下载。
可选的,在所述如果没有存储应用软件安装包之后,下载并存储所述应用软件安装包之前,所述方法进一步包括:
扫描电子设备是否存在漏洞,如果存在漏洞,执行所述下载并存储所述应用软件安装包的步骤。
可选的,在所述如果存在漏洞之后,执行下载并存储所述应用软件安装包之前,所述方法进一步包括:
将电子设备的类型信息以及操作系统信息上报,以便于云端服务器根据上报的所述电子设备的类型信息以及操作系统信息获取对应的应用软件安装包。
可选的,所述应用软件下载场景包括:漏洞页面推荐场景、通知栏快推场景以及结果页和安全页场景。
可选的,所述应用软件下载场景为漏洞页面推荐场景,所述触发了所述预下载指令对应的应用软件的下载安装请求时包括:
监测电子设备的当前界面,如果当前界面为漏洞扫描结果界面,接收用户点击所述漏洞扫描结果界面中修复控件按钮的信息;
将所述漏洞扫描结果界面切换至系统漏洞界面,接收用户点击所述系统漏洞界面中下载控件按钮的信息,输出下载指令。
第二方面,本发明实施例提供一种安装应用软件的装置,包括:安装检测模块、预下载模块以及安装触发模块,其中,
安装检测模块,用于接收服务端下发的应用软件预下载指令;检测所述客户端上安装有所述应用软件预下载指令对应的应用软件;
预下载模块,如果没有安装所述应用软件,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;
安装触发模块,用于当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。
可选的,所述按照预设策略在所述客户端上下载并存储所述应用软件安装包包括:
检测是否存储有安装所述应用软件的应用软件安装包;如果没有存储所述应用软件安装包,下载并存储所述应用软件安装包。
可选的,所述应用软件预下载指令是由存储有各安全应用软件安装包的云端服务器按照预先设置的时间周期,在预先设置的推送时间点向存储的电子设备库中各电子设备下发的,所述应用软件预下载指令中包含有安全应用软件安装包标识信息。
可选的,获取所述推送时间点包括:
向存储的电子设备库中各电子设备下发锁频时间段获取请求;
统计接收的各电子设备上报的锁频时间段,将统计的锁频时间段出现频率最高的时间段作为所述推送时间点。
可选的,所述装置进一步包括:下载管理器模块以及进度展示模块,其中,
下载管理器模块,用于设置展示下载速度以及下载进度的下载管理器,以后台方式下载并存储所述应用软件安装包;
进度展示模块,用于接收用户的下载查询请求,调用所述下载管理器并在所述下载管理器中展示下载速度以及下载进度。
可选的,所述预下载模块包括:锁屏检测单元、网络检测单元、下载单元以及存储单元,其中,
锁屏检测单元,用于确定没有存储应用软件安装包,检测电子设备是否处于锁屏状态;
网络检测单元,如果电子设备处于锁屏状态,检测电子设备的网络状态;
下载单元,如果电子设备处于无线仿真网络状态,从发送所述应用软件预下载指令的云端服务器下载所述应用软件安装包;
存储单元,用于在下载所述应用软件安装包完毕后,存储所述应用软件安装包。
可选的,所述预下载模块进一步包括:标识设置单元以及标识处理单元,其中,
标识设置单元,用于在存储所述应用软件安装包时,为存储的所述应用软件安装包设置下载未完成标识,并记录已下载的所述应用软件安装包中片段的片段标识;
标识处理单元,如果所述应用软件安装包下载完成,删除已下载的所述应用软件安装包中的片段标识以及下载未完成标识。
可选的,所述预下载模块进一步包括:
断点下载单元,用于在网络连接重新启动后,获取设置有下载未完成标识的应用软件安装包,依据记录的片段标识以及总片段标识,确定未下载的片段并下载。
可选的,所述预下载模块进一步包括:
扫描单元,用于扫描电子设备是否存在漏洞,如果存在漏洞,通知所述锁屏检测单元。
可选的,所述预下载模块进一步包括:
上报单元,用于在确定扫描单元扫描电子设备存在漏洞后,将电子设备的类型信息以及操作系统信息上报,以便于云端服务器根据上报的所述电子设备的类型信息以及操作系统信息获取对应的应用软件安装包。
可选的,所述应用软件下载场景包括:漏洞页面推荐场景、通知栏快推场景以及结果页和安全页场景。
可选的,所述安装触发模块包括:监测单元、下载指令触发单元以及安装单元,其中,
监测单元,用于监测电子设备的当前界面,如果当前界面为漏洞扫描结果界面,接收用户点击所述漏洞扫描结果界面中修复控件按钮的信息;
下载指令触发单元,用于将所述漏洞扫描结果界面切换至系统漏洞界面,接收用户点击所述系统漏洞界面中下载控件按钮的信息,输出下载指令;
安装单元,用于接收下载指令,安装存储的所述应用软件安装包。
第三方面,本发明实施例提供一种电子装置,所述电子装置包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的安装应用软件的方法。
本发明实施例提供的安装应用软件的方法、装置及电子设备,通过应用软件预下载指令预先下载并存储应用软件安装包;当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。这样,在用户触发应用软件下载场景,点击下载应用软件后,直接通过已预下载的应用软件安装包进行安装,而无需执行安全应用软件安装包下载,有效提升了安装应用软件的效率,以及,提升基于工具类应用软件进行安全应用软件推广的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例安装应用软件的方法流程示意图;
图2为本发明实施例下载并存储所述安全应用软件安装包的流程示意图;
图3为本发明实施例安装应用软件的装置结构示意图;
图4为本发明实施例预下载模块结构示意图;
图5为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例安装应用软件的方法流程示意图。参见图1,该方法包括:
步骤11,接收服务端下发的应用软件预下载指令;
步骤12,检测所述客户端上安装有所述应用软件预下载指令对应的应用软件;
步骤11及步骤12中,作为一可选实施例,应用软件可以是安全应用软件,作为另一可选实施例,应用软件也可以是工具类应用软件。
本发明实施例中,较佳地,应用软件为安全应用软件,应用软件预下载指令为安全应用软件预下载指令。
安全应用软件可用于对电子设备进行安全防护,修复电子设备中各应用软件运行中出现的漏洞。但对于一般用户来说,可能获取安全应用软件的途径不多,因而,不能安装安全应用软件进行有效防护。而工具类应用软件能够满足用户不同的业务需求功能,应用广泛,因而,本发明实施例中,考虑在工具类应用软件扩展的安全应用软件推广功能的基础上,设置安全应用软件预下载功能,以有效降低用户在获取并安装安全应用软件时,需要即时下载安全应用软件安装包对用户的影响,降低安装安全应用软件所需的时间,从而减少影响用户正常工作的概率,提升安装应用软件的效率以及基于工具类应用软件进行安全应用软件推广的效率。
本发明实施例中,作为一可选实施例,工具类应用软件包括:清理应用软件、文件处理应用软件(如word和photoshop)、网络工具应用软件、宽带应用软件、杀毒应用软件、网络影视应用软件、安全应用软件以及即时通信应用软件等。
本发明实施例中,作为一可选实施例,所述应用软件预下载指令是由存储有各安全应用软件安装包的云端服务器按照预先设置的时间周期,在预先设置的推送时间点向存储的电子设备库中各电子设备下发的,所述应用软件预下载指令中包含有安全应用软件安装包标识信息。电子设备接收(安全)应用软件预下载指令后,启动检测是否安装有所述应用软件预下载指令对应的应用软件的流程。当然,实际应用中,也可以是电子设备中设置预下载条件以及需要预下载的安全应用软件安装包标识信息,在电子设备满足预下载条件时,自动触发生成应用软件预下载指令。
作为一可选实施例,安全应用软件安装包标识信息包括但不限于:利用第五版消息摘要算法(MD5,Message-DigestAlgorithm5)对所述安全应用软件安装包进行计算得到的MD5值、安全应用软件安装包版本号值、安全应用软件安装包名称等,本发明实施例对此不作限定。每一安全应用软件安装包对应一安全应用软件安装包标识信息。
较佳地,电子设备库中预先存储有该云端服务器服务的各电子设备信息,例如,电子设备的IP地址信息、网卡地址信息以及媒体接入控制地址信息等。当然,实际应用中,云端服务器也可以不存储电子设备库,通过广播的方式推送所述应用软件预下载指令。
本发明实施例中,预先设置的时间周期可根据实际需要确定,例如,可以设置为24小时,48小时等以天或星期为单位,并将推送安全应用软件预下载指令的时间点(推送时间点)设置在用户的休闲时间段内,以有效避免对用户的影响。
作为一可选实施例,获取所述推送时间点包括:
A111,向存储的电子设备库中各电子设备下发锁频时间段获取请求;
本步骤中,锁频时间段为用户在电子设备处于开机后,如果在预定时间内没有对电子设备进行操作,电子设备自动锁住屏幕的时间点至用户解锁屏幕的时间点。
A112,统计接收的各电子设备上报的锁频时间段,将统计的锁频时间段出现频率最高的时间段作为所述推送时间点。
本步骤中,推送时间点可以是一个时刻,也可以是一段时间范围。
步骤13,若无,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;
本步骤中,以应用软件为安全应用软件为例,如果电子设备没有安装安全应用软件,需要确定电子设备的本地存储器中是否存储有安全应用软件安装包以确定是否需要执行下载流程。
本发明实施例中,如果安装有所述安全应用软件,表明无需再安装安全应用软件,则结束流程。
较佳地,云端服务器存储有各安全应用软件安装包,因而,从下发应用软件预下载指令对应的云端服务器下载应用软件安装包。作为一可选实施例,该方法还可以进一步包括:
设置用于展示下载速度以及下载进度的下载管理器,以后台方式下载并存储所述应用软件安装包;
接收用户的下载查询请求,调用所述下载管理器并在所述下载管理器中展示下载速度以及下载进度。
本步骤中,由于是预下载,该预下载可能并不是由用户主动发起,用户可能没有获知有应用软件下载,因而,作为一可选实施例,为了避免对用户干扰,预下载与下载可以不同的是,预下载没有在用户的当前界面提示下载速度以及下载进度等信息,而是通过创建下载管理器,当用户主动调用并点击该下载管理器后,才在下载管理器中展现相应的下载速度以及下载进度等信息,从而有效避免对用户的干扰。
作为另一可选实施例,由于各用户在推送时间点内,并不是每一用户都处于锁屏状态,在用户处于非锁屏状态时,不执行下载操作,以免影响用户的正常工作。图2为本发明实施例下载并存储所述安全应用软件安装包的流程示意图。参见图2,该流程包括:
21,检测电子设备是否处于锁屏状态;
本步骤,为了不影响用户正常的工作,作为一可选实施例,在用户处于非工作状态的锁屏状态时执行下载操作。当然,实际应用中,也可以是在用户处于工作状态时,以后台方式执行下载操作。
22,如果电子设备处于锁屏状态,检测电子设备的网络状态;
本步骤中,作为一可选实施例,考虑到安全应用软件安装包容量较大,或者,为了节约用户的网络流量成本,优先采用网速高、免费的网络进行下载,当然,也可以不用考虑网络状态进行下载。
本发明实施例中,如果电子设备处于非锁屏状态,返回执行步骤A211。
23,如果电子设备处于无线仿真网络状态,从发送所述应用软件预下载指令的云端服务器下载所述应用软件安装包;
本步骤中,作为一可选实施例,如果电子设备的当前网络状态为4G/3G/2G网络等网络,则不执行下载操作。
本发明实施例中,作为另一可选实施例,不用考虑网络状态,如果电子设备的当前网络状态为4G/3G/2G网络,也可以执行下载操作。
24,在下载所述应用软件安装包完毕后,存储所述应用软件安装包。
本步骤中,可以是在本地磁盘或外接磁盘上存储应用软件安装包。
本发明实施例中,作为一可选实施例,该方法可以进一步包括:
A311,在存储所述应用软件安装包时,为存储的所述应用软件安装包设置下载未完成标识,并记录已下载的所述应用软件安装包中片段的片段标识;
本步骤中,安全应用软件安装包一般包含有多个片段,每一片段对应一片段标识,用以表征该片段在应用软件安装包中的位置。通过应用软件安装包包含的总片段标识以及记录已下载片段的片段标识,可以获知未下载的片段,以便在网络中断或用户主动断开网络中断后,再次恢复网络时,通过下载未完成标识找到未完成下载的应用软件安装包以继续下载。因而,作为一可选实施例,在所述记录已下载的所述应用软件安装包中片段的片段标识之后,该方法进一步包括:
在网络连接重新启动后,获取设置有下载未完成标识的应用软件安装包,依据记录的片段标识以及总片段标识,确定未下载的片段并下载。
A312,如果所述应用软件安装包下载完成,删除已下载的所述应用软件安装包中的片段标识以及下载未完成标识。
本发明实施例中,由于安全应用软件的主要功能是进行安全防护以及漏洞修复,如果电子设备中的各应用软件不存在漏洞,则可以无需安装该安全应用软件。因而,作为一可选实施例,在所述如果没有存储安全应用软件安装包之后,下载并存储所述应用软件安装包之前,该方法进一步包括:
扫描电子设备是否存在漏洞,如果存在漏洞,执行所述下载并存储所述应用软件安装包的步骤。
本步骤中,可通过工具类应用软件中的漏洞扫描应用软件进行漏洞扫描。
作为另一可选实施例,在所述如果存在漏洞之后,执行下载并存储所述应用软件安装包之前,该方法进一步包括:
将电子设备的类型信息以及操作系统信息上报,以便于云端服务器根据上报的所述电子设备的类型信息以及操作系统信息获取对应的应用软件安装包。
本步骤中,由于不同类型的电子设备以及同一电子设备的不同操作系统,支持的安全应用软件安装包可能不同,因而,云端服务器进一步存储有各类型信息以及操作系统信息分别对应的安全应用软件安装包。其中,作为一可选实施例,类型信息包括:移动设备信息以及台式设备信息。
本发明实施例中,作为一可选实施例,各类型信息以及操作系统信息分别对应的安全应用软件安装包的统一资源定位符信息或超文本传输协议信息或IP地址信息均相同。
步骤14,当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。
本步骤中,作为一可选实施例,应用软件下载场景包括:漏洞页面推荐场景、通知栏快推场景以及结果页和安全页场景等。其中,
漏洞页面推荐场景是在本发明实施例的漏洞扫描结果界面或用户利用其他应用软件进行漏洞扫描得到的漏洞扫描结果界面,例如,在漏洞扫描结果界面,依据扫描结果确定电子设备有风险,将漏洞扫描结果界面分为两个或两个以上部分,在最顶部,显示漏洞扫描结果,即有风险字样或相关警示图标;在最顶部下方,显示系统漏洞字样及相关对系统漏洞的描述或图标,并扩展设置修复控件按钮,这样,当用户点击修复控件按钮,进入系统漏洞界面,在该系统漏洞界面中,可以包含系统漏洞原理描述、漏洞危害描述以及解决方案描述,其中,在解决方案描述中,设置下载控件按钮,设置的下载控件按钮可以是一图标,并给出例如安装猎豹安全大师全面修复漏洞的文字描述以及相关功能的文字描述,例如,修复系统漏洞,保护手机安全等,当用户点击该下载控件按钮,触发输出下载指令。因而,作为一可选实施例,所述触发了所述预下载指令对应的应用软件的下载安装请求时包括:
监测电子设备的当前界面,如果当前界面为漏洞扫描结果界面,接收用户点击所述漏洞扫描结果界面中修复控件按钮的信息;
将所述漏洞扫描结果界面切换至系统漏洞界面,接收用户点击所述系统漏洞界面中下载控件按钮的信息,输出下载指令。
通知栏快推场景是用于在向用户展示的通知栏快推界面中扩展功能,例如,将通知栏快推界面的“检测到可能存在隐私泄露风险”快推通知设置为控件按钮,用户点击该控件按钮后,呈现扩展界面,在扩展界面中,可以设置例如检测到可能存在隐私泄露风险,启用猎豹安全大师,一键修复等文字描述,并在文字描述下方,设置立即开启控件按钮,当用户点击该立即开启控件按钮,触发输出下载指令。
结果页和安全页场景用于在用户进行安全扫描的结果界面中扩展功能,例如,在深度清理应用软件结果界面中,在手机支付被曝有安全漏洞!立即检测的字界面中,扩展设置猎豹安全大师,一键检测修复漏洞的提示信息,并设置一键检测控件按钮,当用户点击该一键检测控件按钮,触发输出下载指令。
作为另一可选实施例,用户在安装安全应用软件后,还可以更新安全应用软件,因而,该方法还可以进一步包括:
按照预先设置的更新周期向云端服务器发送包含当前安全应用软件版本的更新请求;
接收云端服务器返回的包含更新文件的更新请求响应,依据所述更新文件更新当前安全应用软件,所述更新文件为云端服务器比对更新请求中当前安全应用软件版本对应的安全应用软件以及最新版的安全应用软件,提取两者的差异生成的文件。
本步骤中,在应用软件更新下载时,通过比对客户端当前版本的应用软件以及最新版的应用软件,获取下载需要的更新文件,从而可以有效降低数据传输时间。
由上述可见,本发明实施例安装应用软件的方法,通过接收服务端下发的应用软件预下载指令;检测所述客户端上安装有所述应用软件预下载指令对应的应用软件;若无,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。这样,在用户触发应用软件下载场景,点击下载应用软件后,直接通过已预下载的应用软件安装包进行安装,而无需执行安全应用软件安装包下载,使得用户点击下载获取下载的安全应用软件安装包所需的时间为零,有效提升了安装应用软件的效率;同时,可以有效避免下载过程影响用户的正常工作,增强了用户安装应用软件的概率,从而提升基于工具类应用软件进行安全应用软件推广的效率。
图3为本发明实施例安装应用软件的装置结构示意图。参见图3,该装置包括:安装检测模块31、预下载模块32以及安装触发模块34,其中,
安装检测模块31,用于接收服务端下发的应用软件预下载指令;检测所述客户端上安装有所述应用软件预下载指令对应的应用软件;
本发明实施例中,应用软件可以是安全应用软件,作为另一可选实施例,应用软件也可以是工具类应用软件。较佳地,应用软件为安全应用软件。
作为一可选实施例,所述应用软件预下载指令是由存储有各安全应用软件安装包的云端服务器按照预先设置的时间周期,在预先设置的推送时间点向存储的电子设备库中各电子设备下发的,所述应用软件预下载指令中包含有安全应用软件安装包标识信息。
本发明实施例中,(安全)应用软件安装包标识信息包括但不限于:利用第五版消息摘要算法(MD5,Message-DigestAlgorithm5)对所述安全应用软件安装包进行计算得到的MD5值、安全应用软件安装包版本号值、安全应用软件安装包名称等。
电子设备信息包括:电子设备的IP地址信息、网卡地址信息以及媒体接入控制地址信息等。
其中,获取所述推送时间点包括:
向存储的电子设备库中各电子设备下发锁频时间段获取请求;
统计接收的各电子设备上报的锁频时间段,将统计的锁频时间段出现频率最高的时间段作为所述推送时间点。
预下载模块32,如果没有安装所述应用软件,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;
本发明实施例中,作为一可选实施例,所述按照预设策略在所述客户端上下载并存储所述应用软件安装包包括:
检测是否存储有安装所述应用软件的应用软件安装包;如果没有存储所述应用软件安装包,下载并存储所述应用软件安装包。
图4为本发明实施例预下载模块结构示意图。参见图4,该预下载模块包括:锁屏检测单元41、网络检测单元42、下载单元43以及存储单元44,其中,
锁屏检测单元41,用于确定没有存储应用软件安装包,检测电子设备是否处于锁屏状态;
网络检测单元42,如果电子设备处于锁屏状态,检测电子设备的网络状态;
下载单元43,如果电子设备处于无线仿真网络状态,从发送所述应用软件预下载指令的云端服务器下载所述应用软件安装包;
存储单元44,用于在下载所述应用软件安装包完毕后,存储所述应用软件安装包。
作为另一可选实施例,所述预下载模块进一步包括:标识设置单元45以及标识处理单元46,其中,
标识设置单元45,用于在存储所述应用软件安装包时,为存储的所述应用软件安装包设置下载未完成标识,并记录已下载的所述应用软件安装包中片段的片段标识;
标识处理单元46,如果所述应用软件安装包下载完成,删除已下载的所述应用软件安装包中的片段标识以及下载未完成标识。
作为再一可选实施例,所述预下载模块还可以进一步包括:
断点下载单元47,用于在网络连接重新启动后,获取设置有下载未完成标识的应用软件安装包,依据记录的片段标识以及总片段标识,确定未下载的片段并下载。
作为再一可选实施例,所述预下载模块还可以进一步包括:
扫描单元48,用于扫描电子设备是否存在漏洞,如果存在漏洞,通知所述锁屏检测单元41。
本发明实施例中,所述预下载模块还可以进一步包括:
上报单元49,用于在确定扫描单元扫描电子设备存在漏洞后,将电子设备的类型信息以及操作系统信息上报,以便于云端服务器根据上报的所述电子设备的类型信息以及操作系统信息获取对应的应用软件安装包。
安装触发模块33,用于当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。
本发明实施例中,所述应用软件下载场景包括:漏洞页面推荐场景、通知栏快推场景以及结果页和安全页场景。
作为一可选实施例,安装触发模块33包括:监测单元、下载指令触发单元以及安装单元(图中未示出),其中,
监测单元,用于监测电子设备的当前界面,如果当前界面为漏洞扫描结果界面,接收用户点击所述漏洞扫描结果界面中修复控件按钮的信息;
下载指令触发单元,用于将所述漏洞扫描结果界面切换至系统漏洞界面,接收用户点击所述系统漏洞界面中下载控件按钮的信息,输出下载指令;
安装单元,用于接收下载指令,安装存储的所述应用软件安装包。
本发明实施例中,作为一可选实施例,该装置还可以进一步包括:下载管理器模块34以及进度展示模块35,其中,
下载管理器模块34,用于设置展示下载速度以及下载进度的下载管理器,以后台方式下载并存储所述应用软件安装包;
进度展示模块35,用于接收用户的下载查询请求,调用所述下载管理器并在所述下载管理器中展示下载速度以及下载进度。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图5为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-4所示实施例的流程,如图5所示,上述电子设备可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的安装应用软件的方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-4所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种安装应用软件的方法,应用于客户端,其特征在于,该方法包括:
接收服务端下发的应用软件预下载指令;
检测所述客户端上是否安装有所述应用软件预下载指令对应的应用软件;
若无,则按照预设策略在所述客户端上下载并存储所述应用软件安装包;
当在所述客户端上预先设置的应用软件下载场景中触发了所述预下载指令对应的应用软件的下载安装请求时,直接调用已经下载的应用软件安装包进行安装。
2.根据权利要求1所述的方法,其特征在于,所述按照预设策略在所述客户端上下载并存储所述应用软件安装包包括:
检测是否存储有安装所述应用软件的应用软件安装包;如果没有存储所述应用软件安装包,下载并存储所述应用软件安装包。
3.根据权利要求1所述的方法,其特征在于,所述应用软件预下载指令是由存储有各安全应用软件安装包的云端服务器按照预先设置的时间周期,在预先设置的推送时间点向存储的电子设备库中各电子设备下发的,所述应用软件预下载指令中包含有安全应用软件安装包标识信息。
4.根据权利要求3所述的方法,其特征在于,获取所述推送时间点包括:
向存储的电子设备库中各电子设备下发锁频时间段获取请求;
统计接收的各电子设备上报的锁频时间段,将统计的锁频时间段出现频率最高的时间段作为所述推送时间点。
5.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
设置用于展示下载速度以及下载进度的下载管理器,以后台方式下载并存储所述应用软件安装包;
接收用户的下载查询请求,调用所述下载管理器并在所述下载管理器中展示下载速度以及下载进度。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述下载并存储所述应用软件安装包包括:
检测电子设备是否处于锁屏状态;
如果电子设备处于锁屏状态,检测电子设备的网络状态;
如果电子设备处于无线仿真网络状态,从发送所述应用软件预下载指令的云端服务器下载所述应用软件安装包;
在下载所述应用软件安装包完毕后,存储所述应用软件安装包。
7.根据权利要求6所述的方法,其特征在于,所述方法进一步包括:
在存储所述应用软件安装包时,为存储的所述应用软件安装包设置下载未完成标识,并记录已下载的所述应用软件安装包中片段的片段标识;
如果所述应用软件安装包下载完成,删除已下载的所述应用软件安装包中的片段标识以及下载未完成标识。
8.根据权利要求7所述的方法,其特征在于,在所述记录已下载的所述应用软件安装包中片段的片段标识之后,所述方法进一步包括:
在网络连接重新启动后,获取设置有下载未完成标识的应用软件安装包,依据记录的片段标识以及总片段标识,确定未下载的片段并下载。
9.根据权利要求2所述的方法,其特征在于,在所述如果没有存储应用软件安装包之后,下载并存储所述应用软件安装包之前,所述方法进一步包括:
扫描电子设备是否存在漏洞,如果存在漏洞,执行所述下载并存储所述应用软件安装包的步骤。
10.根据权利要求9所述的方法,其特征在于,在所述如果存在漏洞之后,执行下载并存储所述应用软件安装包之前,所述方法进一步包括:
将电子设备的类型信息以及操作系统信息上报,以便于云端服务器根据上报的所述电子设备的类型信息以及操作系统信息获取对应的应用软件安装包。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510981123.2A CN105630551A (zh) | 2015-12-23 | 2015-12-23 | 一种安装应用软件的方法、装置及电子设备 |
PCT/CN2016/109959 WO2017107830A1 (zh) | 2015-12-23 | 2016-12-14 | 一种安装应用软件的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510981123.2A CN105630551A (zh) | 2015-12-23 | 2015-12-23 | 一种安装应用软件的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105630551A true CN105630551A (zh) | 2016-06-01 |
Family
ID=56045532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510981123.2A Pending CN105630551A (zh) | 2015-12-23 | 2015-12-23 | 一种安装应用软件的方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105630551A (zh) |
WO (1) | WO2017107830A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017107830A1 (zh) * | 2015-12-23 | 2017-06-29 | 北京金山安全软件有限公司 | 一种安装应用软件的方法、装置及电子设备 |
CN107872493A (zh) * | 2016-09-28 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、终端和服务器 |
CN108881332A (zh) * | 2017-05-09 | 2018-11-23 | 北京搜狗科技发展有限公司 | 一种预下载方法和装置 |
CN109154890A (zh) * | 2016-06-13 | 2019-01-04 | 歌乐株式会社 | 软件更新装置及软件更新系统 |
CN110278490A (zh) * | 2019-05-08 | 2019-09-24 | 苏宁智能终端有限公司 | 一种用于智能终端的流量共享方法及系统 |
CN109413186B (zh) * | 2018-10-31 | 2021-07-30 | Oppo广东移动通信有限公司 | 应用程序更新方法、终端、服务器及系统 |
CN113553820A (zh) * | 2020-04-24 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、设备以及计算机可读存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199295B (zh) * | 2018-11-16 | 2024-03-01 | 北京奇虎科技有限公司 | 一种产品预约方法和装置 |
CN109600740B (zh) * | 2018-12-21 | 2023-01-10 | 西安良方企业信息咨询有限公司 | 文件下载方法、装置及计算机可读存储介质 |
CN112015437B (zh) * | 2019-05-31 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 推送信息的处理方法及装置 |
CN113055451B (zh) * | 2021-03-08 | 2023-01-06 | Oppo广东移动通信有限公司 | 资源下载方法、装置、电子设备及存储介质 |
KR20230005046A (ko) * | 2021-06-28 | 2023-01-09 | 센스타임 인터내셔널 피티이. 리미티드. | 디바이스 애플리케이션을 설치하기 위한 방법들 및 장치들 |
CN114035812B (zh) * | 2021-11-05 | 2024-09-17 | 安天科技集团股份有限公司 | 一种应用软件安装和/或运行方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103781057A (zh) * | 2014-01-08 | 2014-05-07 | 北京奇虎科技有限公司 | 一种静默下载升级包的方法及装置 |
CN103795740A (zh) * | 2012-10-29 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 插件安装包的下载方法及下载终端 |
CN105045636A (zh) * | 2015-08-11 | 2015-11-11 | 广东欧珀移动通信有限公司 | 一种软件更新的方法及其装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841155B (zh) * | 2012-11-26 | 2015-12-23 | 腾讯科技(深圳)有限公司 | 一种软件下载方法和软件下载装置 |
CN104410665B (zh) * | 2014-10-28 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 一种更新包的下载方法及设备 |
CN105630551A (zh) * | 2015-12-23 | 2016-06-01 | 北京金山安全软件有限公司 | 一种安装应用软件的方法、装置及电子设备 |
-
2015
- 2015-12-23 CN CN201510981123.2A patent/CN105630551A/zh active Pending
-
2016
- 2016-12-14 WO PCT/CN2016/109959 patent/WO2017107830A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795740A (zh) * | 2012-10-29 | 2014-05-14 | 腾讯科技(深圳)有限公司 | 插件安装包的下载方法及下载终端 |
CN103781057A (zh) * | 2014-01-08 | 2014-05-07 | 北京奇虎科技有限公司 | 一种静默下载升级包的方法及装置 |
CN105045636A (zh) * | 2015-08-11 | 2015-11-11 | 广东欧珀移动通信有限公司 | 一种软件更新的方法及其装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017107830A1 (zh) * | 2015-12-23 | 2017-06-29 | 北京金山安全软件有限公司 | 一种安装应用软件的方法、装置及电子设备 |
CN109154890A (zh) * | 2016-06-13 | 2019-01-04 | 歌乐株式会社 | 软件更新装置及软件更新系统 |
CN107872493A (zh) * | 2016-09-28 | 2018-04-03 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、终端和服务器 |
CN108881332A (zh) * | 2017-05-09 | 2018-11-23 | 北京搜狗科技发展有限公司 | 一种预下载方法和装置 |
CN108881332B (zh) * | 2017-05-09 | 2022-02-01 | 北京搜狗科技发展有限公司 | 一种预下载方法和装置 |
CN109413186B (zh) * | 2018-10-31 | 2021-07-30 | Oppo广东移动通信有限公司 | 应用程序更新方法、终端、服务器及系统 |
CN110278490A (zh) * | 2019-05-08 | 2019-09-24 | 苏宁智能终端有限公司 | 一种用于智能终端的流量共享方法及系统 |
CN110278490B (zh) * | 2019-05-08 | 2022-03-18 | 苏宁智能终端有限公司 | 一种用于智能终端的流量共享方法及系统 |
CN113553820A (zh) * | 2020-04-24 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、设备以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017107830A1 (zh) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630551A (zh) | 一种安装应用软件的方法、装置及电子设备 | |
CN109743315B (zh) | 针对网站的行为识别方法、装置、设备及可读存储介质 | |
US9235586B2 (en) | Reputation checking obtained files | |
US10176327B2 (en) | Method and device for preventing application in an operating system from being uninstalled | |
CN106203092B (zh) | 一种拦截恶意程序关机的方法、装置及电子设备 | |
CN105868625B (zh) | 一种拦截文件被重启删除的方法及装置 | |
CN114282212A (zh) | 流氓软件识别方法、装置、电子设备及存储介质 | |
CN106789973B (zh) | 页面的安全性检测方法及终端设备 | |
CN109818972B (zh) | 一种工业控制系统信息安全管理方法、装置及电子设备 | |
CN103020528A (zh) | 一种应用程序的恶意行为的显示方法和装置 | |
CN108762983B (zh) | 多媒体数据恢复方法及装置 | |
CN109088872B (zh) | 带使用期限的云平台的使用方法、装置、电子设备及介质 | |
CN112491974B (zh) | 远程浏览方法、装置、存储介质、终端设备及服务器 | |
CN107766068B (zh) | 应用系统补丁安装方法、装置、计算机设备和存储介质 | |
CN106022117A (zh) | 防止系统环境变量修改的方法、装置及电子设备 | |
CN112948804A (zh) | 一种程序控制方法、装置和计算机可读存储介质 | |
CN112256295A (zh) | 应用程序的更新方法、装置、设备和存储介质 | |
CN110611675A (zh) | 向量级检测规则生成方法、装置、电子设备及存储介质 | |
CN107968799B (zh) | 一种信息获取方法、终端设备及系统 | |
CN111062035A (zh) | 一种勒索软件检测方法、装置、电子设备及存储介质 | |
CN111030977A (zh) | 一种攻击事件追踪方法、装置及存储介质 | |
CN113779576A (zh) | 一种可执行文件感染病毒的识别方法、装置及电子设备 | |
CN114039779A (zh) | 一种安全接入网络的方法、装置、电子设备及存储介质 | |
CN108959955B (zh) | 文件处理方法及装置 | |
CN114035812A (zh) | 一种应用软件安装和/或运行方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160601 |
|
RJ01 | Rejection of invention patent application after publication |