酒店数据同步方法、装置、计算机设备及存储介质与流程
未命名
07-12
阅读:81
评论:0
1.本技术涉及数据处理技术领域,尤其涉及一种酒店数据同步方法、装置、计算机设备及存储介质。
背景技术:
2.酒店行业的酒店资源供应链平台连接了很多的酒店供应商,而不同的酒店供应商的房态、房量、房价等酒店业务数据都不一样,且酒店供应商的部分酒店业务数据是会跟随季节、社会事件等规律性事件或随机性事件进行无规律地改变的。所以,酒店资源供应链平台保证自身提供的酒店数据的实时性和准确性,需要将酒店供应商的酒店业务数据同步到自身的系统中。
3.但是,现有的酒店数据同步方式一般采用全量同步方式或增量同步方式。全量同步方式和增量同步方式存在的问题是随着酒店资源供应链平台接入了更多的酒店供应商之后,更多的数据量和更多的数据同步需求使得酒店资源供应链平台的酒店数据同步耗时增加、实时性降低,以及酒店资源供应链平台系统压力增大。
技术实现要素:
4.本技术实施例提供一种酒店数据同步方法、装置、计算机设备及存储介质,以解决酒店数据同步耗时增加、实时性降低以及系统压力增大的问题。
5.第一方面,本技术实施例提供一种酒店数据同步方法,包括:
6.从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;
7.通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;
8.根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略;
9.通过分布式任务调度框架根据所述酒店同步需求生成至少一个酒店数据同步子任务,分发所述酒店数据同步策略至对应的所述酒店数据同步子任务;
10.运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。
11.可选地,所述通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据步骤之后,还包括:
12.发送所述酒店评估总分数据至已部署的分布式搜索和分析引擎;
13.通过切面拦截方式获取所述酒店供应商的第二维度酒店历史数据,发送所述第二维度酒店历史数据至所述分布式搜索和分析引擎。
14.可选地,所述通过切面拦截方式获取所述酒店供应商的第二维度酒店历史数据,发送所述第二维度酒店历史数据至所述分布式搜索和分析引擎步骤之后,还包括:
15.获取所述分布式搜索和分析引擎对所述第二维度酒店历史数据的分析结果;
16.根据所述酒店数据同步需求和所述分析结果生成至少一个酒店数据同步策略。
17.可选地,所述根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略步骤之后,还包括:
18.发送所述酒店数据同步策略至已部署的分布式内存数据库;
19.根据所述酒店数据同步需求生成不同所述酒店数据同步策略对应的酒店数据同步频率;
20.发送所述酒店数据同步频率至所述分布式内存数据库,并在所述分布式内存数据库中生成数据同步键值对,其中,所述数据同步键值对的键为所述酒店数据同步策略,所述数据同步键值对的值为所述酒店数据同步频率。
21.可选地,所述分发所述酒店数据同步策略至对应的所述酒店数据同步子任务步骤之后,还包括:
22.从所述分布式内存数据库获取所述酒店数据同步策略对应的所述数据同步键值对;
23.发送所述数据同步键值对中的所述酒店数据同步频率至所述酒店数据同步子任务。
24.可选地,所述运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果步骤之后,还包括:
25.监控运行所述酒店数据同步子任务运行时对节点服务器的硬件资源消耗百分比,其中,所述节点服务器位于服务器集群中,所述酒店数据同步子任务被所述分布式任务调度框架分发至所述节点服务器;
26.选择所述硬件资源消耗百分比大于或等于预设硬件消耗资源百分比阈值的节点服务器作为待调整节点服务器;
27.使用所述分布式任务调度框架将所述待调整节点服务器上的目标酒店数据同步子任务分配至新的节点服务器;
28.若所述服务器集群中无新的节点服务器,则将所述目标酒店数据同步子任务进行拆分后分配至所述服务器集群中的节点服务器。
29.可选地,所述运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果步骤之后,还包括:
30.监控所述酒店数据同步结果被存储后在预设时间段内的读取频率;
31.根据所述读取频率优化所述酒店数据同步策略,以及所述酒店数据同步策略对应的所述酒店数据同步子任务。
32.第二方面,本技术实施例提供一种酒店数据同步装置,包括:
33.历史数据获取模块,用于从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;
34.评估总分数据模块,用于通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;
35.同步策略生成模块,用于根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略;
36.同步子任务模块,用于通过分布式任务调度框架根据所述酒店同步需求生成至少
一个酒店数据同步子任务,分发所述酒店数据同步策略至对应的所述酒店数据同步子任务;
37.数据同步结果模块,用于运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。
38.第三方面,本技术实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述酒店数据同步方法的步骤。
39.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述酒店数据同步方法的步骤。
40.上述酒店数据同步方法、装置、计算机设备及存储介质,通过从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;通过流式计算引擎使用第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;根据酒店数据同步需求使用第一维度酒店历史数据和酒店评估总分数据生成至少一个酒店数据同步策略;通过分布式任务调度框架根据酒店同步需求生成至少一个酒店数据同步子任务,分发酒店数据同步策略至对应的酒店数据同步子任务;运行酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。不仅降低了酒店数据同步的耗时、提升了酒店数据同步的实时性,而且进一步降低了酒店数据同步任务对酒店资源供应链平台系统的压力。
附图说明
41.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
42.图1是本技术一实施例中酒店数据同步方法的一应用环境示意图;
43.图2是本技术一实施例中酒店数据同步方法的一流程图;
44.图3是本技术一实施例中酒店数据同步装置的结构示意图;
45.图4是本技术一实施例中计算机设备的一示意图。
具体实施方式
46.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
47.本技术提供的酒店数据同步方法,可应用在如图1的应用环境中,分布式集群用于承载上述酒店数据同步方法的运行,分布式集群通过网络与酒店供应商的管理系统连接,分布式集群通过上述酒店供应商的管理系统开放的数据接口获取酒店数据,上述分布式集群包含计算机设备,其中,计算机设备可以但不限于各种个人计算机、笔记本电脑,计算机设备还可以是服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计
算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。可以理解的是图1的分布式集群中的计算机设备的数量仅仅是示意性的,可以根据实际需求进行任意数量的扩展。
48.在一实施例中,如图2所示,提供一种酒店数据同步方法,以该方法应用在图1中的计算机设备为例进行说明,包括如下步骤s101至s105:
49.s101、从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据。
50.在一些实施例中,第一维度酒店历史数据包括但不限于:酒店推荐等级、酒店价格、酒店星级、酒店房态和酒店房量。第一维度酒店历史数据的来源分为两部分,第一部分数据是通过酒店供应商的管理系统开放的对外数据接口获得,第二部分数据是根据已经获得的第一部分数据进行数据计算生成的,该数据计算是根据酒店行业已存在的衡量标准进行的,例如酒店平均房价是酒店客房销售总收入除以实际出租客房数、酒店入住率是酒店实际入住客人数与总客房数之比、酒店每客房每晚平均利润是酒店每个客房每晚的平均利润减去每个客房每晚的平均成本。
51.s102、通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据。
52.其中,流式计算引擎(stream processing engine)是一种用于处理实时数据流的软件系统,可以对数据流进行实时处理、分析、过滤、聚合、计算等操作,并通过各种方式对处理结果进行输出或展示。
53.在一些实施例中,使用jstorm流式计算引擎进行流式综合计算,jstorm是一个高吞吐量(处理高吞吐量的数据量并实现数据的实时处理和实时计算)、可扩展性强(根据计算需要增加计算节点或分布式集群以实现线性扩展)、高可靠性(支持数据的容错和快速故障恢复,保证数据处理的准确性和可靠性,以及数据处理的连续性)、多语言支持(支持多种编程语言)的流式计算引擎,适用于本技术中对酒店历史数据进行流处理的场景,使得本实施例中的酒店数据同步方法高效执行。
54.其中,jstorm还支持丰富的数据操作,例如filter(根据特定的条件过滤数据,只保留符合条件的数据)、project(从数据流中选择特定的字段或属性,构建新的数据量)、aggregate(求和、平均值等)、groupby(将数据流中的数据按照特定的字段或属性进行分组)、join(将两个或多个数据流按照特定的字段或属性进行连接操作)等,上述流失综合计算即是对上述第一维度酒店历史数据进行上述数据操作。
55.在一些实施例中,在得到酒店评估总分数据之后,还发送上述酒店评估总分数据至已部署的分布式搜索和分析引擎。然后,通过切面拦截方式获取上述酒店供应商的第二维度酒店历史数据,并发送该第二维度酒店历史数据至该分布式搜索和分析引擎。
56.其中,分布式搜索和分析引擎是一种用于处理大规模数据的软件系统,它能够实现数据的高效搜索、分析和查询,通常包括:分布式存储、分布式搜索、实时处理、多维度分析和数据可视化等功能。
57.在一些实施例中,使用elasticsearch作为具体的上述分布式搜索和分析引擎。elasticsearch是一个基于lucene的分布式搜索和分析引擎,支持实时搜索和分析大规模的数据,具有高可扩展性、高可靠性和高性能的特点,能适用于本技术涉及的酒店数据处理
领域的各种搜索和数据分析场景。
58.其中,切面拦截通常被用于实现日志记录、性能监控、事务管理等功能,从而提高系统的可维护性和稳定性。而在本技术中,是使用切面拦截可以对特定方法或代码块进行拦截和增强的特性,对处于业务流程中的上述第二维度酒店历史数据进行拦截。需要特殊说明的是,虽然现阶段切面拦截的具体实现方式基于注解、基于xml配置、基于aspectj、基于动态代理、基于spring aop等切面拦截方式,但是本技术中的切面拦截方式不仅包括上述具体的实现方式,还包括使用了与上述具体实现方式同样的实现原理的其他实现方式。最后,使用切面拦截方式获取上述第二维度酒店历史数据的有益效果是显著的,不仅在开发层面提升了代码的复用性、可维护性、可读性、可扩展性,而且在业务层面进一步使得业务逻辑更加简洁,以及实现横切逻辑提升系统的可靠性。
59.在一些实施例中,上述通过切面拦截方式获取所述酒店供应商的第二维度酒店历史数据,发送所述第二维度酒店历史数据至所述分布式搜索和分析引擎步骤之后,还包括:首先,获取上述分布式搜索和分析引擎对上述第二维度酒店历史数据的分析结果。然后,根据上述酒店数据同步需求和上述分析结果生成至少一个酒店数据同步策略。
60.其中,上述第二维度酒店历史数据的分析结果可以是热门酒店数据,而上述第二维度酒店历史数据可以是酒店供应商产生的试预定数据、订单记录数据、订单中的入离日期数据等,如何根据上述第二维度酒店历史数据计算出热门酒店数据的过程在此不再赘述,更为具体的实施过程可根据不同的热门酒店设定标准决定,例如某一酒店资源供应链平台提供的热门酒店设定标准是第二维度酒店历史数据中酒店星级的分数所占的权重最大,而在另一酒店资源供应链平台提供的热门酒店设定标准是第二维度酒店历史数据中酒店星级必须在第一范围内且酒店在设定时间段内的客房入住率必须在第二范围内。
61.s103、根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略。
62.在一些实施例中,酒店数据同步策略的来源是两方面,一方面是根据酒店数据同步需求使用第一维度酒店历史数据和酒店评估总分数据生成得到的,另一方面是根据酒店数据同步需求和上述分布式搜索和分析引擎输出的分析结果生成得到的。
63.在一些实施例中,上述根据酒店数据同步需求使用第一维度酒店历史数据和酒店评估总分数据生成至少一个酒店数据同步策略的步骤之后,还包括:首先,发送上述酒店数据同步策略至已部署的分布式内存数据库。然后,根据上述酒店数据同步需求生成不同所述酒店数据同步策略对应的酒店数据同步频率。最后,发送上述酒店数据同步频率至所述分布式内存数据库,并在所述分布式内存数据库中生成数据同步键值对,其中,上述数据同步键值对的键为上述酒店数据同步策略,上述数据同步键值对的值为上述酒店数据同步频率。
64.其中,分布式内存数据库(distributed in-memory database)是一种将数据存储在内存中,并将数据分散在多个节点(计算机设备)上的数据库系统。节点可以位于同一数据中心内,也可以分布在不同的地理位置上,因此可以支持高可用性、容错性和可伸缩性
65.在一些实施例中,上述分布式内存数据库为codis,codis是一个分布式redis解决方案,提供了一个代理层来将redis请求路由到多个redis节点,并提供了一些管理工具来管理这些redis节点。codis的优点包括:支持高可用和容错(codis通过将数据分散在多个
redis节点上来提高系统的容量和吞吐量,并支持多个redis节点之间的数据同步和故障转移,从而提高系统的可用性和容错性)、简单易用(codis的架构相对其他分布式内存数据库的架构简单,易于使用和部署)、易于扩展(codis支持将数据分片存储在多个redis节点上,可以通过添加更多redis节点来扩展系统的容量和吞吐量)、提供web管理界面(codis提供了一个web管理界面,可以方便地进行集群管理、监控和调整等操作)等。
66.s104、通过分布式任务调度框架根据所述酒店同步需求生成至少一个酒店数据同步子任务,分发所述酒店数据同步策略至对应的所述酒店数据同步子任务。
67.在一些实施例中,上述分布式任务调度框架为轻量级分布式任务调度框架,轻量级分布式任务调度框架具有低延迟、高可用性和易于部署的任务调度框架,例如lts(light task schedule)供了一种可靠、高效、易用的任务调度解决方案,具有高可用性、可扩展性、低延迟、支持多种任务类型、丰富的监控和管理工具等特点,支持延迟调度、重试机制、任务监控等功能。
68.在一些实施例中,上述分发上述酒店数据同步策略至对应的上述酒店数据同步子任务的步骤之后,还包括:首先,从上述分布式内存数据库获取上述酒店数据同步策略对应的上述数据同步键值对。然后,发送上述数据同步键值对中的上述酒店数据同步频率至上述酒店数据同步子任务,以使得分布式服务器集群中的节点服务器能够按照上述酒店数据同步频率执行上述酒店数据同步子任务。
69.在一些实施例中,上述酒店数据同步频率是变化的,因为影响上述酒店数据同步子任务的执行效率的因素是多变的,例如一段时间内的网络线路是否稳定、一段时间内分布式服务器集群中的机器是否被其他任务过度使用而导致上述数据同步子任务能够使用的资源减少、酒店供应商提供对外数据访问接口的服务器物理位置发生重大变更导致从酒店供应商获取的数据延迟增大、酒店数据获取需求发生变更、酒店供应商系统升级进而新版本的对外数据访问接口提供的返回结果需要进行数据格式转换后才能和已经获取的酒店供应商历史数据进行数据合并等不确定因素。其中,需要说明的是上述不确定因素仅仅是示例性的,在酒店数据同步过程中可能会遇到的其他不确定因素不再赘述。
70.s105、运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。
71.在一些实施例中,考虑到上述影响酒店数据同步子任务执行效率的不确定因素,上述运行上述酒店数据同步子任务,以获得不同上述酒店供应商的酒店数据同步结果步骤之后,还包括:首先,监控运行上述酒店数据同步子任务运行时对节点服务器的硬件资源消耗百分比,其中,上述节点服务器位于服务器集群中,上述酒店数据同步子任务被上述分布式任务调度框架分发至上述节点服务器。然后,选择上述硬件资源消耗百分比大于或等于预设硬件消耗资源百分比阈值的节点服务器作为待调整节点服务器。同时,使用上述分布式任务调度框架将上述待调整节点服务器上的目标酒店数据同步子任务分配至新的节点服务器。最后,若上述服务器集群中无新的节点服务器,则将上述目标酒店数据同步子任务进行拆分后分配至上述服务器集群中的节点服务器。
72.其中,上述硬件资源消耗百分比仅仅是示例性地给出了一个用于判断上述酒店数据同步子任务的执行情况的判断维度,还可以将酒店数据同步子任务的完成时间、酒店数据同步子任务从酒店供应商提供的对外数据接口获取数据的耗时等作为新的判断维度,以
及设定多个数据维度进行综合性判断,更多对上述酒店数据同步子任务的执行情况进行监控和判断的实施方式在此不再赘述。
73.同时,上述将酒店数据同步子任务进行任务拆分后发送至新增的服务器或已经存在的服务器,也仅仅是一种减轻服务器集群压力的一种示范性实施方式,还可以采用重新分配酒店数据同步子任务至不同的服务器(根据酒店供应商的对外数据接口所在服务器的物理位置进行设计,即不同的酒店数据同步子任务所在的节点服务器的物理位置是里对应的对外数据接口所在服务器的物理位置最近的,例如都在一个地区、都在一个省份、都在一个数据中心、都在一个机房等,以缩小物理上的网络耗时)等其他减轻服务器集群压力的方式。
74.在一些实施例中,上述运行上述酒店数据同步子任务,以获得不同上述酒店供应商的酒店数据同步结果步骤之后,还包括:首先,监控上述酒店数据同步结果被存储后在预设时间段内的读取频率。然后、根据上述读取频率优化上述酒店数据同步策略,以及上述酒店数据同步策略对应的上述酒店数据同步子任务。例如,在实际的酒店订房业务中,某一地区的商务酒店会因为该地区即将举行的某一商务活动变成热门酒店,则该地区的商务酒店的相关数据会被频率读取,此时则需要提升该地区的商务酒店对应的上述酒店数据同步子任务的执行频率,而在该商务活动结束之后则应该降低该地区的商务酒店对应的上述酒店数据同步子任务的执行频率。
75.本实施例提供的酒店数据同步方法根据从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;通过流式计算引擎使用第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;根据酒店数据同步需求使用第一维度酒店历史数据和酒店评估总分数据生成至少一个酒店数据同步策略;通过分布式任务调度框架根据酒店同步需求生成至少一个酒店数据同步子任务,分发酒店数据同步策略至对应的酒店数据同步子任务;运行酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。不仅降低了酒店数据同步的耗时、提升了酒店数据同步的实时性,而且进一步降低了酒店数据同步任务对酒店资源供应链平台系统的压力。
76.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
77.在一实施例中,提供一种酒店数据同步装置100,该酒店数据同步装置100与上述实施例中酒店数据同步方法一一对应。如图3所示,该酒店数据同步装置100包括历史数据获取模块11、评估总分数据模块12、同步策略生成模块13、同步子任务模块14和数据同步结果模块15。各功能模块详细说明如下:
78.历史数据获取模块11,用于从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;
79.评估总分数据模块12,用于通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;
80.同步策略生成模块13,用于根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略;
81.同步子任务模块14,用于通过分布式任务调度框架根据所述酒店同步需求生成至
少一个酒店数据同步子任务,分发所述酒店数据同步策略至对应的所述酒店数据同步子任务;
82.数据同步结果模块15,用于运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。
83.进一步地,所述评估总分数据模块12还包括:
84.评估总分数据发送子模块,用于发送所述酒店评估总分数据至已部署的分布式搜索和分析引擎;
85.切面拦截数据子模块,用于通过切面拦截方式获取所述酒店供应商的第二维度酒店历史数据,发送所述第二维度酒店历史数据至所述分布式搜索和分析引擎。
86.进一步地,所述切面拦截数据子模块还包括:
87.历史数据分析子单元,用于获取所述分布式搜索和分析引擎对所述第二维度酒店历史数据的分析结果;
88.第二同步策略生成子单元,用于根据所述酒店数据同步需求和所述分析结果生成至少一个酒店数据同步策略。
89.进一步地,所述同步策略生成模块13还包括:
90.同步策略存储子模块,用于发送所述酒店数据同步策略至已部署的分布式内存数据库;
91.数据同步频率子模块,用于根据所述酒店数据同步需求生成不同所述酒店数据同步策略对应的酒店数据同步频率;
92.数据同步键值对子模块,用于发送所述酒店数据同步频率至所述分布式内存数据库,并在所述分布式内存数据库中生成数据同步键值对,其中,所述数据同步键值对的键为所述酒店数据同步策略,所述数据同步键值对的值为所述酒店数据同步频率。
93.进一步地,所述同步子任务模块14还包括:
94.键值对获取子模块,用于从所述分布式内存数据库获取所述酒店数据同步策略对应的所述数据同步键值对;
95.数据同步频率发送子模块,用于发送所述数据同步键值对中的所述酒店数据同步频率至所述酒店数据同步子任务。
96.进一步地,所述数据同步结果模块15还包括:
97.资源消耗百分比子模块,用于监控运行所述酒店数据同步子任务运行时对节点服务器的硬件资源消耗百分比,其中,所述节点服务器位于服务器集群中,所述酒店数据同步子任务被所述分布式任务调度框架分发至所述节点服务器;
98.待调整节点服务器子模块,用于选择所述硬件资源消耗百分比大于或等于预设硬件消耗资源百分比阈值的节点服务器作为待调整节点服务器;
99.同步子任务重配子模块,用于使用所述分布式任务调度框架将所述待调整节点服务器上的目标酒店数据同步子任务分配至新的节点服务器;
100.同步子任务拆分子模块,用于若所述服务器集群中无新的节点服务器,则将所述目标酒店数据同步子任务进行拆分后分配至所述服务器集群中的节点服务器。
101.进一步地,所述数据同步结果模块15还包括:
102.数据同步结果监控子模块,用于监控所述酒店数据同步结果被存储后在预设时间
段内的读取频率;
103.数据同步优化子模块,用于根据所述读取频率优化所述酒店数据同步策略,以及所述酒店数据同步策略对应的所述酒店数据同步子任务。
104.其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本技术中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
105.关于酒店数据同步装置的具体限定可以参见上文中对于酒店数据同步方法的限定,在此不再赘述。上述酒店数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
106.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储酒店数据同步方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种酒店数据同步方法。
107.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中酒店数据同步方法的步骤,例如图2所示的步骤s101至步骤s105及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中酒店数据同步装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
108.所述处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
109.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
110.所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
111.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中酒店数据同步方法的步骤,例如图2所示的步骤s101至步骤s105及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中酒店数据同步装置的各模块/单元的功能,例如图3所示模块11至模块15的功能。为避免重复,这里不再赘述。
112.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
113.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
114.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种酒店数据同步方法,其特征在于,包括:从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略;通过分布式任务调度框架根据所述酒店同步需求生成至少一个酒店数据同步子任务,分发所述酒店数据同步策略至对应的所述酒店数据同步子任务;运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。2.根据权利要求1所述的酒店数据同步方法,其特征在于,所述通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据步骤之后,还包括:发送所述酒店评估总分数据至已部署的分布式搜索和分析引擎;通过切面拦截方式获取所述酒店供应商的第二维度酒店历史数据,发送所述第二维度酒店历史数据至所述分布式搜索和分析引擎。3.根据权利要求2所述的酒店数据同步方法,其特征在于,所述通过切面拦截方式获取所述酒店供应商的第二维度酒店历史数据,发送所述第二维度酒店历史数据至所述分布式搜索和分析引擎步骤之后,还包括:获取所述分布式搜索和分析引擎对所述第二维度酒店历史数据的分析结果;根据所述酒店数据同步需求和所述分析结果生成至少一个酒店数据同步策略。4.根据权利要求1所述的酒店数据同步方法,其特征在于,所述根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略步骤之后,还包括:发送所述酒店数据同步策略至已部署的分布式内存数据库;根据所述酒店数据同步需求生成不同所述酒店数据同步策略对应的酒店数据同步频率;发送所述酒店数据同步频率至所述分布式内存数据库,并在所述分布式内存数据库中生成数据同步键值对,其中,所述数据同步键值对的键为所述酒店数据同步策略,所述数据同步键值对的值为所述酒店数据同步频率。5.根据权利要求4所述的酒店数据同步方法,其特征在于,所述分发所述酒店数据同步策略至对应的所述酒店数据同步子任务步骤之后,还包括:从所述分布式内存数据库获取所述酒店数据同步策略对应的所述数据同步键值对;发送所述数据同步键值对中的所述酒店数据同步频率至所述酒店数据同步子任务。6.根据权利要求5所述的酒店数据同步方法,其特征在于,所述运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果步骤之后,还包括:监控运行所述酒店数据同步子任务运行时对节点服务器的硬件资源消耗百分比,其中,所述节点服务器位于服务器集群中,所述酒店数据同步子任务被所述分布式任务调度框架分发至所述节点服务器;选择所述硬件资源消耗百分比大于或等于预设硬件消耗资源百分比阈值的节点服务器作为待调整节点服务器;
使用所述分布式任务调度框架将所述待调整节点服务器上的目标酒店数据同步子任务分配至新的节点服务器;若所述服务器集群中无新的节点服务器,则将所述目标酒店数据同步子任务进行拆分后分配至所述服务器集群中的节点服务器。7.根据权利要求1所述的酒店数据同步方法,其特征在于,所述运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果步骤之后,还包括:监控所述酒店数据同步结果被存储后在预设时间段内的读取频率;根据所述读取频率优化所述酒店数据同步策略,以及所述酒店数据同步策略对应的所述酒店数据同步子任务。8.一种酒店数据同步装置,其特征在于,包括:历史数据获取模块,用于从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;评估总分数据模块,用于通过流式计算引擎使用所述第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;同步策略生成模块,用于根据酒店数据同步需求使用所述第一维度酒店历史数据和所述酒店评估总分数据生成至少一个酒店数据同步策略;同步子任务模块,用于通过分布式任务调度框架根据所述酒店同步需求生成至少一个酒店数据同步子任务,分发所述酒店数据同步策略至对应的所述酒店数据同步子任务;数据同步结果模块,用于运行所述酒店数据同步子任务,以获得不同所述酒店供应商的酒店数据同步结果。9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述酒店数据同步方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述酒店数据同步方法的步骤。
技术总结
本申请公开了一种酒店数据同步方法,应用于数据处理技术领域。本申请提供的方法包括:从酒店供应商对应的已同步酒店历史数据中获取第一维度酒店历史数据;通过流式计算引擎使用第一维度酒店历史数据进行流式综合计算,得到酒店评估总分数据;根据酒店数据同步需求使用第一维度酒店历史数据和酒店评估总分数据生成至少一个酒店数据同步策略;通过分布式任务调度框架根据酒店同步需求生成至少一个酒店数据同步子任务,分发酒店数据同步策略至对应的酒店数据同步子任务;运行酒店数据同步子任务,以获得不同酒店供应商的酒店数据同步结果。不仅降低了酒店数据同步的耗时、提升了酒店数据同步的实时性,而且进一步降低了酒店数据同步任务对酒店资源供应链平台系统的压力。据同步任务对酒店资源供应链平台系统的压力。据同步任务对酒店资源供应链平台系统的压力。
技术研发人员:吴晓文 谢小欢
受保护的技术使用者:深圳市天下房仓科技有限公司
技术研发日:2023.04.20
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
