一种数据处理方法及服务器与流程

文档序号:11155468阅读:668来源:国知局
一种数据处理方法及服务器与制造工艺

本发明涉及数据处理技术,尤其涉及一种数据处理方法及服务器。



背景技术:

通过页面链接下载到页面数据后,还需要对页面数据进行抽取,得到最终的目标数据。这个过程中,需要调用下载功能和数据抽取功能,然而,目前的下载功能和数据抽取功能具有强耦合关系,即:下载功能执行后直接调用数据抽取功能进行数据抽取。这种方式下,要对不同的页面结构开发不同的数据抽取功能;或者,通过通用的数据抽取功能进行数据抽取,但是不能处理较复杂的页面结构。

可见,现有的下载功能和数据抽取功能耦合度较高,不易分布式部署网络数据;对复杂结构的页面数据抽取不够准确。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种数据处理方法及服务器。

本发明实施例提供的数据处理方法,包括:

从数据库中分别读取第一类型数据和第二类型数据;

将所述第一类型数据插入第一队列中,将所述第二类型数据插入第二队列中;

对所述第一队列进行下载处理时,从所述第一队列中获取第一类型数据,依据所述第一类型数据下载得到第二类型数据;将所述下载得到的第二类型数据存入所述数据库;

对所述第二队列进行抽取处理时,从所述第二队列中获取第二类型数据,对所述第二类型数据进行解析,抽取得到对象数据;将所述对象存入所述数据库。

本发明实施例中,所述从数据库中读取第一类型数据,为:从数据库中读取链接类型数据。

本发明实施例中,所述对所述第二类型数据进行解析,抽取得到对象数据,包括:

对所述第二类型数据进行解析,抽取得到结构化数据和/或链接类型数据,其中,所述链接类型数据是指所述第一类型数据。

本发明实施例中,所述数据库对所述第一类型数据和所述第二类型数据进行分区域存储,其中,所述第一类型数据存储在数据库中的第一存储区域,所述第二类型数据存储在数据库中的第二存储区域;

所述从数据库中分别读取第一类型数据和第二类型数据,包括:

从所述第一存储区域中读取第一类型数据,从所述第二存储区域读取第二类型数据。

本发明实施例中,所述方法还包括:

循环执行所述下载处理和所述抽取处理,直至所述数据库中的第一类型数据和第二类型数据被处理完成为止。

本发明实施例提供的服务器,包括:

调度模块,用于从数据库中分别读取第一类型数据和第二类型数据;将所述第一类型数据插入第一队列中,将所述第二类型数据插入第二队列中;

队列模块,用于通过第一队列存储第一类型数据,通过第二队列存储第二类型数据;

下载模块,用于对所述第一队列进行下载处理时,从所述第一队列中获取第一类型数据,依据所述第一类型数据下载得到第二类型数据;将所述下载得到的第二类型数据存入所述数据库;

抽取模块,用于对所述第二队列进行抽取处理时,从所述第二队列中获取第二类型数据,对所述第二类型数据进行解析,抽取得到对象数据;将所述对象存入所述数据库。

本发明实施例中,所述调度模块,具体用于从数据库中读取链接类型数据。

本发明实施例中,所述抽取模块,具体用于对所述第二类型数据进行解析,抽取得到结构化数据和/或链接类型数据,其中,所述链接类型数据是指所述第一类型数据。

本发明实施例中,所述数据库对所述第一类型数据和所述第二类型数据进行分区域存储,其中,所述第一类型数据存储在数据库中的第一存储区域,所述第二类型数据存储在数据库中的第二存储区域;

所述调度模块,具体用于从所述第一存储区域中读取第一类型数据,从所述第二存储区域读取第二类型数据。

本发明实施例中,所述服务器中的各个模块循环执行所述下载处理和所述抽取处理,直至所述数据库中的第一类型数据和第二类型数据被处理完成为止。

本发明实施例的技术方案中,从数据库中分别读取第一类型数据和第二类型数据;将所述第一类型数据插入第一队列中,将所述第二类型数据插入第二队列中;对所述第一队列进行下载处理时,从所述第一队列中获取第一类型数据,依据所述第一类型数据下载得到第二类型数据;将所述下载得到的第二类型数据存入所述数据库;对所述第二队列进行抽取处理时,从所述第二队列中获取第二类型数据,对所述第二类型数据进行解析,抽取得到对象数据;将所述对象存入所述数据库。采用本发明实施例的技术方案,下载功能与数据抽取功能相分离,并以队列的方式进行数据的传递,使数据处理系统高度分离,易于扩展;此外,抽取功能使用预配置的模型进行数据抽取,使抽取得到的数据更准确,并提高系统的可用性。

附图说明

图1为本发明实施例的数据处理方法的流程示意图;

图2为本发明实施例的数据处理方法的循环框图;

图3为本发明实施例的服务器的结构组成示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。

图1为本发明实施例的数据处理方法的流程示意图,如图1所示,所述数据处理方法包括以下步骤:

步骤101:从数据库中分别读取第一类型数据和第二类型数据。

本发明实施例中,第一类型数据是指链接类型数据,这里,链接类型数据是指可以用来进行下载操作的数据(以下简称为待下载数据),例如统一资源定位符(URL,Uniform Resoure Locator)。

本发明实施例中,第二类型数据是指待抽取数据。

基于此,所述从数据库中读取第一类型数据,为:从数据库中读取链接类型数据。

本发明实施例中,所述数据库对所述第一类型数据和所述第二类型数据进行分区域存储,其中,所述第一类型数据存储在数据库中的第一存储区域,所述第二类型数据存储在数据库中的第二存储区域。

具体实现时,第一存储区域和第二存储区域可以位于不同的磁盘空间中或者内存空间中。对不同类型的数据进行分区域存储可以使得后续的读取操作更加快速。

相应地,所述从数据库中分别读取第一类型数据和第二类型数据,包括:

从所述第一存储区域中读取第一类型数据,从所述第二存储区域读取第二类型数据。

步骤102:将所述第一类型数据插入第一队列中,将所述第二类型数据插入第二队列中。

本发明实施例提供了数据队列,具体地,提供了两个数据队列,分别为第一数据队列和第二数据队列。其中,将所述第一类型数据插入第一队列中,将所述第二类型数据插入第二队列中。

本发明实施例中,数据队列都有一定的容量,可以从数据库中将读取到的数据按照先入先出的原则进行处理。例如,首次从数据库中读取的数据量要小于或等于队列的容量。在后续将数据存入队列时,需要队列中有空闲的位置时,才可以将数据存入空闲的队列中,以避免数据露处理。

步骤103:对所述第一队列进行下载处理时,从所述第一队列中获取第一类型数据,依据所述第一类型数据下载得到第二类型数据;将所述下载得到的第二类型数据存入所述数据库。

本发明实施例中,依据所述第一类型数据下载得到第二类型数据具体为:依据链接型数据下载得到页面相关的数据。

步骤104:对所述第二队列进行抽取处理时,从所述第二队列中获取第二类型数据,对所述第二类型数据进行解析,抽取得到对象数据;将所述对象存入所述数据库。

本发明实施例中,对所述第二类型数据进行解析,抽取得到结构化数据和/或链接类型数据,其中,所述链接类型数据是指所述第一类型数据。这里,结构化数据是指最终的目标数据,无需再处理。

本发明实施例中,循环执行所述下载处理和所述抽取处理,直至所述数据库中的第一类型数据和第二类型数据被处理完成为止。

采用本发明实施例的技术方案,下载功能与数据抽取功能相分离,并以队列的方式进行数据的传递,使数据处理系统高度分离,易于扩展;此外,抽取功能使用预配置的模型进行数据抽取,使抽取得到的数据更准确,并提高系统的可用性。

图2为本发明实施例的数据处理方法的循环框图,如图2所示,所述方法包括:

1)调度模块负责将待处理数据(包括待下载数据和待抽取数据)插入队列中。

2)下载模块从队列中获取待下载数据进行下载,下载入库的数据就是新的待抽取数据。

3)抽取模块从队列中获取待抽取数据进行数据解析,解析结果为结构化数据或者链接型数据(也即待下载数据),将结构化数据存入数据库中的对象库;将链接型数据存入数据库中作为新的待下载数据。

由上述1)、2)和3)形成一个闭环,一直循环下去,直至数据处理结束。

图3为本发明实施例的服务器的结构组成示意图,如图3所示,所述服务器包括:

调度模块31,用于从数据库中分别读取第一类型数据和第二类型数据;将所述第一类型数据插入第一队列中,将所述第二类型数据插入第二队列中;

队列模块32,用于通过第一队列存储第一类型数据,通过第二队列存储第二类型数据;

下载模块33,用于对所述第一队列进行下载处理时,从所述第一队列中获取第一类型数据,依据所述第一类型数据下载得到第二类型数据;将所述下载得到的第二类型数据存入所述数据库;

抽取模块34,用于对所述第二队列进行抽取处理时,从所述第二队列中获取第二类型数据,对所述第二类型数据进行解析,抽取得到对象数据;将所述对象存入所述数据库。

本发明实施例中,所述调度模块31,具体用于从数据库中读取链接类型数据。

本发明实施例中,所述抽取模块34,具体用于对所述第二类型数据进行解析,抽取得到结构化数据和/或链接类型数据,其中,所述链接类型数据是指所述第一类型数据。

本发明实施例中,所述数据库对所述第一类型数据和所述第二类型数据进行分区域存储,其中,所述第一类型数据存储在数据库中的第一存储区域,所述第二类型数据存储在数据库中的第二存储区域;

所述调度模块31,具体用于从所述第一存储区域中读取第一类型数据,从所述第二存储区域读取第二类型数据。

本发明实施例中,所述服务器中的各个模块循环执行所述下载处理和所述抽取处理,直至所述数据库中的第一类型数据和第二类型数据被处理完成为止。

本领域技术人员应当理解,图3所示的服务器中的各单元的实现功能可参照前述数据处理方法的相关描述而理解。图3所示的服务器中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。

本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

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