目录
六,跟着我的思路走一遍
前言:只是想改良一下并没有任何的褒贬之意。
一,目前的停车方式
1.随便乱停乱放
2.像类似学校这种,随便画一个区域就停车,当然这不影响什么。
3.底下停车场
4.楼上停车场
二,什么样的方式
那很多人就有疑问,那你说说怎么改良除了这几种方式,你还想把车停到天上去。当然不是,听我细细道来。
我在考虑是否有这样的旅馆就做车站旅馆,这种旅馆是用来存放车辆的,就像房子里面住了个车一样,而不是人,所以我叫它为车站旅馆。
三,细节是什么样的
接下来想想这样一个场景
在我们学习编程语言的时候,学习过堆,什么是堆这里我不说明,我是从堆这里得到灵感!
想想这样一个场景,在市中心的旁边有这样一座楼,地上50米,地下30m,宽度的话,需要更进一步的深入研究,想想一下长方体,地上50m地下30m,这种感觉,在这里说明一下,就是关于这样是否稳定不知道,我只是打个比较,使得看起来使用较小的占地面积来取得更大的空间 。
暂且叫它为ph,整个ph中 有个机械手臂来调整车的位置。再想想一下,你开着一辆车入库,到门口你就什么都不用管了,其他的事情交给ph去解决,ph怎么解决!ph拿到车辆之后对车辆进行这个测量,然后使用某个保护类型的集装箱保护起来,然后在长方体中开辟这样大小的空间,进行存放。来一辆车ph这样存放一个,然后你会看到有空间浪费,直到你从一开始就随便乱放直到后来无法开辟新的空间来存车辆,那么此时应该给ph调优,怎么调整,就是对空间优化,然后通过机械手臂调整车辆的位置,这样调优把浪费的空间回收,来存放更多的车辆!当然这就要相当优的算法!好的算法,会对这样的实际应用直接影响!
不知道,我这样说大家是否理解我的意思。
这是我画的一个俯视图。在顶层呢是机械操作区,主要是机械手臂。左右两边分别是包装区,和交换区,上下两边是存储区A和存储区B。当然我们还需要一个中央控制区。
机械操作区:重点在机械手臂,它主要是操作集装箱,通过中央控制区发出指令,根据指令来完成相关动作。
包装区:对车辆的包装,为了防止损坏车辆。
交换区:当在整理以及挥手未使用的区域时,进行交换的区域。也可以叫缓存区
存储区A和存储区B:主要是存储车辆,也就是集装箱。
四,哪些技术上的壁垒
1.硬件
a.在物理上如何实现存储,也就是动态给车辆分配一个空间
b.在物理上不可能像堆箱子一样堆起来,而是需要哪个车辆,就取出哪个车辆。就比如说A车在最低下,我要把A车以上的车挪一下,在拿出出来,这样也没问题,但是我需要更优的方式。
2.算法
在JVM上GC算法上有个标记-整理算法,我想借鉴这个算法进行对车辆的整理
3.问题还很多
五,到底能不能实现
我认为是能实现的。
六,跟着我的思路走一遍
今天和女朋友去逛街,开着我的大众(假设我有这车),我要存放车辆,然后去逛街。有一栋楼是专门存放出来车辆的,地上地下都是存放车辆,只要是不是大卡车,自行车,大动车,三轮车都可以存。然后呢,我就开过去准备存一下,我开到楼下门口,门上面有一个二维码让我扫一扫,我就扫了一下下载了个APP,叫车站旅馆,哎呀下载还需要20元,但是是一次付费就行了,下次不会了(因为你要注册)。我注册了一下我的信息,哎呀,好烦呀!要那么多信息,姓名,身份证,以及车牌号,等基本信息。然后就完成了!弹出来两个按钮,一个取车,一个存车。我就抱着侥幸的心理点了一下取车,然后系统就大声的告诉我,您的车辆未在库中。然后我就点击了存车按钮,然后选了存车时长,这个时候楼下的门就打开了,我就把车开了进去5m左右就到头了,我还在纳闷的时候里面就突然发生了警报,请车主迅速离开,不断重复声音还大,我就赶紧跑了出来。过了一分钟,APP显示存车成功!看到这条信息我稍微有点放心了。但是我手贱,也害怕我的车没了,我就点了取车,上面显示请支付50元。我去这么贵的吗?我联系了客服,客服告诉我,收您50是有原因的,你选择了时长,系统会给你选择更优的存储位置,你现在要取车,这不是折腾嘛!标准是50元,你要正常存车的话,系统会正常收费。这下我才明白了。
半年后,通过努力,我加入了这个系统的维护,我去了解了这个工程的主要原理。是这样的,
当用户把车开进车站旅馆的时候,系统会从APP获取你的信息,车牌号以及存车时长,然后存入集装箱的芯片上(或者就是一个能读取存入的设备)。然后用集装箱打包你的车辆,准备放入存储库中,在存储区的内存还能够存放的时候 不进行任何的操作,只是进行简单的存取,就像堆积木一样堆就行了,从下边直接可以去,每个车辆都是独立的不相互借力的,随意不能存在坍塌的问题。初始化加载因子,只有当达到要求时,会进行一个整理(使用整理算法),然后会腾出空间,重复上述操作。在中央控制器中,计算机模拟这个过程,存取时使用(存取算法),快速定位到车辆,然后送出车站旅馆。
整理算法,存取算法只是个概念性的,目前还没研究,欢迎批评指正。
后续会更新