一种基于微服务的境外旅程规划平台

文档序号:29861323发布日期:2022-04-30 11:10阅读:82来源:国知局
一种基于微服务的境外旅程规划平台

1.本发明涉及在线旅游服务领域,尤其涉及一种基于微服务的境外旅程规划平台。


背景技术:

2.我国有着日益增长的庞大出境旅游市场,其中大部分的出境旅客都选择了自主出行的方式。这部分旅客在出境旅行时都会遇到相近的问题,主要表现为缺乏对目的地的深度认识,受限于时间或经验原因难以制定个性化旅程规划,并且缺乏一个合适的当地向导陪伴旅行等。另一方面,境外大量的中国留学人员不仅熟悉当地情况,有丰富的旅行和制定旅程规划经验,而且通晓当地语言,非常适合为这部分自主出境旅行游客提供包括旅程规划在内的多项服务。
3.目前,尚缺少一种技术平台很好地将境外留学人员与自主出境游旅客进行连接,以为境外留学人员与自主出境游旅客之间提供更好的服务。


技术实现要素:

4.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于微服务的境外旅程规划平台。
5.本发明所采用的技术方案是:
6.一种基于微服务的境外旅程规划平台,使用微服务架构方法进行平台的构建,包括:
7.表现层,用于兼容浏览器和展示所述境外旅程规划平台的各功能界面;
8.网关层,用于为所述境外旅程规划平台包含的各种服务功能提供统一入口,并在所述境外旅程规划平台运行过程中,对所述境外旅程规划平台进行运行监控、授权、系统安全保护和资源调度;
9.业务层,用于为所述境外旅程规划平台提供基础系统功能服务和业务系统功能服务;
10.数据层,用于存储所述境外旅程规划平台运行过程中产生的业务数据、图片视频及文件数据、日志数据;
11.其中,表现层和数据层完全分离,通过跨域实现前端数据和后端数据之间的通信。
12.进一步,所述业务层包括:
13.基础系统功能服务模块,用于为所述境外旅程规划平台运行提供基础系统功能服务;其中,所述基础系统功能服务模块包括用户管理单元、权限认证单元、日志服务单元、链路追踪单元、统一安全认证单元、微服务架构基础支撑单元、docker容器化部署单元;
14.业务系统功能服务模块,用于为所述境外旅程规划平台运行提供业务系统功能服务;其中,所述业务系统功能服务模块包括在线聊天系统与旅程规划系统。
15.进一步,所述旅程规划服务,包括:
16.步骤1、旅客与留学人员使用所述在线聊天系统讨论旅程细节;
17.步骤2、留学人员根据讨论结果在所述旅程规划系统提供的标准化的旅程规划模板输入内容;
18.步骤3、所述在线聊天系统的服务器将最新版本实时推送至旅客的客户端;
19.步骤4、若旅客与留学人员均对当前旅程规划满意,则结束;反之,继续执行步骤1。
20.进一步,旅程规划系统提供的标准化的旅程规划模板,包含一个旅程的宏观信息以及旅程中每一天具体的行程列表。
21.进一步,旅程宏观信息包括旅程规划创建人、旅程标题、旅程分类、出发时间、出行天数、旅程审核状态、旅程原创标志位、私密旅程标志位以及旅程简介。
22.进一步,旅程中每一天具体的行程列表由四种不同类型的行程组成,包括住宿行程、目的地行程、交通行程以及餐饮行程。
23.进一步,所述在线聊天系统使用websocket作为通信协议以实现服务器与客户端的双向通信,所述在线聊天系统拥有两个客户端之间的单聊、多个客户端之间的群聊、以及客户端与服务器之间的通信功能;
24.其中,客户端与服务器之间的通信功能还用于让服务器将最新版本的旅程规划推送到客户端。
25.进一步,所述境外旅程规划平台还包括用于提升系统性能的中间件;
26.所述中间件包括使用redis作为平台缓存来提高读取速度,使用rocketmq作为消息队列来提高平台响应速度。
27.进一步,所述境外旅程规划平台还包括相关组件;
28.所述相关组件中,使用nacos作为服务注册中心、使用spring security作为安全框架、使用springboot开发单个微服务组件。
29.进一步,所述网关层使用spring cloud gateway作为网关;
30.所述数据层中,使用mysql作为主要业务数据存储数据库,使用fastdfs作为分布式文件存储系统。
31.本发明的有益效果是:本发明为境外留学人员与自主出境游旅客提供了沟通的平台,有效提高了旅程规划的效率。另外,平台使用基于微服务的方式进行开发,平台中的每个模块都可以进行独立开发和独立部署,易于扩展和维护,能有效隔离故障和资源,避免故障蔓延导致整个系统崩溃。
附图说明
32.为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
33.图1是本发明实施例中一种基于微服务的境外旅程规划平台的整体架构示意图;
34.图2是本发明实施例中旅程规划系统与在线聊天系统的交互图;
35.图3是本发明实施例中单次旅程规划包含信息的示意图。
具体实施方式
36.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
37.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
38.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
39.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
40.本实施例提供一种基于微服务的境外旅程规划平台,使用微服务架构方法进行平台的构建,包括:
41.表现层,用于兼容浏览器和展示旅程规划系统境外旅程规划平台的各功能界面;
42.网关层,用于为旅程规划系统境外旅程规划平台包含的各种服务功能提供统一入口,并在旅程规划系统境外旅程规划平台运行过程中,对旅程规划系统境外旅程规划平台进行运行监控、授权、系统安全保护和资源调度;
43.业务层,用于为旅程规划系统境外旅程规划平台提供基础系统功能服务和业务系统功能服务;
44.数据层,用于存储旅程规划系统境外旅程规划平台运行过程中产生的业务数据、图片视频及文件数据、日志数据;
45.其中,表现层和数据层完全分离,通过跨域实现前端数据和后端数据之间的通信。
46.进一步作为可选的实施方式,业务层包括:
47.基础系统功能服务模块,用于为境外旅程规划平台运行提供基础系统功能服务;其中,基础系统功能服务模块包括用户管理单元、权限认证单元、日志服务单元、链路追踪单元、统一安全认证单元、微服务架构基础支撑单元、docker容器化部署单元;
48.业务系统功能服务模块,用于为境外旅程规划平台运行提供业务系统功能服务;其中,业务系统功能服务模块包括在线聊天系统与旅程规划系统。
49.具体的旅程规划可总结为如下步骤:
50.步骤1、旅客与留学人员使用在线聊天系统讨论旅程细节。
51.步骤2、留学人员根据讨论结果在旅程规划系统中根据标准化模板输入内容。
52.步骤3、服务端将最新版本推送到旅客的客户端。
53.步骤4、若双方均对当前旅程规划满意,则结束;反之,继续执行步骤1。
54.其中,旅程规划系统提供标准化的旅程规划模板,包含一个旅程的宏观信息以及旅程中每一天具体的行程列表。为了提高旅程规划的效率,可以将已有的公开行程复用并添加到当前行程列表中。
55.旅程宏观信息包括旅程规划创建人、旅程标题、旅程分类、出发时间、出行天数、旅程审核状态、旅程原创标志位、私密旅程标志位以及旅程简介。
56.旅程中每一天具体的行程列表可由四种不同类型的行程组成,包括住宿行程、目的地行程、交通行程以及餐饮行程。所述的每一天具体的行程列表中的行程顺序可以调整。具体地,所述的住宿行程内容包括酒店星级、酒店中文及外文名字、酒店所在国家、城市及具体地址、酒店评分、酒店网址链接、酒店最早入住时间及最晚离开时间、酒店类型、酒店建成年份、酒店房间规模、酒店预定取消政策以及保留字段。所述的目的地行程内容包括目的地的中文及外文名称、目的地所在国家、城市及具体地址、目的地网址链接、目的地评分、预计活动时间、目的地描述以及目的地特殊要求。所述的交通行程内容包括交通工具类型、该交通方式的中文及外文名字、交通工具编号、出发时间和到达时间、出发地点和到达地点以及交通舱位等级。所述的餐饮行程内容包括餐馆星级、餐馆中文及外文名称、餐馆所在国家、城市及具体地址、餐馆评分、餐馆网址链接。
57.在一些可选的实施例中,在线聊天系统使用websocket作为通信协议以实现服务器与客户端的双向通信。该在线聊天系统拥有两个客户端之间的单聊、多个客户端之间的群聊、以及客户端与服务器之间的通信功能。其中客户端与服务器之间的通信功能用于让服务器将最新版本的旅程规划推送到客户端。
58.在一些可选的实施例中,境外旅程规划平台还包括用于提升系统性能的中间件;中间件包括使用redis作为平台缓存来提高读取速度,使用rocketmq作为消息队列来提高平台响应速度。
59.在一些可选的实施例中,境外旅程规划平台还包括相关组件;相关组件中,使用nacos作为服务注册中心、使用spring security作为安全框架、使用springboot开发单个微服务组件。
60.综上所述,本实施例为境外留学人员与自主出境游旅客提供了沟通的平台,并基于此设置了标准化的旅程规划模板,通过动态更新旅程、复用公开行程和在线反馈的方式提高了旅程规划的效率。本实施例使用基于微服务的方式进行开发,平台中的每个模块都可以进行独立开发和独立部署,易于扩展和维护,能有效隔离故障和资源,避免故障蔓延导致整个系统崩溃。
61.以下结合具体实施例和附图对上述的境外旅程规划平台详细地解释说明。
62.图1为本发明实施例所述的一种基于微服务的境外旅程规划平台的整体架构示意图。图1自顶向下分别是平台使用人员,连接平台的终端设备,由nginx集群组成的代理,具有请求过滤和用户鉴权等功能的系统网关,由nacos集群组成的服务注册于拉取中心,各个独立的业务服务集群与系统配置中心,包含消息队列、缓存及elasticsearch在内的多种系统中间件,包含redis、mysql、fastdfs和mongodb在内的多种存储,以及系统开发部署所用到的包括容器和持续集成在内的多种技术。
63.其中,上述平台采用前后端分离的开发技术,可以为不同类型的终端设备定制符合其展示需求的功能界面,并以浏览器网页端作为主要的交互界面。
64.图1中上述平台网关会对外部请求进行过滤和用户鉴权,根据动态路由规则进行请求转发,并会对核心接口进行限流,搭配服务熔断策略防止部分服务节点失效导致整体不可用。
65.图1中上述网关及图1中上述所有的服务节点都会将其自身注册到上述的nacos注册中心,用于实现不同服务间的可用性统一管理。
66.图1中服务集群里的所有业务服务都采用独立的方式进行部署,如上述旅程规划系统和上述在线聊天系统。上述业务服务之间采用openfeign的方式进行远程调用,使用sentinel进行接口限流。
67.图1中上述配置中心保存不同部署环境对应的环境变量,用于提高多种不同环境独立部署的效率,包括开发环境、测试环境、生产环境。
68.图1中上述消息队列用于实现在线聊天系统中历史消息持久化过程中的削峰限流,通过引入消息队列,把可能造成阻塞的数据库同步写入操作转换成非阻塞的数据库异步写入操作。
69.图1中上述缓存用于提高旅程规划系统中热点业务数据的读取速度,通过引入缓存的方式减少对关系型数据库的频繁查询操作,提高系统的响应速度。
70.图2为本发明实施例所述的旅程规划系统与在线聊天系统的交互图,上述留学人员及旅客通过上述在线聊天系统的消息中转实现沟通。上述平台服务端与留学人员及旅客的客户端链接使用websocket作为通信协议,可以实现长连接的双工通信。
71.上述在线聊天系统在实现消息中转的同时会将消息写入rocketmq消息队列中,该消息队列会以异步的方式将消息写入mysql数据库。
72.图2中境外留学人员根据旅程规划系统中标准化模板的规定更新旅程的信息,即实现对旅程内容的增、删、改、查。
73.上述旅程信息的增、删、改操作会直接写入上述redis缓存并同步更新到上述mysql数据库中,该缓存的作用在于减少对mysql数据库的查询,从而提升查看上述旅程信息的响应速度。
74.上述旅程信息的更新会使得旅程规划系统同步调用在线聊天系统的内部接口,在线聊天系统根据当前旅程id查询最新的规划并推送到旅客的客户端。
75.图3为本发明实施例所述的单次旅程规划包含信息的示意图,上述旅程规划系统使用java语言作为开发语言,拥有面向对象语言的封装特性,上述旅程规划系统中的旅程类中拥有图3所示的各种旅程宏观信息,分别以符合其表达形式的基本类型进行表示。
76.上述旅程类中还有一个每日安排类组成的有序列表,用来表示当前旅程每一天的安排,使用有序列表可以有效地表达先后关系。
77.上述每日安排类中有一个日期成员用于表示当前日期,以及一个可由4种不同类型行程组成的有序行程列表。此4种不同类型行程,即上述的目的地行程、交通行程、餐饮行程以及住宿行程。这4种行程均继承于一个公共的行程父类,便于将这4种异构的行程以父类的形式存储在一个有序列表中,进行统一管理。
78.在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和
描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
79.此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
80.在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
81.尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
82.以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1