CN111158713A - 一种软件更新方法及装置 - Google Patents
一种软件更新方法及装置 Download PDFInfo
- Publication number
- CN111158713A CN111158713A CN201811317773.7A CN201811317773A CN111158713A CN 111158713 A CN111158713 A CN 111158713A CN 201811317773 A CN201811317773 A CN 201811317773A CN 111158713 A CN111158713 A CN 111158713A
- Authority
- CN
- China
- Prior art keywords
- software
- webpage
- information
- updating
- preset
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及计算机技术领域,尤其涉及一种软件更新方法及装置,分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;分别获取筛选出的软件更新信息中对应的软件的更新地址;根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件,这样,通过爬取和自动更新,可以快速获得大量的软件更新信息,并进行筛选,提高软件更新信息的可靠性和有效性,从而进行自动更新,节省了人力和成本,提高了软件更新的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件更新方法及装置。
背景技术
目前,在开源软件管理领域,通常开源软件都是采用人工获取的方式,例如,人工在官方开源网站中定期查看是否有最新的软件包发布或最新的漏洞补丁更新,一旦有新的发布或更新,人工下载后更新到自身的软件知识库中,但这种软件更新方法,更新不够及时,并且需要投入大量的人力去各个网站获取信息并人工下载,更新效率较低。
发明内容
本发明实施例提供一种软件更新方法及装置,以解决现有技术中软件更新效率较低的问题。
本发明实施例提供的具体技术方案如下:
一种软件更新方法,包括:
分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;
分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;
分别获取筛选出的软件更新信息中对应的软件的更新地址;
根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件。
可选的,进一步包括:向预设的软件网站发送响应请求,并获取所述预设的软件网站返回的网站响应数据;其中,所述网站响应数据中至少包括各网页,其中,所述各网页表示各软件更新信息的网页;
则分别爬取获得各网页的网页响应数据,具体包括:分别爬取所述各网页,并分别向所述各网页发送响应请求,获得所述各网页返回的网页响应数据。
可选的,分别向所述各网页发送响应请求后,进一步包括:
若确定未获得所述各网页中任一网页返回的网页响应数据,则向未响应的所述任一网页再次发送响应请求,并若确定向所述任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向所述任一网页发送响应请求。
可选的,所述软件更新信息中至少包括软件名称、版本信息;
则分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息,具体包括:
分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与所述预设的软件知识库匹配的软件更新信息;
根据筛选出的软件名称与所述预设的软件知识库匹配的软件更新信息的版本信息,筛选出比所述预设的软件知识库中相应软件的版本信息更高的软件更新信息。
可选的,进一步包括:分别获取筛选出的软件更新信息中对应的软件更新包的描述信息,并根据软件更新包的描述信息,更新所述预设的软件知识库中更新后的软件的描述信息。
一种软件更新装置,包括:
爬取模块,用于分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;
筛选模块,用于分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;
获取模块,用于分别获取筛选出的软件更新信息中对应的软件的更新地址;
更新模块,用于根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件。
可选的,所述爬取模块进一步用于:向预设的软件网站发送响应请求,并获取所述预设的软件网站返回的网站响应数据;其中,所述网站响应数据中至少包括各网页,其中,所述各网页表示各软件更新信息的网页;
则分别爬取获得各网页的网页响应数据时,所述爬取模块具体用于:分别爬取所述各网页,并分别向所述各网页发送响应请求,获得所述各网页返回的网页响应数据。
可选的,分别向所述各网页发送响应请求后,所述爬取模块进一步用于:
若确定未获得所述各网页中任一网页返回的网页响应数据,则向未响应的所述任一网页再次发送响应请求,并若确定向所述任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向所述任一网页发送响应请求。
可选的,所述软件更新信息中至少包括软件名称、版本信息;
则分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息,筛选模块具体用于:
分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与所述预设的软件知识库匹配的软件更新信息;
根据筛选出的软件名称与所述预设的软件知识库匹配的软件更新信息的版本信息,筛选出比所述预设的软件知识库中相应软件的版本信息更高的软件更新信息。
可选的,所述获取模块,进一步用于:分别获取筛选出的软件更新信息中对应的软件更新包的描述信息;
所述更新模块,进一步用于:根据软件更新包的描述信息,更新所述预设的软件知识库中更新后的软件的描述信息。
一种计算机装置,包括:
至少一个存储器,用于存储计算机程序;
至少一个处理器,用于执行存储器中存储的计算机程序时实现上述任一种软件更新方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种软件更新方法的步骤。
本发明实施例中,分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;分别获取筛选出的软件更新信息中对应的软件的更新地址;根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件,这样,通过爬取各网页的响应数据,可以快速获得大量的软件更新信息,为软件自动更新提供软件更新信息来源,不需要人工进行获取,节省人力,并节省时间和成本,还可以保证软件更新信息的时效性,并对爬取到的软件更新信息进行筛选审核,进行分析处理,筛选出符合预设规则的软件更新信息,提高软件更新信息的可靠性和有效性,从而获取更新地址,并更新软件知识库中相应的软件,提高了软件的自动化更新程度,提高了软件更新效率。
附图说明
图1为本发明实施例中一种软件更新方法的流程图;
图2为本发明实施例中另一种软件更新方法的流程图;
图3为本发明实施例中软件更新装置结构示意图;
图4为本发明实施例中计算机装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,针对开源软件的更新,通常为人工在开源网站中定期查看并下载,进而更新到自身的软件知识库中,但是这种方式更新不够及时,更新效率也比较低。
本发明实施例中,主要针对开源软件,由于开源软件的获取和更新与其它运营商更新终端中安装的软件是不同的,通常更新终端中的软件时,只需与服务器端进行比对,定时更新即可,但对于开源软件,其通常需要从开源网站中各网页中获取,而开源网站中开源软件的软件更新资讯是非常多的,内容也比较复杂,人工筛选和查找需要大量的人力成本,因此,本发明实施例中,通过爬取技术,从开源软件网站中爬取软件更新资讯的网页,并进行筛选和审核,可以筛选出自身所需的软件更新信息,并过滤重复或版本信息滞后的软件更新信息,进而针对最后获得的符合该预设规则的软件更新信息,获取对应的更新地址,下载对应的软件更新包,实现软件自动更新。
当然,本发明实施例中,并不仅限于开源软件的更新,对于类似场景和问题都可以适用,本发明实施例中仅以开源软件为例进行示意性说明。
参阅图1所示,本发明实施例中,软件更新方法的具体流程如下:
步骤100:分别爬取获得各网页的网页响应数据;其中,网页响应数据中至少包括软件更新信息。
其中,各网页表示各软件更新信息的网页。例如,在开源网站的软件更新资讯中会提供大量开源软件的更新信息对应的网页,点击打开该网页,可以获知更为详细的开源软件的更新信息。
具体地,执行步骤100时,具体包括:
分别爬取各网页,并分别向各网页发送响应请求,获得各网页返回的网页响应数据。
进一步地,执行步骤100之前,本发明实施例中还提供了一种获取各网页的可能的实施方式,向预设的软件网站发送响应请求,并获取预设的软件网站返回的网站响应数据;其中,网站响应数据中至少包括各网页,其中,各网页表示各软件更新信息的网页。
其中,预设的软件网站表示能够提供各种软件更新信息的软件平台,例如开源网站等,本发明实施例中并不进行限制。
也就是说,本发明实施例中,可以向软件网站,例如开源网站发送响应请求,获取返回的网站响应数据,从网站响应数据中可以获取到各软件更新信息的网页,从而可以逐一分别对各网页进行爬取,分别向各网页发送响应请求,获取返回的网页响应数据。
例如,在某开源网站中,会提供软件更新资讯功能,在进行爬取时,可以向该开源网站发送响应请求,获取到网站响应数据中的软件更新资讯列表,软件更新资讯列表中包括各网页。
这样,本发明实例中,可以采用预设的爬虫技术,来爬取获得各网页对应的软件更新信息,可以快速获取到大量的软件更新信息,不需要人工进行获取,节省了成本和时间,提高了效率。
进一步地,当网页未响应,即未返回网页响应数据时,本发明实施例中还提供了一种可能的实施方式,分别向各网页发送响应请求后,若确定未获得各网页中任一网页返回的网页响应数据,则向未响应的任一网页再次发送响应请求,并若确定向任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向任一网页发送响应请求。
其中,预设次数阈值,可以根据实际情况和需求进行设置,本发明实施例中并不进行限制。
也就是说,当确定网页未响应,未获得网页响应数据,则可以再次向该网页发送响应请求,并记录重拨次数,在预设次数阈值内,若该网页一直未返回网页响应数据,则可以一直向该网页发送响应请求,可以降低网络环境不稳定的影响,例如,可能是由于网络连接情况的影响,不能在一定时间范围内获得返回的网页响应数据,因此,可以增加重拨次数,避免网页的漏检,并且若超过预设次数阈值,仍未获得该网页返回的网页响应数据,则就需要停止向该网页发送响应请求,可以认为该网页为无效网页,放弃对该网页的爬取,可以避免重复访问无效网页造成资源浪费,并可能造成程序死锁的情况,可以提高爬取效率。
这样,本发明实施例中,对未响应的网页,设置重拨和重拨预设次数阈值,设置重拨是考虑到实际中网络环境是相对不稳定的,某些网页可能无法在规定时间范围内返回网页响应数据,容易造成网页信息的漏检,因此,本发明实施例中增加对网页的响应请求的次数,获取网页的网页响应数据,可以减少网络连接情况对爬取结果的影响;设置重拨预设次数阈值是因为可能存在某些虚假或无效的网页,若一直重复请求无效的网页不仅会浪费资源,甚至会引起程序死锁,因此,本发明实施例中,设置次数阈值,对于超过预设次数阈值仍未获得网页响应数据的网页,认为该网页为无效网页,停止发送响应请求,避免了无效网页造成的程序死锁,提高爬取效率和有效性。
步骤110:分别将各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息。
其中,软件更新信息中至少包括软件名称、版本信息等,当然并不仅限于软件名称、版本信息,还可以包括其它软件相关信息,本发明实施例并不进行限制,例如软件更新包的描述信息等。
软件知识库为本发明实施例中记录各软件的数据库,即更新该软件知识库中的软件,至少记录有各软件的软件名称、版本信息、描述信息等,并且软件知识库可以动态更新,也可以根据需求更新软件知识库中记录的软件信息,例如对于开源软件的获取和更新,开源软件管理的场景通常有明确的爬取目标和所需的开源软件,根据自身所需,建立相应的开源软件的软件知识库,可以根据需求增加或删除软件知识库中的软件。
执行步骤110时,具体包括:
首先,分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与预设的软件知识库匹配的软件更新信息。
例如,爬取到的各软件更新信息的软件名称分别为软件a、软件b和软件c,软件知识库中记录有软件a和软件b,进行匹配后,确定软件c不能与软件知识库进行匹配,则筛选出的为软件a和软件b的软件更新信息。
当然,并不仅限于软件名称的匹配,这里匹配的目的是为了筛选是否为软件知识库中记录的软件,为软件的基本信息的匹配,只要能够用于匹配是否为相同软件的基本信息均可,本发明实施例中并不进行限制。
这样,根据软件的基本信息,例如软件名称先与软件知识库进行匹配,可以在海量的爬取的软件更新信息中快速筛选出所需的软件更新信息,只对软件知识库中有记录的软件进行处理和更新操作,即只选取管理范围内的软件更新信息,去除无关的软件更新信息,可以降低资源消耗,并且软件知识库也可以根据需求动态更新,这样,可以提高匹配分析准确性。
进一步地,针对软件名称与预设的软件知识库不匹配的软件更新信息,本发明实施例中,可以直接删除,也可以进行展示,用户可以根据需求,判断是否需要该软件,若需要也可以再增加到软件知识库中。
然后,根据筛选出的软件名称与预设的软件知识库匹配的软件更新信息的版本信息,筛选出比预设的软件知识库中相应软件的版本信息更高的软件更新信息。
也就是说,筛选出匹配的软件更新信息后,再次进行匹配筛选,目的是为了过滤重复和滞后的软件更新信息,是软件的文件信息的匹配,若软件更新信息中版本信息不高于软件知识库中相应软件的版本信息,则可以删除该软件更新信息,即未获得软件知识库中软件的新版本,就无需对软件知识库中相应软件进行更新了。
进一步地,还可以过滤重复的软件更新信息,本发明实施例中提供了一种可能的实施方式,依次分别比较筛选出的软件名称与预设的软件知识库匹配的软件更新信息中是否有相同的软件更新信息,若有,则只保留相同的软件更新信息中的一个软件更新信息,并删除其它相同的软件更新信息。
进一步地,为提高软件更新信息的正确性,本发明实施例中还可以增加人工审核环节,人工审核软件名称、更新描述信息、更新地址等内容是否正确,这样可以过滤掉虚假或错误的软件更新信息,并且通过人工审核,可以对自动审核未通过的软件更新信息,即未筛选出的软件更新信息,再次进行审核,还可以避免遗漏,这是因为,可能有些软件更新信息的数据格式无法识别,或不是规范的格式,无法判断是否为高版本的软件更新信息,过滤掉了,因此将人工审核和自动审核筛选相结合,可以自动审核筛选重复或低版本的软件更新信息,人工审核可以对软件更新信息进行语义级的精细理解,保证软件更新信息的可靠性。
这样,进行筛选,相比于目前一检测到软件的新版本就启动软件更新,本发明实施例中,对于爬取数据,由于数量较多,来源也比较复杂,无法保证软件更新信息的正确性和可靠性,若一检测到新版本就更新,可能会降低可靠性,导致软件更新不正确,因此,本发明实施例中,对爬取到的软件更新信息进行筛选审核,不仅可以获取自身所需的软件更新信息,还可以保证软件更新信息的可靠性。
步骤120:分别获取筛选出的软件更新信息中对应的软件的更新地址。
这样,可以只针对筛选出的软件更新信息,进行挖掘,挖掘软件更新包的更新地址,可以提高处理效率。
步骤130:根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新预设的软件知识库中相应的软件。
其中,本发明实施例中获取到各软件的更新地址后,可以先进行保存,然后定时检测更新地址,再进行更新,这样,无需一获取到一个更新地址就更新,可以之后根据多个更新地址,统一进行更新,可以提高更新效率。
进一步地,还需要更新更新后的软件的描述信息,本发明实施例中提供了一种可能的实施方式,分别获取筛选出的软件更新信息中对应的软件更新包的描述信息,并根据软件更新包的描述信息,更新预设的软件知识库中更新后的软件的描述信息。
这样,获取到软件的更新地址和更新的描述信息后,访问更新地址可以自动下载对应的软件更新包,进而可以根据软件更新包和软件更新包的描述信息,上传到软件知识库中,更新软件知识库中相应的软件。
本发明实施例中,分别爬取获得各网页的网页响应数据;其中,网页响应数据中至少包括软件更新信息;分别将各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;分别获取筛选出的软件更新信息中对应的软件的更新地址;根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新预设的软件知识库中相应的软件,这样,将爬虫技术与自动更新技术结合,通过爬取提供软件更新信息的来源,并分析处理爬取信息,对爬取到的软件更新信息进行筛选审核,提高可靠性和正确性,从而进行软件更新,提高了开源软件管理的自动化程度,节省了人力,节省了成本,提高了软件更新效率。
下面采用具体的应用场景进行具体说明,以针对开源软件为例进行说明,基于上述实施例,具体参阅图2所示,为本发明实施例中另一种软件更新方法流程图,具体包括:
步骤200:向软件网站发送响应请求。
例如,以开源软件更新为例,软件网站为开源软件网站平台。
步骤201:判断是否获得网站响应数据,若是,则执行步骤202,否则,则执行步骤219。
其中,网页响应数据中至少包括各网页,例如,为软件更新资讯的网页列表。
步骤202:获取软件更新资讯的网页列表。
其中,网页列表中包括各网页。
步骤203:判断是否遍历完成网页列表,若是,则执行步骤209,若否,则执行步骤204。
步骤204:向网页发送响应请求。
步骤205:判断是否获得网页响应数据,若是,则执行步骤207,否则,则执行步骤206。
步骤206:判断发送响应请求的次数是否超过预设次数阈值,若是,则执行步骤203,否则,则继续执行步骤204。
这样,通过设置次数阈值,若超过预设次数阈值一直未获得该网页的网页响应数据,则对网页列表中下一个网页进行爬取,向下一个网页发送响应请求,直到爬取完网页列表中的所有网页。
步骤207:判断是否匹配软件知识库,若是,则执行步骤208,否则,则执行步骤203。
具体为:分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,判断软件名称是否与预设的软件知识库匹配,若是,则判断匹配软件知识库,可以记录到待更新软件信息列表中,这部分软件更新信息可以再进行后续的操作处理,否则,判断不匹配软件知识库。
也就是说,这里步骤207目的是先过滤无关的软件更新信息,只获取软件知识库中记录有的软件对应的软件更新信息。
步骤208:记录到待更新软件信息列表中。
步骤209:获取待更新软件信息列表。
步骤210:判断是否遍历完成待更新软件信息列表,若是,则执行步骤219,否则,则执行步骤211和步骤212。
步骤211:对软件更新信息进行人工审核。
具体为:对软件名称、更新地址等内容进行审核,过滤虚假或错误的软件更新信息。
步骤212:对软件更新信息进行自动审核。
具体为:根据筛选出的软件名称与预设的软件知识库匹配的软件更新信息的版本信息,筛选出比预设的软件知识库中相应软件的版本信息更高的软件更新信息。
并且,还可以依次分别比较筛选出的软件名称与预设的软件知识库匹配的软件更新信息中是否有相同的软件更新信息,若有,则只保留相同的软件更新信息中的一个软件更新信息,并删除其它相同的软件更新信息。
这样,通过自动审核可以过滤重复和版本信息滞后的软件更新信息。
步骤213:判断是否通过审核,若是,则执行步骤214和步骤215,否则,则执行步骤210。
步骤214:获取软件更新包的描述信息。
步骤215:获取软件更新包的更新地址。
步骤216:定时检测各软件更新包的更新地址。
步骤217:根据更新地址,下载对应的软件更新包。
步骤218:更新软件知识库。
具体地,可以根据下载的软件更新包,更新预设的软件知识库中相应的软件,并根据软件更新包的描述信息,更新预设的软件知识库中更新后的软件的描述信息。
步骤219:结束。
需要说明的是,本发明实施例中上述各步骤的执行顺序,并不进行限制,这里仅是一种可能的示例。
基于上述实施例,参阅图3所示,本发明实施例中,软件更新装置具体包括:
爬取模块30,用于分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;
筛选模块31,用于分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;
获取模块32,用于分别获取筛选出的软件更新信息中对应的软件的更新地址;
更新模块33,用于根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件。
可选的,所述爬取模块30进一步用于:向预设的软件网站发送响应请求,并获取所述预设的软件网站返回的网站响应数据;其中,所述网站响应数据中至少包括各网页,其中,所述各网页表示各软件更新信息的网页;
则分别爬取获得各网页的网页响应数据时,所述爬取模块30具体用于:分别爬取所述各网页,并分别向所述各网页发送响应请求,获得所述各网页返回的网页响应数据。
可选的,分别向所述各网页发送响应请求后,所述爬取模块30进一步用于:
若确定未获得所述各网页中任一网页返回的网页响应数据,则向未响应的所述任一网页再次发送响应请求,并若确定向所述任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向所述任一网页发送响应请求。
可选的,所述软件更新信息中至少包括软件名称、版本信息;
则分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息,筛选模块31具体用于:
分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与所述预设的软件知识库匹配的软件更新信息;
根据筛选出的软件名称与所述预设的软件知识库匹配的软件更新信息的版本信息,筛选出比所述预设的软件知识库中相应软件的版本信息更高的软件更新信息。
可选的,所述获取模块32,进一步用于:分别获取筛选出的软件更新信息中对应的软件更新包的描述信息;
所述更新模块33,进一步用于:根据软件更新包的描述信息,更新所述预设的软件知识库中更新后的软件的描述信息。
参阅图4所示,本发明实施例中,一种计算机装置结构示意图。
本发明实施例提供了一种计算机装置,该服务器可以包括处理器410(CenterProcessing Unit,CPU)、存储器420、输入设备430和输出设备440等,输入设备430可以包括键盘、鼠标、触摸屏等,输出设备440可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器420可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器410提供存储器420中存储的程序指令和数据。在本发明实施例中,存储器420可以用于存储上述软件更新方法的程序。
处理器410通过调用存储器420存储的程序指令,处理器410用于按照获得的程序指令执行:
分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;
分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;
分别获取筛选出的软件更新信息中对应的软件的更新地址;
根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件。
可选的,处理器410进一步用于:
向预设的软件网站发送响应请求,并获取所述预设的软件网站返回的网站响应数据;其中,所述网站响应数据中至少包括各网页,其中,所述各网页表示各软件更新信息的网页;
则分别爬取获得各网页的网页响应数据,处理器410具体用于:分别爬取所述各网页,并分别向所述各网页发送响应请求,获得所述各网页返回的网页响应数据。
可选的,分别向所述各网页发送响应请求后,处理器410进一步用于:
若确定未获得所述各网页中任一网页返回的网页响应数据,则向未响应的所述任一网页再次发送响应请求,并若确定向所述任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向所述任一网页发送响应请求。
可选的,所述软件更新信息中至少包括软件名称、版本信息;
则分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息,处理器410具体用于:
分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与所述预设的软件知识库匹配的软件更新信息;
根据筛选出的软件名称与所述预设的软件知识库匹配的软件更新信息的版本信息,筛选出比所述预设的软件知识库中相应软件的版本信息更高的软件更新信息。
可选的,处理器410进一步用于:
分别获取筛选出的软件更新信息中对应的软件更新包的描述信息,并根据软件更新包的描述信息,更新所述预设的软件知识库中更新后的软件的描述信息。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的软件更新方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种软件更新方法,其特征在于,包括:
分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;
分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;
分别获取筛选出的软件更新信息中对应的软件的更新地址;
根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件。
2.如权利要求1所述的方法,其特征在于,进一步包括:
向预设的软件网站发送响应请求,并获取所述预设的软件网站返回的网站响应数据;其中,所述网站响应数据中至少包括各网页,其中,所述各网页表示各软件更新信息的网页;
则分别爬取获得各网页的网页响应数据,具体包括:
分别爬取所述各网页,并分别向所述各网页发送响应请求,获得所述各网页返回的网页响应数据。
3.如权利要求2所述的方法,其特征在于,分别向所述各网页发送响应请求后,进一步包括:
若确定未获得所述各网页中任一网页返回的网页响应数据,则向未响应的所述任一网页再次发送响应请求,并若确定向所述任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向所述任一网页发送响应请求。
4.如权利要求1所述的方法,其特征在于,所述软件更新信息中至少包括软件名称、版本信息;
则分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息,具体包括:
分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与所述预设的软件知识库匹配的软件更新信息;
根据筛选出的软件名称与所述预设的软件知识库匹配的软件更新信息的版本信息,筛选出比所述预设的软件知识库中相应软件的版本信息更高的软件更新信息。
5.如权利要求1所述的方法,其特征在于,进一步包括:
分别获取筛选出的软件更新信息中对应的软件更新包的描述信息,并根据软件更新包的描述信息,更新所述预设的软件知识库中更新后的软件的描述信息。
6.一种软件更新装置,其特征在于,包括:
爬取模块,用于分别爬取获得各网页的网页响应数据;其中,所述网页响应数据中至少包括软件更新信息;
筛选模块,用于分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息;
获取模块,用于分别获取筛选出的软件更新信息中对应的软件的更新地址;
更新模块,用于根据软件的更新地址,分别下载对应的软件更新包,并根据下载的软件更新包,更新所述预设的软件知识库中相应的软件。
7.如权利要求6所述的装置,其特征在于,所述爬取模块进一步用于:
向预设的软件网站发送响应请求,并获取所述预设的软件网站返回的网站响应数据;其中,所述网站响应数据中至少包括各网页,其中,所述各网页表示各软件更新信息的网页;
则分别爬取获得各网页的网页响应数据时,所述爬取模块具体用于:
分别爬取所述各网页,并分别向所述各网页发送响应请求,获得所述各网页返回的网页响应数据。
8.如权利要求7所述的装置,其特征在于,分别向所述各网页发送响应请求后,所述爬取模块进一步用于:
若确定未获得所述各网页中任一网页返回的网页响应数据,则向未响应的所述任一网页再次发送响应请求,并若确定向所述任一网页发送响应请求的次数超过预设次数阈值后仍未获得返回的网页响应数据,则停止向所述任一网页发送响应请求。
9.如权利要求6所述的装置,其特征在于,所述软件更新信息中至少包括软件名称、版本信息;
则分别将所述各网页的网页响应数据中的软件更新信息与预设的软件知识库进行匹配,筛选出符合预设规则的软件更新信息,筛选模块具体用于:
分别将各网页的网页响应数据中的软件名称与预设的软件知识库进行匹配,筛选出软件名称与所述预设的软件知识库匹配的软件更新信息;
根据筛选出的软件名称与所述预设的软件知识库匹配的软件更新信息的版本信息,筛选出比所述预设的软件知识库中相应软件的版本信息更高的软件更新信息。
10.如权利要求6所述的装置,其特征在于,所述获取模块,进一步用于:
分别获取筛选出的软件更新信息中对应的软件更新包的描述信息;
所述更新模块,进一步用于:根据软件更新包的描述信息,更新所述预设的软件知识库中更新后的软件的描述信息。
11.一种计算机装置,其特征在于,包括:
至少一个存储器,用于存储计算机程序;
至少一个处理器,用于执行存储器中存储的计算机程序时实现如权利要求1-5中任意一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811317773.7A CN111158713A (zh) | 2018-11-07 | 2018-11-07 | 一种软件更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811317773.7A CN111158713A (zh) | 2018-11-07 | 2018-11-07 | 一种软件更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158713A true CN111158713A (zh) | 2020-05-15 |
Family
ID=70555293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811317773.7A Pending CN111158713A (zh) | 2018-11-07 | 2018-11-07 | 一种软件更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158713A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503564A (zh) * | 2016-10-26 | 2017-03-15 | 上海携程商务有限公司 | 软件漏洞的发现方法和*** |
-
2018
- 2018-11-07 CN CN201811317773.7A patent/CN111158713A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503564A (zh) * | 2016-10-26 | 2017-03-15 | 上海携程商务有限公司 | 软件漏洞的发现方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10887171B2 (en) | Routing configuration method of view files, storage medium, terminal device and apparatus | |
CN109376291B (zh) | 一种基于网络爬虫的网站指纹信息扫描的方法及装置 | |
CN106815135B (zh) | 漏洞检测方法及装置 | |
CN103078945B (zh) | 对浏览器崩溃数据进行处理的方法与*** | |
CN106873952B (zh) | 移动端网页开发的数据处理***和方法、及应用装置 | |
CN110084486B (zh) | 一种资源管理方法及装置 | |
CN112579476B (zh) | 一种漏洞和软件对齐的方法、装置以及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN115033894A (zh) | 一种基于知识图谱的软件组件供应链安全检测方法及装置 | |
WO2022012327A1 (zh) | 代码分析的方法、***及计算设备 | |
CN107015986B (zh) | 一种爬虫爬取网页的方法及装置 | |
US9760470B2 (en) | Device, method, and program analysis of new source code to be added to execution program to check for bug | |
CN115454496A (zh) | 一种软件物料清单的生成方法和装置 | |
CN116431520A (zh) | 测试场景确定方法、装置、电子设备和存储介质 | |
CN108829575B (zh) | 测试案例推荐方法、电子装置及可读存储介质 | |
CN111966630B (zh) | 文件类型的检测方法、装置、设备和介质 | |
CN114139161A (zh) | 一种批量检测漏洞的方法、装置、电子设备及介质 | |
CN111046316B (zh) | 一种应用上架状态监控方法、智能终端及存储介质 | |
CN110874475A (zh) | 漏洞挖掘方法、漏洞挖掘平台及计算机可读存储介质 | |
CN117194398A (zh) | 异常文件处理方法、装置、存储介质以及电子设备 | |
CN116303320A (zh) | 基于日志文件的实时任务管理方法、装置、设备及介质 | |
CN112560030A (zh) | 文件监控方法、装置、电子设备和计算机可读存储介质 | |
CN111158713A (zh) | 一种软件更新方法及装置 | |
CN110968779A (zh) | 网页信息爬取的处理方法和装置 | |
CN112003837B (zh) | 基于Modbus协议的设备智能适配方法、装置及存储介质 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200515 |
|
WD01 | Invention patent application deemed withdrawn after publication |