1,简介
消息服务器rabbitmq集群:
ip: 端口:
ip: 端口:
数据库集群:
2, 交换机
交换机分两个,一个负责对接流程消息队列,一个对接各个节点的状态,在服务器提前搭建。
交换机 |
名称 |
指令交换机 |
command_ex |
状态交换机 |
statu_ex |
command_ex 指令交换机端口说明:
端口名 |
发送消息说明 |
park_command_port |
停车指令端口 |
pick_command_port |
取车指令端口 |
park_response_N_port |
n号终端停车指令反馈 |
in_mcpu_response_N_port |
入口N号单片机反馈 |
out_mcpu_response_N_port |
出口N号单片机反馈 |
pick_response_N_port |
n号终端取车指令反馈 |
command_enqueue_port |
指令入队端口 |
count_command_signal_N_port |
N单元指令计数信号端口 |
request_command_port |
请求指令端口 |
post_command_N_port |
向N单元推送指令端口 |
command_completed_port |
指令完成端口 |
statu_ex 指令交换机端口说明:
各个节点向statu_ex交换机发送自身状态,端口名为节点名称+"_statu_port"
端口名 |
对应节点 |
in_mcpu_N_statu_port |
入口N号单片机 |
out_mcpu_N_statu_port |
出口N号单片机 |
measure_N_statu_port |
N号测量节点 |
dispatch_N_statu_port |
N单元调度节点 |
out_mcpu_N_port |
出口单片机端口,车辆离开后发送表单 |
3,队列
队列名称与交换机端口名保存一致,去掉port,增加queue,如:端口名称park_command_port,对应队列名称park_command_queue
状态消息对应的队列全部由接收端临时创建,临时对接。
open_door_1_queue为出口单片机靠门请求队列,绑定command_completed_port(plc完成端口)
4,数据库表
1,车位表 space
属性:id,楼层(int floor),层内编号(int subID),高度等级(int height_grade),
所停车辆车牌(varchar car_number),(int unit)单元号
2,车辆表 vehicle
属性:车牌号(varchar car_number),唯一码(凭证号)(varchar primary_key),
实际测量数据(varchar actually_measure_info)
3, 记录表 record
属性:唯一码(凭证号)(varchar primary_key),车牌号(varchar car_number),入场时间(datatime in_time),
所停车位id(int space_id),出场时间(datatime out_time)
4,单元指令队列表 command_queue
属性:车牌号(varchar car_number),唯一码(varchar primary_key),单元号(int uint_id),排队编号(int queue_id),
停车还是取车(int type),车位信息(varchar space_info),
测量信息(取车指令填空)(varchar measure_info), 取车指令出口ID(int export_id)
5,单元指令编号时间表 queue_number_data
属性:单元号(int unit),最后编号(int,last_number),最后编号时间(datatime input_time)