人工智能学院2024届学生毕业综合实践优秀作品
作品名称:基于联盟链的可信疫苗物流溯源系统研发
作 者:朱仁正、万慧慧
专 业:大数据技术

班 级:大数据技术2101班
指导教师:陈清华(教授)
作品特点:
疫苗物流的稀缺性和消费环境的不透明性成为了亟待解决的问题。因此,开发一个公开、透明且可信赖的疫苗运输溯源物流系统显得尤为重要。为此,本作品聚集于研究、开发一套具有去中心化、公开性和可靠性的疫苗物流溯源系统。该系统基于FISCO BCOS区块链平台搭建,结合WeBASE-Front前端可视平台,利用Swagger-UI作为API接口测试工具,以及Maven进行包管理。在前端开发上,本作品选择HTML集成VUE,同时使用IDEA创建Maven项目作为后端支持。这一系统旨在满足消费者、生产者、运输者及销售者对于疫苗溯源的需求,帮助他们精确追踪商品出错的环节。相较于传统的物流平台,该系统更加注重实际应用、技术创新和社会价值。系统建立在联盟链的基础上,为疫苗物流溯源提供了可信赖的解决方案。该平台不仅利用区块链技术确保溯源数据的不可篡改性,还兼顾了系统的易用性和可扩展性。在设计过程中,作品强调对疫苗物流全流程的严密监管和追溯,以提升疫苗质量管理水平,确保每一支疫苗的安全与可靠。该作品成功获得软著1项(学生第一)。
作品说明:
1. 课题来源
本课题来自指导教师与温州滨海医院有限公司合作的横向课题,以及与北京智谷星图科技有限公司合作的项目。
2. 作品功能
本系统功能主要有是三大模块,分别为用户模块、疫苗物流溯源模块和疫苗信息模块。①用户模块包括了注册、登录、注销功能。注册功能用于实现用户数据插入。登录共呢用于读取用户信息并且判断是否为可登录用户,注销功能用用于实现删除用户。②疫苗物流溯源模块包括了查询功能,用于实现用户对生产日期、产地、生产商和流通企业的查找。③疫苗信息模块包括了生产商订单管理、销售订单管理、收购商商订单管理。用于实现订单的查询、新增和删除。具体功能明细如图1所示。
图1 功能结构图
3. 设计方法或设计思路
近年来,疫情的冲击凸显了疫苗物流方面的不足,传统的物流平台在疫苗配送方面显得力不从心,其公开性、透明度和数据安全性均存在显著问题。确保疫苗物流的公开、实时与可溯源,是优化疫苗物流管理和满足用户对疫苗信息追溯需求的核心所在。为此,本作品采用了FISCO BCOS搭建联盟链,并配以WeBASE作为直观的可视化平台。同时,系统集成了Swagger-UI作为API测试工具,利用Maven进行包管理,通过HTML与VUE的集成构建了前端平台,并使用IDEA创建Maven项目作为后端支持。这一系列开发环境的运用,旨在构建一个基于联盟链的可信疫苗物流溯源系统,从而大幅提升溯源数据的抗篡改性,以及系统的易用性和可扩展性。图2展示了本系统的架构设计。。
图2 系统架构图
在系统研发之前,首要任务是设计用户角色及权限。用户角色包括消费者、生产者、销售者和运输者。消费者有权购买疫苗,查看疫苗的生产信息、运输信息和角色信息。生产者则可以将疫苗信息上链,并查看角色信息和疫苗销售信息。销售者能够查看疫苗的销售和运输情况,并负责商品信息的录入。而运输者则负责物流单和疫苗信息的上链,以及物流单信息的编写。各种角色的权限分配如图3所示。
图3 权限管理图
系统采用MySQL数据库。在数据库中创建了名为TrackTable的数据库,并设计了多个表来存储相关信息。其中,tb_trans表来存储物流单的基本信息,tb_trans_detail表用于记录物流单的详细信息,tb_vaccine表用于存储疫苗的相关信息,以及tb_user表来保存用户信息。这些表之间的关联关系如图4所示,清晰地展示了数据是如何在各个表之间流动和相互关联的。
图4 系统E-R图
在本作品中,我们研发设计了4个合约,包括物流溯源管理合约、物流单合约、疫苗合约以及用户合约,具体智能合约的业务逻辑如图5所示。
图5 智能合约时序图
成果展示:
当进入用户登录页面时,用户输入用户名、密码后,点击确定进行用户登录,页面呈现效果如图6所示:
图6 用户登录页面
在main页面点击用户信息模块,可查看用户信息,用户信息包括用户姓名、用户地址(区块链上的地址)、身份证号、角色联系方式。该页面功能实现效果如图7所示:
图7 用户信息页面
用户信息模块提供个人信息编辑功能—角色类型更改和联系方式变更。用户可根据自己的实际情况和生产需要变更自身的联系方式和角色类型。该页面功能实现效果如图8所示:
图8 用户信息更改
用户点击疫苗模块中的疫苗上链,进入疫苗上链页面,通过填写相关的上链信息:疫苗编号、疫苗名称、生产商、生产日期、有效期,进行上传。该页面功能实现效果如图9所示:
图9 疫苗上链页面
用户点击疫苗模块中的疫苗查询,进入疫苗查询页面,本系统提供三种方式进行疫苗查询分别是:
获取当前账户的疫苗信息,该页面功能实现效果如图10所示:
图10 getVaccine接口
通过疫苗编号获取疫苗信息,在条件框填写疫苗编号。该页面功能实现效果如图11所示:
图1 getVaccineByVid接口
通过生产批号获取疫苗信息,在条件框填写批次号。该页面功能实现效果如图12所示:
图12 getVaccineByBP接口
用户点击物流模块中的物流单上链,进入物流单上链页面,通过填写相关的上链信息:物流单号、运输者、目标、疫苗编号、物流批号、储藏环境、物流状态,进行上传。
该页面功能实现效果如图13所示:
图13 物流单上链页面
用户点击物流模块中的物流单详情写录,进入物流单详情写录页面,通过填写相关的上链信息:物流单号、来源者、医院、药房,进行上传。该页面功能实现效果如图14所示:
图14 物流单详情写录页面
用户点击物流模块中的物流状态更改,进入物流状态更改页面,通过输入物流编号,点击查找,获取到该物流状态。并可实时更新该物流状态,判断该用户角色是否有权限执行操作,通过判断后,物流状态更改将在区块链系统中上链,若请求成功,本页面将出现提示。该页面功能实现效果如图15所示:
图15 物流状态更改页面
用户点击物流模块中的物流信息查询,进入物流信息查询页面,系统提供四种方式进行物流信息查询:
通过物流编号获取物流信息,该页面功能实现效果如图16所示:
图16 getTransInfo接口页面
通过物流批号获取物流信息,该页面功能实现效果如图17所示:
图17 getTransByBT接口页面
通过运输者获取物流信息,该页面功能实现效果如图18所示:
图18 getByTransporter接口页面
通过目的地获取物流信息,该页面功能实现效果如图19所示:
图19 getByTarget接口页面
用户点击物流模块中的物流详情查询,进入物流详情查询页面,通过输入物流编号,点击查找,该页面功能实现效果如图20所示:
图20 物流详情查询页面
主页面功能实现效果如图21所示:
图21 主页面
索引页面功能实现效果如图22所示:
图22 索引页面
本系统在页面上提供相应的swagge-api服务,该页面功能实现效果如图23所示:
图23 swagger接口文档页面
指导教师点评:
该作品针对当前疫苗物流中的关键问题,创新性地提出了基于区块链的解决方案,体现了高度的创新思维和问题解决能力。作品采用了FISCO BCOS区块链平台,确保了数据的不可篡改性,提高了系统的可信度,同时结合了多种前端和后端技术,展现了团队全面的技术能力。该系统不仅满足了消费者、生产者、运输者及销售者的实际需求,而且通过精确追踪商品出错的环节,有助于提升疫苗物流的整体效率和安全性。该作品成功获得了软件著作权,充分体现了作品的创新性和实用性得到了专业认可。但作品在用户体验方面可能还有提升的空间,如界面设计的友好性、操作的简便性等。建议进一步优化前端界面设计,提高系统的交互性和易用性,确保各类用户都能轻松上手。此外,加强系统性能测试,对系统进行全面的性能测试,包括数据处理速度、存储效率、并发处理能力等,以确保系统在实际应用中的稳定性和高效性。