基于区块链技术的微信小程序架构设计

2021-09-10 07:22王鑫李彪李远哲
科学与生活 2021年7期
关键词:信誉区块程序

王鑫 李彪 李远哲

摘要:为了现有的社团活动能够公开化并且有记忆性,给活动参与者以回忆。平台将分散各处的社会团体活动连接起来,构建基于区块链技术的信誉网,并将上述想法开发成为一个微信小程序。首先将想法中的各项功能都利用功能设计架构图的形式进行分析,之后利用区块链技术相关思想构建平台的底层架构 ,并分析了后台的技术应用和技术难点,最终完成了本文所要完成的”榴莲微程序”微信小程序。

1.引言

为了构建一套可以应用的社团活动小程序,本文进行了架构的系统设计工作,经过产品的功能设计分析之后,对产品的技术设计进行了分析,首先存储结构是利用仿区块链结构的分布式内存管理结构进行构建,将不同的平台活动通过一条链进行链接,并进行分布式存储。后构建平台后台,之后连接微信小程序的前端页面,最终得到了“榴莲微服务”微信小程序,并成功推广学校内社团使用。

2.设计中的区块链设计

从宏观看本系统利用了区块链的设计思想,通过哈希链来连接所有的存储节点,并体现了去中心化的思想,人人可以看到各个存储节点上的内容。

从区块链本身的技术方面看。区块链本身有六层结构,自底向上为数据层、网络层、共识层、激励层、合约层和应用层,其中数据层为最底层的结构,包括数据区块、链式结构和时间戳,本项目利用了链式结构将内存中所有的数据连接通过链式结构存储。区块链的网络层中间包含点对点的网络结构,本项目通过将所有的信息公开化展示完成这部分的思想应用。区块链更上层的共识层,就是体现的去中心化的思想,这里也是借鉴了思想,每个参与活动者都可以对非中心化的信息进行过滤和识别真伪等行为。区块链更上一层的激励层设计就是本项目中的徽章系统的来源,参加每个活动也就是每个节点的活动都可以获得徽章的奖励,这种分配形式非常类似比特币的形式进行分配。之上的合约层和应用层技术上没有借鉴但是本项目的研发就是一项区块链的应用实例。

3.小程序功能设计

基于系统的功能需求,活动赋能系统主要分为首页、活动圈、排行以及我的四大模块,首页下分为创办活动、加入活动、正发起的活动、正参与的活动、荣誉徽章、信誉积分、组织入驻等,排行下分为活动排名及成员排名,我的下基本分为注册登录、我发起的活动、正参与的活动、活动历史。功能架构如下图所示。

4.平台开发过程

解决了底层存储之后进行后端业务逻辑的开发,从开发角度上,项目采用小程序的B/S架构,后端采用python+Django的框架,使用xadmin作为后台管理系统,将整个程序部署在以上提到的分布式的云服务器端,云服务器采用Ubuntu16.04操作系统,在开发过程中项目成员遇到了很多问题,通过不断地改进获得更加优化的平台,比如在云服务器linux部署的过程中,mysql的配置与系统冲突,利用uwsgi与nginx的交互配置与测试,uwsgi与django框架的交互以及端口的设置;分布式系统的使用中调用的pyspark库的使用出现问题,shuffle的结果不是我们想要的结果等等。经过不断迭代之后以上问题都成功攻克,并完成了相应的功能。

在解决技术问题的同时项目还在不断地解决业务上面的问题。首先是用户的推荐活动的顺序是利用了什么模型,最终通过学习推荐算法并大量阅读文献,首先利用多路召回的技术,利用协同过滤、矩阵分解、用户冷启动和项目冷启动、Youtube DNN和传统的双塔模型得到了粗排的结果,之后利用用户的信息和活动的信息进行特征提取,并最终拼接成一整个特征表单,最终利用深度学习模型如DIN和Wide&Deep训练得到每个用户的推荐列表,得到最终的推荐结果。在成员获得信誉值的过程中利用了PageRank算法进行信誉值的分配,充分学习利用了图概率模型进行了整体的设计工作。

完成初步的开发之后需要继续注意以下几个问题,一方面要注意云服务器端口的开放程度,另一方面在小程序备案的过程中,需要将域名获得ssl证书,如何控制版本的上传与管理,最终通过购买证书获得了上线的许可,经过不断地测试,利用git的方式进行每个版本的迭代和更新,最终有了这样的初代产品。

5.文章创新点

本项目利用将底层的文件存储技术中的hash链中超大计算力破解hash函数变成简单的hash函数的仿区块链技术搭建的体系“链”接起校园里社会上组织的各种活动,并且用一套通过威信值得到的徽章评价机制促进了活动成员的积极性,提高了活动中的团结,使社会更加和谐。子系统的有效结合达到对大学生社团管理赋能目的,增加社团活动激励的趣味性,加强团队凝聚力,提高社团组织的能见度,增强社团成果和宣传了个人。在提高个人参与感趣味性的同时无形地激励了成员的热情。其中创新的主要方面有:

1)打通横向化的活动阻力,融合官方、非官方活动,公益等多种活动类型,建立统一的评价标准。

2)信誉值是信誉的等价物。每一次的活动成果转换为数值,可以在下一次活动中得以流转并累积,深度挖掘了同学们的活动热情,也使得活动机制变得灵活。

3)从活动轨迹来看,“瀏览记录”模块记录了用户的整个活动生涯、汗水和泪水,在时间的长轴上得以完整保存,对个人来说有着非凡的意义;“我的勋章”模块促进用户回顾反思,更好前行;而“我的信誉”则以专栏的形式展示了用户的活动情况。

6.总结

利用区块链的技术思想完成了微信小程序的开发,之后经过两年的时间进行整个平台的开发,并成功上线供同学老师们进行使用,收到了许多反馈,并不断进行改进。本项目从立项之初就充满了创新型,区块链技术彼时还不够成熟,此时已经有了很多公司在利用这种技术进行相关软件的开发。本项目也利用区块链技术完成了平台开发,并成功上线。

津工业大学 300387

猜你喜欢
信誉区块程序
基于单片机MCU的IPMI健康管理系统设计与实现
哲理漫画
给Windows添加程序快速切换栏
简化化学平衡移动教学程序探索
百度推出“区块链操作系统”BBE平台
区块链产业发展速度放缓
Unicorn正式上线区块链浏览器UIC—Explorer
区块链投机者
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序