一种数据库更新方法及装置的制造方法_3

文档序号:9708336阅读:来源:国知局
向网络爬虫模块或者非待更新数据库发送所生成的索引标识,以在其他数据库中更新目标网页对应的数据记录。
[0097]需要说明的是,网络爬虫模块接收到目标网页对应的索引标识后,也需将所接收的标识信息发送给相应的数据库,以在相应数据库中更新目标网页对应的数据记录。
[0098]S106:结束本流程。
[0099]由以上可见,本实施例提供的方案中,在获得目标网页的网页参数后,判断待更新的数据库中与目标网站对应的数据表中是否存在目标网页对应的数据记录,不存在时,生成目标网页对应的索引标识,并在目标网站对应的数据表中增加该目标网页对应的数据记录。与现有技术相比,本实施例提供的方案中将各个网页对应的数据记录存储在多个数据表中,而非一个数据表中,因此,在判断待更新数据库中是否存在目标网页对应的数据记录时,只在目标网页对应的数据表中判断即可,而无需在待更新数据库所包含的全部信息中判断,因此,能够提高更新数据库的速度。
[0100]在本发明的一个具体实施例中,参见图2,提供了数据库更新方法的第二种流程示意图,与前述实施例相比,本实施例中,
[0101]在生成目标网页对应的索引标识(S104)之前,还包括:
[0102]S107:将索引标识生成标记位设置为锁定状态。
[0103]由于启动待更新数据库对应的更新程序之后,网络爬虫模块可多次获得网页信息,因此,搜索引擎可能根据网络爬虫模块获得的网页信息获得多个网页的网页参数,当经S103判断待更新数据库的相应数据表中不存在各个网页对应的数据记录时,为防止根据S104所生成的各个网页的索引标识相同,可通过设置索引标识生成标记位的方法,一次仅允许计算一个网页对应的索引标记位,即:当索引标识生成标记位为锁定状态时,表示当前只能计算目标网页对应的索引标识。
[0104]实际应用中,可以将索引标识生成标记位设置为1表示锁定状态,设置为0标识解锁状态,当然,本申请只是以上述为例进行说明,并不限定表示锁定状态以及解锁状态的具体数值。
[0105]S108:根据目标网页在目标网站中的标识,判断目标网站对应的数据表中是否存在目标网页对应的数据记录,若不存在,则执行S104。
[0106]实际应用中,搜索引擎可能根据网络爬虫模块获得的网页信息获得多个网页的网页参数,则这多个网页中可能存在两个或多个网页相同的情况,这种情况下,在根据S103判断目标网站对应的数据表中是否存在目标网页对应的数据记录时,可能判断得并不存在,而在根据S104生成目标网页对应的索引标识时,目标网站对应的数据表中却已经存在目标网页对应的数据记录。针对上述情况,在将索引标识生成标记位设置为锁定状态之后,需根据目标网页在目标网站中的标识,判断目标网站对应的数据表中是否存在目标网页对应的数据记录。
[0107]在生成目标网页对应的索引标识(S104)之后,还包括:
[0108]S109:将索引标识生成标记位设置为解锁状态。
[0109]其中,当索引标识生成标记位为解锁状态时,表示能够开始计算除了目标网页之外的其他网页对应的索引标识。
[0110]需要说明的是,本申请并不限定S109和S105的执行顺序,S109可以在S105之前执行,也可以在S105之后执行,还可以与S105同时执行。
[0111]由以上可见,本实施例提供的方案中,在生成目标网页对应的索引标识之前,通过设置索引标识生成标记位的方式,使得当前只能计算目标网页对应的索引标识,可以有效防止生成的各个网页对应的索引标识重复。
[0112]在本发明的另一个具体实施例中,参见图3,提供了数据库更新方法的第三种流程示意图,与前述实施例相比,本实施例中,生成目标网页对应的索引标识(S104),包括:
[0113]S1041:获得待更新数据库中已存储的数据记录对应的索引标识的最大值Value_SI Dmax。
[0114]实际应用中,可以从待更新数据库中获得Value_SID_。
[0115]当然,为了防止频繁从待更新数据库读取数据造成的待更新数据库工作压力过大等问题,也可以在启动待更新数据库对应的更新程序之后,将待更新数据库中已存储的数据记录对应的索引标识的最大值存储在本地,每次执行S1041时,根据本地存储的待更新数据库中已存储的数据记录对应的索引标识的最大值,获得Value_SID_。具体实现方式可参照图4所示实施例。
[0116]S1042:计算Value_SID_除以预设的第一阈值的余数R。
[0117]S1043:判断余数R是否小于预设的第二阈值,若为是,执行S1044,否则,执行S1045。
[0118]S1044:计算得目标网页对应的索引标识=R+预设的第二阈值。
[0119]S1045:计算得目标网页对应的索引标识=R+预设的第三阈值。
[0120]下面通过具体实例进行说明。
[0121]假设,预设的第一阈值为10000000,预设的第二阈值为1000000,预设的第三阈值为1。
[0122]S1041:获得 Value_SIDnax = 1000001 ;
[0123]S1042:1000001 除以 10000000 的余数为 1000001,则 R = 1000001 ;
[0124]S1043:1000001 大于 1000000,则执行 S1045 ;
[0125]S1045:目标网页对应的索引标识=1000001+1 = 1000002。
[0126]在本发明的另一个具体实施例中,参见图4,提供了数据库更新方法的第四种流程示意图,与图3所示实施例相比,本实施例中,该方法还包括:
[0127]S110:在启动待更新数据库对应的更新程序之后,将本地存储的Value_SID_L设置为:Value_SID_D_ 值。
[0128]其中,Value_SID_Dnax为待更新数据库中存储的待更新数据库中已存储的数据记录对应的索引标识的最大值。
[0129]S111:将 Value_SID_Dnax 更新为:当前 Value_SID_D_+ 预设的第四阈值。
[0130]获得待更新数据库中已存储的数据记录对应的索引标识的最大值Value_SID_(S1041),包括:
[0131]S10411:根据本地存储的索引标识值Value_SID_L,获得待更新数据库中已存储的数据记录对应的索引标识的最大值Value_SID_。
[0132]本实施例中,可以在S105在目标网站对应的数据表中增加目标网页对应的数据记录之后,更新本地存储的索引标识值Value_SID_L,以便于生成其他网页对应的索引标识,当然,也可以不更新Value_SID_L,而是通过其他方式记录待更新数据库的更新情况,例如,通过一个计数变量记录启动待更新数据库对应的更新程序后所增加的数据记录的个数坐寸。
[0133]在根据S1044或S1045计算得到目标网页对应的索引标识之后,还包括:
[0134]S112:将Value_SID_L值更新为目标网页对应的索引标识。
[0135]S113:判断目标网页对应的索引标识是否大于Value_SID_D_,若为是,执行S114。
[0136]S114:将 Value_SID_Dnax 更新为:当前 Value_SID_D_+ 预设的第四阈值。
[0137]优选的,预设的第四阈值可以为10000,当然,本申请并不限定预设的第四阈值的取值,实际应用中可以根据具体情况确定。
[0138]需要说明的是,本申请并不限定S105与S112-S114的执行顺序,S105可以在S112-S114之前执行,也可以在S112-S114之后执行,还可以与S112-S114中的一个步骤同时执行。
[0139]S115:在结束待更新数据库对应的更新程序之后,将Value_SID_D_更新为:Value_SID_Dnax = Value_SID_L。
[0140]由以上可见,上述实施例提供的方案中,从本地获得待更新数据库中已存储的数据记录对应的索引标识的最大值,能够防止频繁访问待更新数据库,避免待更新数据工作压力过大。
[0141]与上述数据库更新方法相对应,本发明实施例还提供
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1