一种基于区块链的地铁同站进出付费判断系统的制作方法



1.本发明涉及信息技术领域,特别涉及一种基于区块链的地铁同站进出付费判断系统。


背景技术:



2.当前地铁支付系统,针对同站点进出的计费,一种是按照固定额度收取费用,例如固定收取2元的费用;另一种是按照固定时长收取费用,例如30分钟内不收费,超过30分钟就收取费用。
3.以上两种方式会导致:用户未使用地铁服务,而产生费用;用户使用了地铁服务,但时长在免费范围内,从而未产生费用;
4.当前技术在未能准确判断用户是否使用服务的情况下进行计费,从而产生纠纷。
5.新的计费系统会实时判断车站的列车运行情况,结合用户在车站的停留时间,甄别用户是否存在使用服务的可能,再进行费用计算,使用户的计费更合理透明。


技术实现要素:



6.本发明要解决的技术问题是克服现有技术的缺陷,提供一种基于区块链的地铁同站进出付费判断系统。
7.本发明提供了如下的技术方案:
8.本发明提供一种基于区块链的地铁同站进出付费判断系统,python语言方案中包括以下:
9.一、鉴权模块
10.用户进站,记录用户身份信息,包括用户所在站点l1,用户身份验证id,用户余额;
11.使用time.time()获取用户进站时间戳t1;
12.使用time.time()获取用户出站时间戳t2;
13.将用户的所有鉴权信息存入鉴权模块数据库,做数据本地化;
14.接口获取的乘客进站数据为:
15.{"id":"01","money":100.00,"arrival_timestamp":"1656491012"}
16.接口获取的乘客出站数据为:
17.{"id":"01","money":100.00,"departures_timestamp":"1656492812"}
18.存储到数据库的数据为:
19.{"id":"01","money":100.00,"arrival_timestamp":"1656491012","departures_timestamp":"1656492812"};
20.二、车站车辆信息模块
21.提供接口获取车站车辆的数据信息:
22.定义方法:
23.#获取车辆运行信息
24.get_train_data(){
25.}
26.#获取车站信息
27.get_station_data(){
28.}
29.根据用户所在站点l1,通过车站车辆信息模块给出的接口,获取途经l1站点的车辆信息;
30.内容包括:
31.地铁线路/目的地/距离到达站点l1剩余时间《单位:分》
32.车辆信息:
33.(
34.{"line":"1","location":"l1","destination":"a","arrival_time":"4"},
35.{"line":"1","location":"l1","destination":"b","arrival_time":"2"},
36.{"line":"2","location":"l1","destination":"c","arrival_time":"0"},
37.{"line":"2","location":"l1","destination":"d","arrival_time":"1"}
38.)
39.以上信息表示:
40.站点有两条地铁线经过,分别是1号线和2号线;
41.1号线两个方向的车辆到站分别需要4分钟和2分钟;
42.2号线两个方向的车辆,c方向的列车已经到站,d方向的列车还需1分钟到站;
43.站点信息:
44.(
45.{"to_l2":5,"to_l2_fee":2,"round_trip_l2":10,"round_trip_l2_fee":4},
46.{"to_l3":11,"to_l3_fee":4,"round_trip_l3":29,"round_trip_l2_fee":8},
47.{"to_l4":14,"to_l4_fee":3,"round_trip_l4":28,"round_trip_l2_fee":6},
48.{"to_l5":3,"to_l5_fee":2,"round_trip_l5":8,"round_trip_l2_fee":4}
49.)
50.以上信息表示:
51.当前时刻实时查询,站点l1到l2需要5分钟,往返于l2需要11分钟;
52.当前时刻实时查询,站点l1到l3需要11分钟,往返于l3需要29分钟;
53.当前时刻实时查询,站点l1到l4需要14分钟,往返于l4需要28分钟;
54.当前时刻实时查询,站点l1到l5需要3分钟,往返于l5需要8分钟;
55.其余站点也需进行车辆信息查询,查询是应加上用户从进站站点到被查询站点的时间偏移量t;
56.将以上信息存入数据库,并提供查询接口;
57.三、计算模块
58.通过鉴权模块和车站车辆信息模块提供的接口,获取其数据库中的信息,计算得到用户可能完成的多种行程情况;
59.计算过程:
60.用户站内耗时:time=departures_timestamp-arrival_timestamp
61.用户进站后可能往返的情况:time》=round_trip_x
62.判断依据:若用户站内耗时《l1到其他站的往返时间,则计为可能发生的行程;
63.由于每个车站都获取车辆运行的实时信息,需要组合每个站点的所有情况(因为存在换乘站);
64.提供计算接口:
65.calculate_route(){
66.#返回所有组合的路线情况
67.return[];
[0068]
}
[0069]
将以上信息存入数据库,并提供查询接口;
[0070]
四、计费模块
[0071]
从计算模块接口获取所有的线路,按照计费标准,计算得到最高的收费标准,无路线计费为0;
[0072]
get_fee([《线路数组》]){
[0073]
return max or none;
[0074]
}
[0075]
将最终费用返回到上层app进行收费。
[0076]
与现有技术相比,本发明的有益效果如下:
[0077]
1、有效判断出用户在站的时间;
[0078]
2、判断所在站的车辆运行情况;
[0079]
3、判断该站到所有站的所需时间;
[0080]
4、结合以上三点,计算用户可能的使用乘车服务情况,并选取其中一种情况进行计费;
[0081]
5、计费有明确数据支撑,计费判断更加合理。
附图说明
[0082]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0083]
图1是本发明的流程架构图;
[0084]
图2是本发明的实施例示意图。
具体实施方式
[0085]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。其中附图中相同的标号全部指的是相同的部件。
[0086]
实施例1
[0087]
如图1-2,本发明提供一种基于区块链的地铁同站进出付费判断系统,包括以下示例:
[0088]
举例1:l1到l3实际往返需10分钟,用户在l1进站至出站花费12分钟,但查询车辆运行信息所得:假如用户从l1进站的时间点为12:00,到达l3的车辆要5分钟后才进站,即12:0。也就是说,用户最快要12:05分上车。这时若要往返于l1和l3之间,是无法在11分钟内完成的,因此排除计费;
[0089]
举例2:l1到l3实际往返需10分钟,用户在l1进站至出站花费12分钟,但查询车辆运行信息所得:假如用户从l1进站的时间点为12:00,有车辆在12:01进站,用户存在进站后上车前往l3的可能。若用户到达l3,时间则应该在12:06。但该时间点没有l3前往l1方向的车辆,最快的车辆是在12:10进站。若用户往返于l1和l3,则最早返回l1应该在12:15,进出站时间差时间大于12分钟,因此判定不计费;
[0090]
举例3:l1到l4实际往返需10分钟,用户在l1进站至出站花费12分钟,但查询车辆运行信息所得:假如用户从l1进站的时间点为12:00,有车辆在12:01进站,用户存在进站后上车前往l4的可能。若用户到达l3,时间则应该在12:06。在12:07l4存在车辆进站前往l1,用户可搭乘车辆返回l1,到达时间点为12:12,符合用户在l1停留的12分钟,因此按用户往返于l1和l4计费。
[0091]
进一步的,本发明中实现按照时间维度和列车实时运行情况的计费判断逻辑和判断策略。
[0092]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种基于区块链的地铁同站进出付费判断系统,其特征在于,包括以下:一、鉴权模块用户进站,记录用户身份信息,包括用户所在站点l1,用户身份验证id,用户余额;使用time.time()获取用户进站时间戳t1;使用time.time()获取用户出站时间戳t2;将用户的所有鉴权信息存入鉴权模块数据库,做数据本地化;接口获取的乘客进站数据为:{"id":"01","money":100.00,"arrival_timestamp":"1656491012"}接口获取的乘客出站数据为:{"id":"01","money":100.00,"departures_timestamp":"1656492812"}存储到数据库的数据为:{"id":"01","money":100.00,"arrival_timestamp":"1656491012","departures_timestamp":"1656492812"};二、车站车辆信息模块提供接口获取车站车辆的数据信息:定义方法:#获取车辆运行信息get_train_data(){}#获取车站信息get_station_data(){}根据用户所在站点l1,通过车站车辆信息模块给出的接口,获取途经l1站点的车辆信息;内容包括:地铁线路/目的地/距离到达站点l1剩余时间<单位:分>车辆信息:({"line":"1","location":"l1","destination":"a","arrival_time":"4"},{"line":"1","location":"l1","destination":"b","arrival_time":"2"},{"line":"2","location":"l1","destination":"c","arrival_time":"0"},{"line":"2","location":"l1","destination":"d","arrival_time":"1"})以上信息表示:站点有两条地铁线经过,分别是1号线和2号线;1号线两个方向的车辆到站分别需要4分钟和2分钟;2号线两个方向的车辆,c方向的列车已经到站,d方向的列车还需1分钟到站;站点信息:(
{"to_l2":5,"to_l2_fee":2,"round_trip_l2":10,"round_trip_l2_fee":4},{"to_l3":11,"to_l3_fee":4,"round_trip_l3":29,"round_trip_l2_fee":8},{"to_l4":14,"to_l4_fee":3,"round_trip_l4":28,"round_trip_l2_fee":6},{"to_l5":3,"to_l5_fee":2,"round_trip_l5":8,"round_trip_l2_fee":4})以上信息表示:当前时刻实时查询,站点l1到l2需要5分钟,往返于l2需要11分钟;当前时刻实时查询,站点l1到l3需要11分钟,往返于l3需要29分钟;当前时刻实时查询,站点l1到l4需要14分钟,往返于l4需要28分钟;当前时刻实时查询,站点l1到l5需要3分钟,往返于l5需要8分钟;其余站点也需进行车辆信息查询,查询是应加上用户从进站站点到被查询站点的时间偏移量t;将以上信息存入数据库,并提供查询接口;三、计算模块通过鉴权模块和车站车辆信息模块提供的接口,获取其数据库中的信息,计算得到用户可能完成的多种行程情况;计算过程:用户站内耗时:time=departures_timestamp-arrival_timestamp用户进站后可能往返的情况:time>=round_trip_x判断依据:若用户站内耗时<l1到其他站的往返时间,则计为可能发生的行程;由于每个车站都获取车辆运行的实时信息,需要组合每个站点的所有情况(因为存在换乘站);提供计算接口:calculate_route(){#返回所有组合的路线情况return[];}将以上信息存入数据库,并提供查询接口;四、计费模块从计算模块接口获取所有的线路,按照计费标准,计算得到最高的收费标准,无路线计费为0;get_fee([<线路数组>]){return max or none;}将最终费用返回到上层app进行收费。

技术总结


本发明公开了一种基于区块链的地铁同站进出付费判断系统,包括鉴权模块、车站车辆信息模块、计算模块和计费模块。本发明能够有效判断出用户在站的时间;判断所在站的车辆运行情况;判断该站到所有站的所需时间;结合以上三点,计算用户可能的使用乘车服务情况,并选取其中一种情况进行计费;计费有明确数据支撑,计费判断更加合理。计费判断更加合理。计费判断更加合理。


技术研发人员:

朱江 刘书煜 贺伟

受保护的技术使用者:

天翼电子商务有限公司

技术研发日:

2022.10.30

技术公布日:

2023/3/28

本文发布于:2024-09-24 15:26:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/83193.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   车辆   信息   站点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议