【技术实现步骤摘要】
本申请涉及信息,具体涉及一种基于分布式状态机的道口一体机及道口软件架构方法、系统。
技术介绍
1、集装箱码头对进出场道口的通过能力始终是要求最高的,衡量道口的直接指标为道口通行效率,道口通行效率直接体现了集装箱码头的作业效率以及对外服务品质,进而直接影响到码头的综合能力。为了提高道口通行效率,码头普遍使用智能道口系统,实现24小时无人值守,单车过闸30秒左右即可通行。
2、然而,传统的道口软件普遍采用单体架构,这种架构下,服务程序里任何一个模块出现故障都极易导致整个系统的瘫痪,从而使道口通行效率大幅下降,甚至彻底无法通行,引发排队拥堵。即便在单体架构的基础上搭建一套主备结构,虽然可以缩短恢复时间,但排故后仍难以马上恢复畅通,而且系统整体崩溃的风险依然存在,可靠性依然不足,不仅影响码头自身的作业生产,也会对社会生活造成困扰和负面影响。
3、基于此,需要一种新的道口软件架构方案。
技术实现思路
1、有鉴于此,本说明书实施例提供一种基于分布式状态机的道口一体机及道口软件架构方法、系统,将道口服务定义为分布式状态机,并利用分布式服务集群的服务注册与发现机制,有效解决了现有基于单体架构的集装箱智能道口软件存在的可靠性不足的问题,显著提高了智能道口软件系统的稳定性和可靠性,从而更好地保障码头进出场道口的服务质量和作业连续性。
2、本说明书实施例提供以下技术方案:
3、本说明书实施例提供一种基于分布式状态机的道口软件架构方法,包括:
4
5、当道口服务接收到输入事件时,根据预设的状态转换规则,从当前状态切换到另一个状态,并执行与状态转换相对应的动作;其中输入事件包括:所述道口服务接收到的数据;
6、利用分布式服务集群的服务注册与发现机制,以确保同一时间同一道口id只有一个服务实例处于激活状态,其中,所述分布式服务集群至少配备两台服务器;
7、当道口服务被激活时,从分布式服务集群的状态库中提取所述道口的状态数据,并填充道口对象的属性,以恢复和继续之前中断的道口作业;
8、一旦道口服务被激活,持续响应输入事件,不主动释放;
9、当道口服务发生崩溃,自动将当前道口服务切换到另一台服务容器中激活,并继续响应输入事件。
10、进一步地,所述输入事件包括:
11、订阅并处理外部系统发布的数据,包括:车牌识别系统发布的车牌识别数据、箱号识别系统发布的箱号和箱型识别数据、箱体拼接系统发布的箱体拼接数据、以及残损识别系统发布的残损识别数据;
12、订阅并处理道口一体机发布的采集数据,包括:地磅设备数据、扫码设备数据和键盘数据。
13、进一步地,所述外部系统发布的数据和处理道口一体机发布的采集数据还包括:预留插件接口的数据,用于适应外部系统未按约定格式和规范发布的数据。
14、进一步地,所述输入事件还包括:响应道口中控客户端的服务请求和响应后台运维客户端的服务请求。
15、进一步地,所述预设的状态转换规则包括:
16、当道口服务接收到输入事件时,道口服务状态从“待机”切换到“执行中”,并将接收到的数据转换为道口对象属性缓存在本地,同时保存到分布式服务集群状态库;
17、根据预设的入闸条件,判断是否允许入闸;若允许,则生成抬杆指令和小票内容,并将处理结果推送给道口一体机、到道口中控客户端和后台运维客户端,道口状态从“执行中”切换到“待机”;
18、若道口中控客户端手工发起紧急强制放行指令,则生成抬杆指令,并将处理结果推送给道口一体机、到道口中控客户端和后台运维客户端,道口状态从“执行中”切换到“待机”。
19、进一步地,当道口状态从“执行中”切换到“待机”时,初始化道口对象,同时在分布式服务集群状态库中删除本道口的状态数据,以准备处理下一个入闸请求。
20、本说明书实施例还提供一种基于分布式状态机的道口软件架构系统,所述基于分布式状态机的道口软件架构系统包括:道口状态机服务、分布式服务集群服务器和道口一体机;
21、所述道口状态机服务,用于接收所述道口一体机发送的输入事件,根据预设的状态转换规则,从当前状态切换到另一个状态,并执行与状态转换相对应的动作;
22、其中,所述状态包括:待机和执行中;所述输入事件包括:所述道口服务接收到的数据;
23、还用于从分布式服务集群的状态库中提取道口的状态数据,并填充道口对象的属性,以恢复和继续之前中断的道口作业;
24、一旦道口服务被激活,持续响应输入事件,不主动释放;
25、当道口服务发生崩溃,自动将当前道口服务切换到另一台服务容器中激活,并继续响应输入事件;
26、所述分布式服务集群服务器,用于部署和管理道口状态机服务实例,利用服务注册与发现机制,以确保同一时间同一道口id只有一个服务实例处于激活状态,其中,所述分布式服务集群至少配备两台服务器;
27、所述道口一体机,配置在每个道口处,用于将采集到的输入事件发送给所述道口状态机服务,激活道口服务。
28、进一步地,所述基于分布式状态机的道口软件架构系统还包括:道口中控客户端;
29、所述道口中控客户端,用于提供监控道口作业的界面,包括定义监控的道口、修改数据、发起紧急强制放行指令、查看历史过闸数据和道口通行统计数据。
30、进一步地,所述基于分布式状态机的道口软件架构系统还包括:后台运维客户端;
31、所述后台运维客户端,用于提供监控系统运行的界面,包括:定义监控的道口、查看各个环节发生的报文和事件等日志,以及服务运行健康情况。
32、本说明书实施例还提供一种基于分布式状态机的道口一体机,采用上述任意一项所述的基于分布式状态机的道口软件架构方法配置道口一体机。
33、与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:
34、通过将道口服务定义为分布式状态机,以分布式服务的形式部署在分布式服务集群的服务容器中,利用分布式服务集群的服务注册与发现机制实现服务透明化,这样同一时间同一道口id仅有一个服务实例处于激活状态,且激活后不会主动释放,可持续被访问直至发生崩溃,当崩溃发生时,才会自动切换到其他服务容器中重新激活,确保服务不间断,不仅保障了道口作业的自动恢复与持续响应,还确保了单个服务实例的崩溃不会干扰其他实例的正常运行,从而显著提升了道口的通行效率和系统整体的稳定性。
本文档来自技高网...【技术保护点】
1.一种基于分布式状态机的道口软件架构方法,其特征在于,包括:
2.根据权利要求1所述的基于分布式状态机的道口软件架构方法,其特征在于,所述输入事件包括:
3.根据权利要求2所述的基于分布式状态机的道口软件架构方法,其特征在于,所述外部系统发布的数据和处理道口一体机发布的采集数据还包括:预留插件接口的数据,用于适应外部系统未按约定格式和规范发布的数据。
4.根据权利要求2所述的基于分布式状态机的道口软件架构方法,其特征在于,所述输入事件还包括:
5.根据权利要求1所述的基于分布式状态机的道口软件架构方法,其特征在于,所述预设的状态转换规则包括:
6.根据权利要求5所述的基于分布式状态机的道口软件架构方法,其特征在于,当道口状态从“执行中”切换到“待机”时,初始化道口对象,同时在分布式服务集群状态库中删除本道口的状态数据,以准备处理下一个入闸请求。
7.一种基于分布式状态机的道口软件架构系统,其特征在于,所述基于分布式状态机的道口软件架构系统包括:道口状态机服务、分布式服务集群服务器和道口一体机;
9.根据权利要求8所述的基于分布式状态机的道口软件架构系统,其特征在于,所述基于分布式状态机的道口软件架构系统还包括:后台运维客户端;
10.一种基于分布式状态机的道口一体机,其特征在于,采用如权利要求1-6中任意一项所述的基于分布式状态机的道口软件架构方法配置道口一体机。
...【技术特征摘要】
1.一种基于分布式状态机的道口软件架构方法,其特征在于,包括:
2.根据权利要求1所述的基于分布式状态机的道口软件架构方法,其特征在于,所述输入事件包括:
3.根据权利要求2所述的基于分布式状态机的道口软件架构方法,其特征在于,所述外部系统发布的数据和处理道口一体机发布的采集数据还包括:预留插件接口的数据,用于适应外部系统未按约定格式和规范发布的数据。
4.根据权利要求2所述的基于分布式状态机的道口软件架构方法,其特征在于,所述输入事件还包括:
5.根据权利要求1所述的基于分布式状态机的道口软件架构方法,其特征在于,所述预设的状态转换规则包括:
6.根据权利要求5所述的基于分布式状态机的道口软件架构方法,其特征在于,当道口状态从“执行中”切换到“...
【专利技术属性】
技术研发人员:王铭,杨帆,
申请(专利权)人:哪吒智慧科技上海股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。