一种租车系统控制方法及装置与流程

文档序号:24382397发布日期:2021-03-23 11:16阅读:129来源:国知局
一种租车系统控制方法及装置与流程

本发明涉及汽车领域,特别涉及一种租车系统控制方法及装置。



背景技术:

传统租车系统缺少比较规范的系统架构,导致系统在业务不断迭代过程中会遭遇各种瓶颈。例如:模块之间耦合度太高,其中一个功能升级,其他的模块都需要一起升级部署;开发困难,各个团队开发最后都需要整合在一起;系统扩展性差;不能灵活进行分布式部署。



技术实现要素:

本发明实施例提供一种租车系统控制方法及装置,用以解决传统租车系统中各模块之间耦合度太高的问题。

为了解决上述技术问题,本发明采用如下技术方案:

依据本发明的一个方面,提供了一种租车系统控制方法,应用于服务注册中心,包括:

接收第一服务模块发送的第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

根据所述注册请求,注册所述第一服务,以便内外部应用接口模块获取第一服务的服务属性信息。

可选地,还包括:

在接收到所述第一服务模块发送的重启请求消息时,向内外部应用接口模块广播移除所述第一服务的服务移除消息;

在接收到所述第一服务模块发送的重启完成消息时,向所述内外部应用接口模块广播新增所述第一服务的服务发布消息,所述服务发布消息携带有所述第一服务的服务属性信息。

可选地,还包括:

接收所述第一服务模块周期性发送的心跳消息;

在超过预定时间间隔没有收到所述心跳消息时,向所述内外部应用接口模块广播所述第一服务不可被调用的消息。

依据本发明的另一个方面,提供了一种租车系统控制方法,应用于第一服务模块,包括:

在注册第一服务时,向服务注册中心发送第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

在重启第一服务时,向所述服务注册中心发送所述第一服务的重启请求消息,并进行重启;

在重启第一服务后,向远程配置中心获取第一服务的配置资源,并根据所述配置资源进行配置;

在所述配置完成后,向所述服务注册中心发送所述第一服务的重启完成消息,所述重启完成消息携带有所述第一服务的服务属性信息。

可选地,还包括:

在预定时间间隔内,周期性向所述服务中心发送心跳消息。

依据本发明的另一个方面,提供了一种租车系统控制方法,应用于内外部应用接口模块,包括:

接收外部使用者发送的第一服务的服务调用请求;

根据所述服务调用请求,向服务注册中心获取第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

根据所述第一服务的服务属性信息,进行所述第一服务的调用。

可选地,根据所述第一服务的服务属性信息,进行所述第一服务的调用的步骤包括:

根据提供所述第一服务的至少一个服务模块的服务均衡策略,确定所述第一服务的目标提供者,向所述目标提供者发送所述第一服务的调用命令。

可选地,还包括:

在启动时,向远程配置中心获取配置资源。

依据本发明的另一个方面,提供了一种租车系统控制装置,应用于服务注册中心,包括:

第一接收模块,用于接收第一服务模块发送的第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

第一注册模块,用于根据所述注册请求,注册所述第一服务,以便内外部应用接口模块获取第一服务的服务属性信息。

可选地,还包括:

第一广播模块,用于在接收到所述第一服务模块发送的重启请求消息时,向内外部应用接口模块广播移除所述第一服务的服务移除消息;

第二广播模块,用于在接收到所述第一服务模块发送的重启完成消息时,向所述内外部应用接口模块广播新增所述第一服务的服务发布消息,所述服务发布消息携带有所述第一服务的服务属性信息。

可选地,还包括:

第二接收模块,用于接收所述第一服务模块周期性发送的心跳消息;

第三广播模块,用于在超过预定时间间隔没有收到所述心跳消息时,向所述内外部应用接口模块广播所述第一服务不可被调用的消息。

依据本发明的另一个方面,提供了一种租车系统控制装置,应用于第一服务模块,包括:

第一发送模块,用于在注册第一服务时,向服务注册中心发送第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

第二发送模块,用于在重启第一服务时,向所述服务注册中心发送所述第一服务的重启请求消息,并进行重启;

第三接收模块,用于在重启第一服务后,向远程配置中心获取第一服务的配置资源,并根据所述配置资源进行配置;

第三发送模块,用于在所述配置完成后,向所述服务注册中心发送所述第一服务的重启完成消息,所述重启完成消息携带有所述第一服务的服务属性信息。

可选地,还包括:

第四发送模块,用于在预定时间间隔内,周期性向所述服务中心发送心跳消息。

依据本发明的另一个方面,提供了一种租车系统控制装置,应用于内外部应用接口模块,包括:

第四接收模块,用于接收外部使用者发送的第一服务的服务调用请求;

第五接收模块,用于根据所述服务调用请求,向服务注册中心获取第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

第一控制模块,用于根据所述第一服务的服务属性信息,进行所述第一服务的调用。

可选地,根据所述第一服务的服务属性信息,进行所述第一服务的调用的步骤包括:

根据提供所述第一服务的至少一个服务模块的服务均衡策略,确定所述第一服务的目标提供者,向所述目标提供者发送所述第一服务的调用命令。

可选地,还包括:

第六接收模块,用于在启动时,向远程配置中心获取配置资源。

本发明的有益效果是:

上述方案,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

附图说明

图1表示本发明实施例提供的租车系统控制方法示意图之一;

图2表示本发明实施例提供的租车系统控制方法示意图之二;

图3表示本发明实施例提供的租车系统控制方法示意图之三;

图4表示本发明实施例提供的租车系统控制装置示意图之一;

图5表示本发明实施例提供的租车系统控制装置示意图之二;

图6表示本发明实施例提供的租车系统控制装置示意图之三;

图7表示本发明实施例提供的租车系统示意图之一;

图8表示本发明实施例提供的租车系统示意图之二。

附图标记说明:

41-第一接收模块;42-第一注册模块;51-第一发送模块;52-第二发送模块;53-第三接收模块;54-第三发送模块;61-第四接收模块;62-第五接收模块;63-第一控制模块。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。

本发明针对传统租车系统中各模块之间耦合度太高的问题,提供一种租车系统控制方法及装置。

如图1所示,本发明其中一实施例提供一种租车系统控制方法,应用于服务注册中心,包括:

s11:接收第一服务模块发送的第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

s12:根据所述注册请求,注册所述第一服务,以便内外部应用接口模块获取第一服务的服务属性信息。

需要说明的是,本发明实施例提供的租车系统包括一个或多个服务注册中心,用于协调各个服务的发布与管理,其主要目的是解决内外部应用接口模块与服务模块之间因耦合度太高,而导致不能快速增加服务或移除服务的问题。

可选地,还包括:

在接收到所述第一服务模块发送的重启请求消息时,向内外部应用接口模块广播移除所述第一服务的服务移除消息;

在接收到所述第一服务模块发送的重启完成消息时,向所述内外部应用接口模块广播新增所述第一服务的服务发布消息,所述服务发布消息携带有所述第一服务的服务属性信息。

具体的,本发明实施例提供的租车系统包括1个或多个服务,通过负载均衡策略进行服务调用,所述负载均衡策略至少包括以下一项:最近最少用策略、随机策略或回话保持策略。在服务重启时,服务模块向服务注册中心发送重启请求消息,服务注册中心则向所有使用该服务的使用者广播服务移除的消息;服务重启完成后,会向服务注册中心发送增加新服务的消息,服务注册中心会向所有使用者广播服务发布的消息。

可选地,还包括:

接收所述第一服务模块周期性发送的心跳消息;

在超过预定时间间隔没有收到所述心跳消息时,向所述内外部应用接口模块广播所述第一服务不可被调用的消息。

也就是说,服务注册中心会定期收到服务上报的心跳消息,来维护系统的可使用性。

需要说明的是,所述内外部应用接口模块通过http协议与所述服务进行数据交互。

还需要说明的是,本发明实施例提供的租车系统还包括长连接网关模块,用于外部使用者即用户或车机发起数据交互请求时,用户或车机通过长连接网关模块与服务(约定好的服务接口)进行数据交互。服务模块根据注册中心配置的负载均衡算法和hessian协议提供服务。

如图7-8所示,在本发明实施例中的租车系统架构中,长连接网关模块、内外部应用接口模块和服务模块是核心模块,通过他们之间的相互调用来完成业务处理。根据本发明的至少一个实施例,系统架构层次结构划分为:前端应用,包括手机应用、h5和小程序应用;服务层,包括通用服务以及各个业务自用服务,例如图7所示用户服务、订单服务和位置服务等;数据层,包括结构化数据库mysql、非结构数据库mongodb、tsdb时序数据以及缓存数据库redis;后台系统,包括统一权限中心及其它管理系统;接口层,包括内部接口及外部接口;协议网关,包括车联网数据接入网关、无源gps数据接入网关以及智能车载终端(telematicsbox,简称t-box)车机操控网关。

把系统拆分成多个工程,完成系统的工程需要多个工程协作完成,这种形式就叫做分布式。在服务层,如果不采用分布式rest服务方式架构,就需要在手机wap商城、微信商城、pc、android和ios每个客户端都写一个服务层逻辑,开发量大,难以维护一起升级;如果采用分布式rest服务方式,可以公用一个服务层。本发明实施例,采用分布式把系统拆分成多个独立的工程,单节点运行,如果某一个节点压力大了可以单独对这个节点进行增加配置,其他节点不受影响。把项目拆分成若干个子项目,由不同的团队负责不同的子项目;需要增加功能时只需要再增加一个子项目,调用其他系统的接口即可;网关协议适配多平台标准;开发业务只针对前端和后台管理,其它模块进行基础架构迭代;服务与数据进行交互,其它则不具有数据操作权限。

本发明实施例中,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

如图2所示,本发明实施例还提供一种租车系统控制方法,应用于第一服务模块,包括:

s21:在注册第一服务时,向服务注册中心发送第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

s22:在重启第一服务时,向所述服务注册中心发送所述第一服务的重启请求消息,并进行重启;

s23:在重启第一服务后,向远程配置中心获取第一服务的配置资源,并根据所述配置资源进行配置;

s24:在所述配置完成后,向所述服务注册中心发送所述第一服务的重启完成消息,所述重启完成消息携带有所述第一服务的服务属性信息。

需要说明的是,远程配置中心,主要是为了内外部应用接口模块、服务模块和网关在启动时通过http方式加载通用配置,获取配置资源,实现系统参数配置化的目的,从而保证配置的统一性和不可篡改性。

还需要说明的是,本发明实施例提供的租车系统包括一个或多个服务注册中心,用于协调各个服务的发布与管理,其主要目的是解决内外部应用接口模块与服务模块之间因耦合度太高,而导致不能快速增加服务或移除服务的问题。

具体的,本发明实施例提供的租车系统包括1个或多个服务,通过负载均衡策略进行服务调用,所述负载均衡策略至少包括以下一项:最近最少用策略、随机策略或回话保持策略。在服务重启时,服务模块向服务注册中心发送重启请求消息,服务注册中心则向所有使用该服务的使用者广播服务移除的消息;服务重启完成后,会向服务注册中心发送增加新服务的消息,服务注册中心会向所有使用者广播服务发布的消息。

可选地,还包括:

在预定时间间隔内,周期性向所述服务中心发送心跳消息。

也就是说,服务会定期向服务注册中心上报心跳消息,来维护系统的可使用性。

还需要说明的是,本发明实施例提供的租车系统还包括长连接网关模块,用于外部使用者即用户或车机发起数据交互请求时,用户或车机通过长连接网关模块与服务(约定好的服务接口)进行数据交互。服务模块根据注册中心配置的负载均衡算法和hessian协议提供服务。

如图7-8所示,在本发明实施例中的租车系统架构中,长连接网关模块、内外部应用接口模块和服务模块是核心模块,通过他们之间的相互调用来完成业务处理。根据本发明的至少一个实施例,系统架构层次结构划分为:前端应用,包括手机应用、h5和小程序应用;服务层,包括通用服务以及各个业务自用服务,例如图7所示用户服务、订单服务和位置服务等;数据层,包括结构化数据库mysql、非结构数据库mongodb、tsdb时序数据以及缓存数据库redis;后台系统,包括统一权限中心及其它管理系统;接口层,包括内部接口及外部接口;协议网关,包括车联网数据接入网关、无源gps数据接入网关以及智能车载终端t-box车机操控网关。

在服务层,如果不采用分布式rest服务方式架构,就需要在手机wap商城、微信商城、pc、android和ios每个客户端都写一个服务层逻辑,开发量大,难以维护一起升级;如果采用分布式rest服务方式,可以公用一个服务层。本发明实施例,采用分布式把系统拆分成多个独立的工程,单节点运行,如果某一个节点压力大了可以单独对这个节点进行增加配置,其他节点不受影响。把项目拆分成若干个子项目,由不同的团队负责不同的子项目;需要增加功能时只需要再增加一个子项目,调用其他系统的接口即可;网关协议适配多平台标准;开发业务只针对前端和后台管理,其它模块进行基础架构迭代;服务与数据进行交互,其它则不具有数据操作权限。

本发明实施例中,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

如图3所示,本发明实施例还提供一种租车系统控制方法,应用于内外部应用接口模块,包括:

s31:接收外部使用者发送的第一服务的服务调用请求;

s32:根据所述服务调用请求,向服务注册中心获取第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

s33:根据所述第一服务的服务属性信息,进行所述第一服务的调用。

具体的,所述外部使用者包括用户和车机,内外部应用接口模块通过http协议与服务进行数据交互。

需要说明的是,本发明实施例提供的租车系统包括一个或多个服务注册中心,用于协调各个服务的发布与管理,其主要目的是解决内外部应用接口模块与服务模块之间因耦合度太高,而导致不能快速增加服务或移除服务的问题。

可选地,根据所述第一服务的服务属性信息,进行所述第一服务的调用的步骤包括:

根据提供所述第一服务的至少一个服务模块的服务均衡策略,确定所述第一服务的目标提供者,向所述目标提供者发送所述第一服务的调用命令。

可选地,还包括:

在启动时,向远程配置中心获取配置资源。

需要说明的是,远程配置中心,主要是为了内外部应用接口模块、服务模块和网关在启动时通过http方式加载通用配置,获取配置资源,实现系统参数配置化的目的,从而保证配置的统一性和不可篡改性。

还需要说明的是,本发明实施例提供的租车系统还包括长连接网关模块,用于外部使用者即用户或车机发起数据交互请求时,用户或车机通过长连接网关模块与服务(约定好的服务接口)进行数据交互。服务模块根据注册中心配置的负载均衡算法和hessian协议提供服务。

如图7-8所示,在本发明实施例中的租车系统架构中,长连接网关模块、内外部应用接口模块和服务模块是核心模块,通过他们之间的相互调用来完成业务处理。根据本发明的至少一个实施例,系统架构层次结构划分为:前端应用,包括手机应用、h5和小程序应用;服务层,包括通用服务以及各个业务自用服务,例如图7所示用户服务、订单服务和位置服务等;数据层,包括结构化数据库mysql、非结构数据库mongodb、tsdb时序数据以及缓存数据库redis;后台系统,包括统一权限中心及其它管理系统;接口层,包括内部接口及外部接口;协议网关,包括车联网数据接入网关、无源gps数据接入网关以及智能车载终端t-box车机操控网关。

在服务层,如果不采用分布式rest服务方式架构,就需要在手机wap商城、微信商城、pc、android和ios每个客户端都写一个服务层逻辑,开发量大,难以维护一起升级;如果采用分布式rest服务方式,可以公用一个服务层。本发明实施例,采用分布式把系统拆分成多个独立的工程,单节点运行,如果某一个节点压力大了可以单独对这个节点进行增加配置,其他节点不受影响。把项目拆分成若干个子项目,由不同的团队负责不同的子项目;需要增加功能时只需要再增加一个子项目,调用其他系统的接口即可;网关协议适配多平台标准;开发业务只针对前端和后台管理,其它模块进行基础架构迭代;服务与数据进行交互,其它则不具有数据操作权限。

本发明实施例中,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

如图4所示,本发明实施例还提供一种租车系统控制装置,应用于服务注册中心,包括:

第一接收模块41,用于接收第一服务模块发送的第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

第一注册模块42,用于根据所述注册请求,注册所述第一服务,以便内外部应用接口模块获取第一服务的服务属性信息。

需要说明的是,本发明实施例提供的租车系统包括一个或多个服务注册中心,用于协调各个服务的发布与管理,其主要目的是解决内外部应用接口模块与服务模块之间因耦合度太高,而导致不能快速增加服务或移除服务的问题。

可选地,还包括:

第一广播模块,用于在接收到所述第一服务模块发送的重启请求消息时,向内外部应用接口模块广播移除所述第一服务的服务移除消息;

第二广播模块,用于在接收到所述第一服务模块发送的重启完成消息时,向所述内外部应用接口模块广播新增所述第一服务的服务发布消息,所述服务发布消息携带有所述第一服务的服务属性信息。

具体的,本发明实施例提供的租车系统包括1个或多个服务,通过负载均衡策略进行服务调用,所述负载均衡策略至少包括以下一项:最近最少用策略、随机策略或回话保持策略。在服务重启时,服务模块向服务注册中心发送重启请求消息,服务注册中心则向所有使用该服务的使用者广播服务移除的消息;服务重启完成后,会向服务注册中心发送增加新服务的消息,服务注册中心会向所有使用者广播服务发布的消息。

可选地,还包括:

第二接收模块,用于接收所述第一服务模块周期性发送的心跳消息;

第三广播模块,用于在超过预定时间间隔没有收到所述心跳消息时,向所述内外部应用接口模块广播所述第一服务不可被调用的消息。

也就是说,服务注册中心会定期收到服务上报的心跳消息,来维护系统的可使用性。

需要说明的是,所述内外部应用接口模块通过http协议与服务进行数据交互。

还需要说明的是,本发明实施例提供的租车系统还包括长连接网关模块,用于外部使用者即用户或车机发起数据交互请求时,用户或车机通过长连接网关模块与服务(约定好的服务接口)进行数据交互。服务模块根据注册中心配置的负载均衡算法和hessian协议提供服务。

如图7-8所示,在本发明实施例中的租车系统架构中,长连接网关模块、内外部应用接口模块和服务模块是核心模块,通过他们之间的相互调用来完成业务处理。根据本发明的至少一个实施例,系统架构层次结构划分为:前端应用,包括手机应用、h5和小程序应用;服务层,包括通用服务以及各个业务自用服务,例如图7所示用户服务、订单服务和位置服务等;数据层,包括结构化数据库mysql、非结构数据库mongodb、tsdb时序数据以及缓存数据库redis;后台系统,包括统一权限中心及其它管理系统;接口层,包括内部接口及外部接口;协议网关,包括车联网数据接入网关、无源gps数据接入网关以及智能车载终端t-box车机操控网关。

把系统拆分成多个工程,完成系统的工程需要多个工程协作完成,这种形式就叫做分布式。在服务层,如果不采用分布式rest服务方式架构,就需要在手机wap商城、微信商城、pc、android和ios每个客户端都写一个服务层逻辑,开发量大,难以维护一起升级;如果采用分布式rest服务方式,可以公用一个服务层。本发明实施例,采用分布式把系统拆分成多个独立的工程,单节点运行,如果某一个节点压力大了可以单独对这个节点进行增加配置,其他节点不受影响。把项目拆分成若干个子项目,由不同的团队负责不同的子项目;需要增加功能时只需要再增加一个子项目,调用其他系统的接口即可;网关协议适配多平台标准;开发业务只针对前端和后台管理,其它模块进行基础架构迭代;服务与数据进行交互,其它则不具有数据操作权限。

本发明实施例中,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

如图5所示,本发明实施例还提供一种租车系统控制装置,应用于第一服务模块,包括:

第一发送模块51,用于在注册第一服务时,向服务注册中心发送第一服务的注册请求,所述注册请求携带有第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

第二发送模块52,用于在重启第一服务时,向所述服务注册中心发送所述第一服务的重启请求消息,并进行重启;

第三接收模块53,用于在重启第一服务后,向远程配置中心获取第一服务的配置资源,并根据所述配置资源进行配置;

第三发送模块54,用于在所述配置完成后,向所述服务注册中心发送所述第一服务的重启完成消息,所述重启完成消息携带有所述第一服务的服务属性信息。

需要说明的是,远程配置中心,主要是为了内外部应用接口模块、服务模块和网关在启动时通过http方式加载通用配置,获取配置资源,实现系统参数配置化的目的,从而保证配置的统一性和不可篡改性。

还需要说明的是,本发明实施例提供的租车系统包括一个或多个服务注册中心,用于协调各个服务的发布与管理,其主要目的是解决内外部应用接口模块与服务模块之间因耦合度太高,而导致不能快速增加服务或移除服务的问题。

具体的,本发明实施例提供的租车系统包括1个或多个服务,通过负载均衡策略进行服务调用,所述负载均衡策略至少包括以下一项:最近最少用策略、随机策略或回话保持策略。在服务重启时,服务模块向服务注册中心发送重启请求消息,服务注册中心则向所有使用该服务的使用者广播服务移除的消息;服务重启完成后,会向服务注册中心发送增加新服务的消息,服务注册中心会向所有使用者广播服务发布的消息。

可选地,还包括:

第四发送模块,用于在预定时间间隔内,周期性向所述服务中心发送心跳消息。

也就是说,服务会定期向服务注册中心上报心跳消息,来维护系统的可使用性。

还需要说明的是,本发明实施例提供的租车系统还包括长连接网关模块,用于外部使用者即用户或车机发起数据交互请求时,用户或车机通过长连接网关模块与服务(约定好的服务接口)进行数据交互。服务模块根据注册中心配置的负载均衡算法和hessian协议提供服务。

如图7-8所示,在本发明实施例中的租车系统架构中,长连接网关模块、内外部应用接口模块和服务模块是核心模块,通过他们之间的相互调用来完成业务处理。根据本发明的至少一个实施例,系统架构层次结构划分为:前端应用,包括手机应用、h5和小程序应用;服务层,包括通用服务以及各个业务自用服务,例如图7所示用户服务、订单服务和位置服务等;数据层,包括结构化数据库mysql、非结构数据库mongodb、tsdb时序数据以及缓存数据库redis;后台系统,包括统一权限中心及其它管理系统;接口层,包括内部接口及外部接口;协议网关,包括车联网数据接入网关、无源gps数据接入网关以及智能车载终端t-box车机操控网关。

把系统拆分成多个工程,完成系统的工程需要多个工程协作完成,这种形式就叫做分布式。在服务层,如果不采用分布式rest服务方式架构,就需要在手机wap商城、微信商城、pc、android和ios每个客户端都写一个服务层逻辑,开发量大,难以维护一起升级;如果采用分布式rest服务方式,可以公用一个服务层。本发明实施例,采用分布式把系统拆分成多个独立的工程,单节点运行,如果某一个节点压力大了可以单独对这个节点进行增加配置,其他节点不受影响。把项目拆分成若干个子项目,由不同的团队负责不同的子项目;需要增加功能时只需要再增加一个子项目,调用其他系统的接口即可;网关协议适配多平台标准;开发业务只针对前端和后台管理,其它模块进行基础架构迭代;服务与数据进行交互,其它则不具有数据操作权限。

本发明实施例中,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

如图6所示,本发明实施例还提供一种租车系统控制装置,应用于内外部应用接口模块,包括:

第四接收模块61,用于接收外部使用者发送的第一服务的服务调用请求;

第五接收模块62,用于根据所述服务调用请求,向服务注册中心获取第一服务的服务属性信息,所述服务属性信息包括以下信息中的至少一种:服务标识、接口标识、接口数量、服务所在的端口号以及负载均衡策略;

第一控制模块63,用于根据所述第一服务的服务属性信息,进行所述第一服务的调用。

需要说明的是,内外部应用接口模块通过http协议与服务进行数据交互。

还需要说明的是,本发明实施例提供的租车系统包括一个或多个服务注册中心,用于协调各个服务的发布与管理,其主要目的是解决内外部应用接口模块与服务模块之间因耦合度太高,而导致不能快速增加服务或移除服务的问题。

可选地,根据所述第一服务的服务属性信息,进行所述第一服务的调用的步骤包括:

根据提供所述第一服务的至少一个服务模块的服务均衡策略,确定所述第一服务的目标提供者,向所述目标提供者发送所述第一服务的调用命令。

可选地,还包括:

第六接收模块,用于在启动时,向远程配置中心获取配置资源。

需要说明的是,远程配置中心,主要是为了内外部应用接口模块、服务模块和网关在启动时通过http方式加载通用配置,获取配置资源,实现系统参数配置化的目的,从而保证配置的统一性和不可篡改性。

还需要说明的是,本发明实施例提供的租车系统还包括长连接网关模块,用于外部使用者即用户或车机发起数据交互请求时,用户或车机通过长连接网关模块与服务(约定好的服务接口)进行数据交互。服务模块根据注册中心配置的负载均衡算法和hessian协议提供服务。

如图7-8所示,在本发明实施例中的租车系统架构中,长连接网关模块、内外部应用接口模块和服务模块是核心模块,通过他们之间的相互调用来完成业务处理。根据本发明的至少一个实施例,系统架构层次结构划分为:前端应用,包括手机应用、h5和小程序应用;服务层,包括通用服务以及各个业务自用服务,例如图7所示用户服务、订单服务和位置服务等;数据层,包括结构化数据库mysql、非结构数据库mongodb、tsdb时序数据以及缓存数据库redis;后台系统,包括统一权限中心及其它管理系统;接口层,包括内部接口及外部接口;协议网关,包括车联网数据接入网关、无源gps数据接入网关以及智能车载终端t-box车机操控网关。

把系统拆分成多个工程,完成系统的工程需要多个工程协作完成,这种形式就叫做分布式。在服务层,如果不采用分布式rest服务方式架构,就需要在手机wap商城、微信商城、pc、android和ios每个客户端都写一个服务层逻辑,开发量大,难以维护一起升级;如果采用分布式rest服务方式,可以公用一个服务层。本发明实施例,采用分布式把系统拆分成多个独立的工程,单节点运行,如果某一个节点压力大了可以单独对这个节点进行增加配置,其他节点不受影响。把项目拆分成若干个子项目,由不同的团队负责不同的子项目;需要增加功能时只需要再增加一个子项目,调用其他系统的接口即可;网关协议适配多平台标准;开发业务只针对前端和后台管理,其它模块进行基础架构迭代;服务与数据进行交互,其它则不具有数据操作权限。

本发明实施例中,通过模块拆分,使用接口通信,降低了模块之间的耦合度;可以灵活地进行分布式部署,提高了代码的复用性。

以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。

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