高并发电商网站的网页数据采集方法、系统和介质与流程

文档序号:17548162发布日期:2019-04-30 18:00阅读:254来源:国知局
高并发电商网站的网页数据采集方法、系统和介质与流程

本发明涉及互联网技术领域,尤其是涉及一种高并发电商网站的网页数据采集方法、系统和介质。



背景技术:

随着网络技术的发展,互联网成为大量信息的载体,如何有效地提取并利用这些信息则成为一个巨大的挑战。特别的,在电子商务网站中,包括的数据有文字、图片、数据库甚至音频和视频等多媒体资源,这些信息含量密集且具有一定结构的数据,不能很好地发现和获取。为了解决上述问题,定向抓取相关网页资源的程序应运而生,它根据既定的目标,有选择的访问互联网上的网页与相关的链接,获取所需要的信息。

对既定目标有选择的获取信息需要消耗计算资源,不同的目标可能包括不同大小和复杂度的网页数据。当过多的计算资源配置到采集较小数据的任务中时,则会造成计算资源的浪费;当过少的计算资源配置到采集较大数据的任务中时,往往耗时较长,效率低下。因此,如何优化资源配置,提高数据采集效率,是当前亟需解决的技术问题。



技术实现要素:

本发明实施例的主要目的在于提供一种高并发电商网站的网页数据采集方法、系统和介质,旨在优化资源配置,提高数据采集效率。

为达以上目的,一方面提出一种高并发电商网站的网页数据采集方法,所述方法包括:

当接收到针对目标网页的网页数据请求时,预分配多个服务器组成至少两个计算集群;

通过所述计算集群进行网页数据采集;

在网页数据采集过程中,检测各个计算集群的计算资源利用率;

当检测到有的计算集群的计算资源利用率高,有的计算集群的计算资源利用率低时,则从所述计算资源利用率低的计算集群中调配预设数量的服务器到所述计算资源利用率高的计算集群。

可选地,所述检测各个计算集群的计算资源利用率的步骤之后还包括:

当检测到只有计算资源利用率高的计算集群,而没有计算资源利用率低的计算集群时,则向所述计算资源利用率高的计算集群中增加预设数量的服务器;

当检测到只有计算资源利用率低的计算集群,而没有计算资源利用率高的计算集群时,则从所述计算资源利用率低的计算集群中移除预设数量的服务器。

可选地,所述检测各个计算集群的计算资源利用率包括:

每隔预设时长检测一次各个计算集群的cpu和内存占用率;

当所述计算集群的cpu和内存占用率大于或等于第一占用阈值且持续预设时间时,判定所述计算集群的计算资源利用率高;

当所述计算集群的cpu和内存占用率小于或等于第二占用阈值且持续预设时间时,判定所述计算集群的计算资源利用率低;所述第一占用阈值大于所述第二占用阈值。

可选地,所述检测各个计算集群的计算资源利用率包括:

每隔预设时长检测一次各个计算集群的cpu和内存占用率,并统计所述计算集群的cpu和内存占用率在预设时间内的平均值;

当所述计算集群的cpu和内存占用率在预设时间内的平均值大于或等于第一占用阈值时,判定所述计算集群的计算资源利用率高;

当所述计算集群的cpu和内存占用率在预设时间内的平均值小于或等于第二占用阈值时,判定所述计算集群的计算资源利用率低;所述第一占用阈值大于所述第二占用阈值。

可选地,所述第一占用阈值为80%,所述第二占用阈值20%,所述预设时间为5分钟。

可选地,所述网页数据具体包括文字、图片、音频、视频和数据库中的一种或至少两种的组合。

可选地,所述计算集群包括第一计算集群、第二计算集群和第三计算集群,所述通过所述计算集群进行网页数据采集包括:

将所述网页数据请求的目标网页地址放入第一队列;

通过所述第一计算集群从所述第一队列中依次取出所述目标网页地址,获取所述目标网页地址的网页文件,并将所述网页文件放入第二队列;

通过所述第二计算集群从所述第二队列中依次取出所述网页文件,解析所述网页文件得到结构化的网页数据,并将所述结构化的网页数据放入第三队列;

通过所述第三计算集群从所述第三队列中依次获取所述结构化的网页数据,并按照预设规则将所述结构化的网页数据存入数据库。

可选地,所述预分配多个服务器组成至少两个计算集群包括:

按照1:10:1的比例为所述第一计算集群、所述第二计算集群和所述第三计算集群预分配服务器。

另一方面提出一种高并发电商网站的网页数据采集系统,所述系统包括存储器、处理器和至少一个被存储在所述存储器中并被配置为由所述处理器执行的应用程序,所述应用程序被配置为用于执行前述高并发电商网站的网页数据采集方法。

再一方面提出一种计算机可读存储介质,所述计算机可读存储介质上存储有网页数据采集程序,所述网页数据采集程序被处理器执行时,实现前述高并发电商网站的网页数据采集方法的步骤。

本发明实施例所提供的一种高并发电商网站的网页数据采集方法,通过组建至少两个计算集群进行网页数据采集,并在网页数据采集过程中根据各个计算集群的计算资源利用率动态调整各计算集群的计算资源,从计算资源利用率低的计算集群中调配一定数量的服务器到计算资源利用率高的计算集群,避免了计算资源分配不合理造成的计算资源的浪费或不足,从而实现了资源的优化配置,提高了计算资源的利用率,进而提高了数据采集效率。

附图说明

图1是本发明的高并发电商网站的网页数据采集方法第一实施例的流程图;

图2是本发明实施例中检测各个计算集群的计算资源利用率的步骤的具体流程图;

图3是本发明实施例中检测各个计算集群的计算资源利用率的步骤的又一具体流程图;

图4是本发明实施例中检测各个计算集群的计算资源利用率的步骤的又一具体流程图;

图5是本发明的高并发电商网站的网页数据采集方法第二实施例的流程图;

图6是图5中步骤s22的具体流程图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

实施例一

参见图1,提出本发明的高并发电商网站的网页数据采集方法第一实施例,所述方法包括以下步骤:

s11、当接收到针对目标网页的网页数据请求时,预分配多个服务器组成至少两个计算集群。

本实施例中,可以由网页服务器或应用服务器接收客户端针对目标网页的一个、两个或多个网页数据请求。当接收到网页数据请求时,则分配一定数量的服务器组成两个或多个计算集群。计算集群的数量可以根据实际需要确定,各个计算集群的服务器分配比例可以预先设定,也可以随机分配。

s12、通过计算集群进行网页数据采集。

本实施例中,可以将网页数据采集任务拆分成至少两个子任务,再利用各个计算集群分别完成对应的子任务,最终实现网页数据的采集。

本发明实施例中,网页数据具体包括文字、图片、音频、视频和数据库中等信息中的一种或至少两种的组合。

s13、在网页数据采集过程中,检测各个计算集群的计算资源利用率。

本实施例中,在进行网页数据采集过程中,还实时或定时的检测各个计算集群的计算资源利用率,判断各计算集群的计算资源利用率是高还是低。

本发明实施例中,可以通过检测计算集群的cpu(centralprocessingunit,中央处理器)和内存占用率来判断其计算资源利用率的高低。

可选地,检测各个计算集群的计算资源利用率的具体流程可以如图2所示,包括以下步骤:

s101、每隔预设时长检测一次各个计算集群的cpu和内存占用率。

s102、当计算集群的cpu和内存占用率大于或等于第一占用阈值且持续预设时间时,判定该计算集群的计算资源利用率高。

s103、当计算集群的cpu和内存占用率小于或等于第二占用阈值且持续预设时间时,判定该计算集群的计算资源利用率低。

可选地,检测各个计算集群的计算资源利用率的具体流程还可以如图3所示,包括以下步骤:

s201、每隔预设时长检测一次各个计算集群的cpu和内存占用率,并统计计算集群的cpu和内存占用率在预设时间内的平均值。

s202、当计算集群的cpu和内存占用率在预设时间内的平均值大于或等于第一占用阈值时,判定计算集群的计算资源利用率高。

s203、当计算集群的cpu和内存占用率在预设时间内的平均值小于或等于第二占用阈值时,判定计算集群的计算资源利用率低。

前述预设时间可以根据实际需要设定,如1-10分钟,本发明实施例优选5分钟。第一占用阈值大于第二占用阈值,两个占用阈值可以根据实际需要设定,如设定第一占用阈值为80%,设定第二占用阈值为20%。

在另一些实施例中,还可以通过检测计算集群获取结果的耗时来判断其计算资源利用率的高低,具体如图4所示,包括以下步骤:

s301、在预设时间内侦测各个计算集群的耗时。

s302、当计算集群的耗时大于或等于第一耗时阈值时,判定计算集群的计算资源利用率高。

s303、当计算集群的耗时小于或等于第二耗时阈值时,判定计算集群的计算资源利用率低。

前述预设时间可以根据实际需要设定,如1-10分钟,优选5分钟。第一耗时阈值大于第二耗时阈值,两个耗时阈值可以根据实际需要设定,如设定第一耗时阈值为3秒,设定第二耗时阈值为100毫秒。

s14、当检测到有的计算集群的计算资源利用率高,有的计算集群的计算资源利用率低时,则从计算资源利用率低的计算集群中调配预设数量的服务器到计算资源利用率高的计算集群。

本发明实施例中,根据各个计算集群的计算资源利用率的检测结果动态调整各计算集群的计算资源,以避免计算资源分配不合理造成计算资源的浪费或不足,实现资源的优化配置,整体上提高计算资源的利用率,从而提高数据采集效率。

具体的,当检测到有的计算集群的计算资源利用率高,有的计算集群的计算资源利用率低时,则从计算资源利用率低的计算集群中调配预设数量(如1个或多个)的服务器到计算资源利用率高的计算集群中。例如,第n个计算集群的计算资源利用率高,而第n+1个计算集群的计算资源利用率低,说明第n个计算集群的计算资源不足,而第n+1个计算集群的计算资源有富余,则从第n+1个计算集群中调配一定数量的服务器到第n个计算集群中,实现计算资源的充分利用,避免计算资源浪费。

进一步地,当检测到只有计算资源利用率高的计算集群,而没有计算资源利用率低的计算集群时,则向计算资源利用率高的计算集群中增加预设数量(如1个或多个)的服务器。例如,有两个计算集群的计算资源利用率高,而其余计算集群的计算资源利用率正常,则再分别分配一定数量的服务器到该两个计算集群中,以提高网络数据的采集效率。

进一步地,当检测到只有计算资源利用率低的计算集群,而没有计算资源利用率高的计算集群时,则从计算资源利用率低的计算集群中移除预设数量(如1个或多个)的服务器。例如,所有的计算集群的计算资源利用率均低,则分别从各个计算集群中移除一定数量的服务器,以减少计算资源的浪费。

在另一些实施例中,依次检测各个计算集群的计算资源利用率,当检测到某个计算集群(如第n个计算集群)的计算资源利用率高时,则从下一个计算集群(即第n+1个计算集群)中调配预设数量的服务器到当前检测的计算集群中,当最后一个计算集群的计算资源利用率高时,则向最后一个计算集群中增加预设数量的服务器。

本实施例的高并发电商网站的网页数据采集方法,通过组建至少两个计算集群进行网页数据采集,并在网页数据采集过程中根据各个计算集群的计算资源利用率动态调整各计算集群的计算资源,从计算资源利用率低的计算集群中调配一定数量的服务器到计算资源利用率高的计算集群,避免了计算资源分配不合理造成的计算资源的浪费或不足,从而实现了资源的优化配置,提高了计算资源的利用率,进而提高了数据采集效率,特别适用于高并发的网页数据采集。

实施例二

参照图5,提出本发明的高并发电商网站的网页数据采集方法第二实施例,所述方法包括以下步骤:

s21、当接收到针对目标网页的网页数据请求时,预分配多个服务器组成第一计算集群、第二计算集群和第三计算集群。

本实施例中,可以按照1:10:1的比例为第一计算集群、第二计算集群和第三计算集群预分配服务器。例如,向第一计算集群和第三计算集群分别分配5个服务器,为第二计算集群分配50个服务器。

s22、通过第一计算集群、第二计算集群和第三计算集群进行网页数据采集。

本发明实施例中,采用网络爬虫技术进行网页数据采集。网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统的网络爬虫从一个或若干初始网页的url(uniformresourcelocator,统一资源定位符,即网页地址)开始,获得初始网页上的url,在抓取网页的过程中,不断从当前页面上抽取新的url放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的url队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页url,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被网络爬虫抓取的网页都将被系统存储,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

本实施例中,将网页数据采集任务拆分为三个子任务,并将三个子任务分别分配给第一计算集群、第二计算集群和第三计算集群执行,具体如图6所示,包括以下步骤:

s401、将网页数据请求的目标网页地址放入第一队列。

s402、通过第一计算集群从第一队列中依次取出目标网页地址,获取目标网页地址的网页文件,并将网页文件放入第二队列。

s403、通过第二计算集群从第二队列中依次取出网页文件,解析网页文件得到结构化的网页数据,并将结构化的网页数据放入第三队列。

s404、通过第三计算集群从第三队列中依次获取结构化的网页数据,并按照预设规则将结构化的网页数据存入数据库。

本实施例中,第一队列位于数据库服务器,第二队列和第三队列位于第一计算集群、第二计算集群和第三计算集群组成的数据分析服务集群中特定的数据分析服务器中,该数据分析服务器不会被动态移除。

s23、在网页数据采集过程中,根据第一计算集群、第二计算集群和第三计算集群的计算资源利用率动态调整各计算集群的计算资源。

本实施例中,在进行网页数据采集过程中,还实时或定时的检测第一计算集群、第二计算集群和第三计算集群的计算资源利用率,判断各计算集群的计算资源利用率是高还是低,据此动态调整各计算集群的计算资源。

例如,当第二计算集群的计算资源利用率高,而第一计算集群和第二计算集群的计算资源利用率低时,则从第一计算集群和/或第三计算集群中调配预设数量的服务器到第二计算集群中。

又如,当第一计算集群和/或第三计算集群的计算资源利用率高,而第二计算集群的计算资源利用率低时,则从第二计算集群中调配预设数量的服务器到第一计算集群和/或第二计算集群中。

又如,当第一计算集群、第二计算集群和第三计算集群的资源利用率均高时,则分别增设预设数量的服务器到第一计算集群、第二计算集群和第三计算集群中,优选的,先增设服务器到第二计算集群,因为相对于第一计算集群和第三计算集群,第二计算集群需要的计算资源更多,对cpu的处理计算能力要求更高。

又如,当第一计算集群、第二计算集群和第三计算集群的资源利用率均低时,则从第一计算集群、第二计算集群和第三计算集群中分别移除预设数量的服务器,优选地,先移除第一计算集群和第三计算集群中的服务器,因为相对于第一计算集群和第三计算集群,第二计算集群需要的计算资源更多,对cpu的处理计算能力要求更高。

在某些实施例中,可选地,当第二计算集群的计算资源利用率高时,则从第一计算集群或第三计算集群调配预设数量的服务器到第二计算集群中,当第一计算集群或第三计算集群的计算资源利用率也高时,则增加预设数量的服务器到第一计算集群、第二计算集群和第三计算集群中。

可选地,当第一计算集群或第三计算集群的计算资源利用率高时,则从第二计算集群调配预设数量的服务器到第一计算集群或第三计算集群,当第二计算集群的计算资源利用率也高时,则增加预设数量的服务器到第一计算集群、第二计算集群和第三计算集群中。

可选地,当第一计算集群或第三计算集群的计算资源利用率低时,则从第一计算集群或第三计算集群中调配预设数量的服务器到第二计算集群中,当第二计算集群的计算资源利用率也低时,则从第一计算集群、第二计算集群和第三计算集群中移除预设数量的服务器。

可选地,当第二计算集群的计算资源利用率低时,则从第二计算集群中调配预设数量的服务器到第一计算集群或第三计算集群中,当第一计算集群或第三计算集群的计算资源利用率也低时,则从第一计算集群、第二计算集群和第三计算集群中移除预设数量的服务器。

本实施例的高并发电商网站的网页数据采集方法,通过组建三个计算集群进行网页数据的多层采集,并为每层的计算集群动态智能的分配计算资源,避免了计算资源分配不合理造成的计算资源的浪费或不足,从而实现了资源的优化配置,提高了计算资源的利用率,进而提高了数据采集效率。

本发明实施例同时提出一种网页数据采集系统,该系统包括存储器、处理器和至少一个被存储在存储器中并被配置为由处理器执行的应用程序,该应用程序被配置为用于执行高并发电商网站的网页数据采集方法。本实施例中所描述的高并发电商网站的网页数据采集方法为本发明中上述实施例所涉及的高并发电商网站的网页数据采集方法,在此不再赘述。

本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质上存储有网页数据采集程序,该网页数据采集程序被处理器执行时,实现高并发电商网站的网页数据采集方法的步骤。本实施例中所描述的高并发电商网站的网页数据采集方法为本发明中上述实施例所涉及的高并发电商网站的网页数据采集方法,在此不再赘述。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1