一种线路类旅游产品的实时比价方法_3

文档序号:9598388阅读:来源:国知局
小时为单位统计每条线路价格变更平均时间(计算公式为:周期M=每次发生价格变 更时距离上一次变更的时间差的总和/变更次数,当计算结果有小数时,直接抹去小数后 在整数位上加1即得周期M),例如:1小时、2小时、3小时…12小时,最大为12小时,将数 据存放数据库中。针对各个旅游线路产品,通过计算其多次变化时间差的平均值,能够获得 产品链接的价格变化更新周期M。
[0024] 每个单位时间(本例中为每小时)启动定时任务,从数据库中取出本轮需要抓取的 链接推送至周期抓取队列中,爬虫则去周期抓取队列获取链接抓取。获取每轮需要抓取链 接列表算法为:记录当前抓取任务触发的次数N,这说明距离第一次抓取已经过了 N小时, 遍历数据库中所有链接,获取各链接价格的更新周期Μ小时,如果N能被Μ整除,则此链接 需要在这轮抓取任务中被抓取,将此链接推送到各周期抓取队列中进行价格抓取。例如:当 前是定时任务第60次启动,则更新时间为(1,2,3,4,5,6,10,12)小时的链接需要 被抓取,不同更新周期的产品链接应分别存放至相应的周期队列中,周期队列优选为多个, 本例中即设置有用于分开存放更新时间分别为(1,2,3,4,5,6,10,12)小时的产品 链接的周期队列。周期性抓取流程如图3所示,能够根据线路价格变化频率动态调整抓取 频率,根据历史抓取情况,分析不同线路在抓取第几轮价格时发生价格变化,按照价格更新 频率动态调整周期队列中的链接,实现价格变化较快的线路能更加快速的抓取最新的价 格。定时任务抓取的各链接产品价格的变更时间距离上一次变更的时间差也计入前述时间 差的总和中用来计算前述产品链接价格更新周期(显然,当变更时间差计入时间差总和时, 计算公式中的变更次数也随之加1),这样能够令更新周期的计算更为精确。
[0025] 当用户主动请求比价时,步骤如图2所示,优先判断缓存信息中是否具有用户需 要比价的线路产品的价格信息,如果没有则需要去其他网站上实时获取价格数据,当缓存 中存在价格信息时还要判断缓存中的价格信息是否过期,过期时也需去其他网站上实时获 取价格数据。缓存设置有过期时间,例如过期时间为半小时,当接收到用户请求时,例如用 户当前请求比价的产品列表中的各产品链接在缓存中的价格数据最近抓取时间距今在半 小时之内,则从缓存中直接获得产品列表中各个产品对应的价格即可;如已超过半小时,则 需要利用实时抓取队列来获得最新价格,将当前页面上的相同(相似)线路产品队列链接发 送到实时抓取队列中,当缓存中不具有用户需要比价的线路产品的价格信息时,将这些线 路产品链接发送到实时抓取队列中。分布式的爬虫系统此时从实时抓取队列中取得链接, 从各链接中实时地获取对应的产品的最新价格数据,将此价格数据返回给比价工具系统, 价格数据显示在页面上以供用户实时进行比价。前述取得的价格数据和更新时间同时加入 缓存中。
[0026] 上述动态调整抓取队列的方法,保证价格变化较快的线路能更加频繁地被抓取和 更新价格,而价格变化较慢的路线则无需被反复抓取价格,充分节约资源。
[0027] 本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括 由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为 本发明的保护范围。
【主权项】
1. 一种线路类旅游产品的实时比价方法,其特征在于,包括如下步骤: 步骤A,获取旅游网站上的线路产品并从中抽取旅游相关数据,所述旅游相关数据至少 包括出发地、目的地、行程信息、团期信息、价格信息、交通信息中的一种或几种的组合; 步骤B,筛选出相同出发地,相同目的地,相同出游天数的旅游线路产品作为候选的相 似产品,计算行程相似度、团期相似度和价格相似度,并通过以下公式计算两个旅游产品的 总和相似度: 行程相似度*行程权重+团期相似度*团期权重+价格相似度*价格权重; 所述行程相似度通过以下步骤进行计算:将候选相似线路产品的行程信息作为输入文 本,对文本进行分词后对词语进行词性标注,将行程中出现的地名的名词提取出来,利用名 词和其词频组成该线路产品的特征向量,采用以下公式计算行程相似度:其中,A1, B1为线路产品的特征向量; 所述团期相似度=A n B / A U B,其中A和B分别为两条线路所有团期的集合; 所述价格相似度根据根据下式进行计算: price = I-(abs (averageA - averageB)/averageA+abs(averageA-averageB) / averageB)/2 其中averageA和averageB分别为线路A和线路B的平均价格; 通过以下公式计算总和相似度: 总和相似度=行程相似度*行程权重+团期相似度*团期权重+价格相似度*价格权 重, 当总和相似度达到或超过设定好的比对阈值时,则认为这些产品是相同的; 步骤C,将步骤B中已经完成匹配的相同产品列表中的各线路产品链接放置在全量抓 取队列中,采用爬虫系统持续依次抓取全量队列中各线路产品链接的价格信息,并计算各 个线路产品的更新周期;定时进行周期性抓取,当周期性抓取时间达到线路产品更新周期 的整数倍时,则获取这些线路产品链接中的价格信息并存入缓存中;当用户请求比价时,判 断缓存是否存在未过期的价格信息,当存在未过期的价格信息时从缓存中获得页面产品列 表中各个产品对应的价格,否则实时获取价格数据。2. 根据权利要求1所述的线路类旅游产品的实时比价方法,其特征在于:所述步骤C 中进行周期性抓取时将需要进行抓取的线路产品链接放入周期队列中。3. 根据权利要求2所述的线路类旅游产品的实时比价方法,其特征在于:所述周期队 列为多个,一个周期队列用于放置同一更新周期的产品链接。4. 根据权利要求1~3中任意一项所述的线路类旅游产品的实时比价方法,其特征在 于:所述步骤C中进行周期性抓取时计算各个线路产品的更新周期。5. 根据权利要求1所述的线路类旅游产品的实时比价方法,其特征在于,所述实时获 取价格数据的过程包括以下过程:将需要实时获取价格的线路产品链接发送到实时队列 中,爬虫系统从实时队列中取得链接后去相应网站抓取价格信息。6. 根据权利要求1或5所述的线路类旅游产品的实时比价方法,其特征在于:所述实 时获取的价格数据存入缓存中。
【专利摘要】本发明公开了一种线路类旅游产品的自动实时比价方法,从线路行程信息,价格信息,团期信息等多个维度对线路类旅游产品进行相似度计算,获得相似线路产品,并实时抓取最新价格,保证比价的准确性和实时性。本发明包括获取线路产品信息步骤,相似度计算步骤,实时获取价格步骤。本发明针对线路类旅游产品从多种维度进行相似性比对,比对结果精确,能够筛选出相似度极高的线路产品;且能够根据各线路产品的更新周期差异,动态调整抓取频率,在保证实时抓取产品的最新价格进行比价的基础上充分节约服务器和网络资源。
【IPC分类】G06Q50/14
【公开号】CN105354770
【申请号】CN201510782725
【发明人】苏永圳, 孟硕培, 史何富
【申请人】南京途牛科技有限公司
【公开日】2016年2月24日
【申请日】2015年11月16日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1