一种基于微信小程序的服务云平台系统技术方案

技术编号:28460392 阅读:24 留言:0更新日期:2021-05-15 21:25
一种基于微信小程序的云平台服务系统,包括:客户端、服务器、数据库,所述数据库包括:Redis缓存集群与Mysql集群,Redis缓存集群包括多个Redis,所述Mysql集群包括多个Mysql,Mysql的Master节点负责数据的写入,Mysql的Slave节点负责数据的读取并进行Redis读取,服务器接收客户端调用指令,通过传递access_token验证调用者的身份与权限,所述access_token包括:签名方式、授权唯一标识、timeStamp、调用者签名,所述access_token定义为json字符串;上述基于微信小程序的云平台服务系统,数据全部采用redis读取,mysql写入的方式,实现的读写分离,保证了数据的读写速度,提高访问效率;另通过传递access_token验证调用者的身份与权限,提高安全性。提高安全性。提高安全性。

【技术实现步骤摘要】
一种基于微信小程序的服务云平台系统


[0001]本专利技术涉及应用服务平台,特别涉及一种基于微信小程序的服务云平台。

技术介绍

[0002]当前平台前台采用微信小程序平台,后台采用springboot提供后台接口,vue作为后台的界面展示框架。
[0003]系统未采用负载均衡,在并发数据处理上有欠缺。Redis未采用分布式集群部署,遇到大批量的攻击时候,会导致缓存穿透,从而使redis有宕机的危险。

技术实现思路

[0004]基于此,有必要提供一种可提高访问效率的微信小程序的服务云平台。
[0005]一种基于微信小程序的云平台服务系统,包括:客户端、服务器、数据库,所述数据库包括:Redis缓存集群与Mysql集群,所述Redis缓存集群包括多个Redis,所述Mysql集群包括多个Mysql,Mysql的Master节点负责数据的写入,Mysql的Slave节点负责数据的读取并进行Redis读取,所述服务器接收客户端调用指令,通过传递access_token验证调用者的身份与权限,所述access_token包括:签名方式、授权唯一标识、timeStamp、调用者签名,所述access_token定义为json字符串。
[0006]在优选的实施例中,接收到客户端的调用指令时,门户平台给调用者分配AppID和privateKey,调用门户平台的接口时,按格式构造access_token,按utf8字符集base64编码为字符串并传递给门户平台。
[0007]在优选的实施例中,根据UUID格式构造access_token,所述调用者签名包括:signature属性算法,所述signature属性的算法包括:获取当前时间,产生timeStamp;产生随机字符串nonce;将对应的AppID、timeStamp、nonce、privateKey按字符串升序排序;把排序后的各字符串拼接成一个字符串,记作tmpStr;用SHA1或MD5算法对tmpStr加密并转换为16进制的字符串表示。
[0008]在优选的实施例中,所述调用者签名还包括:λ验证算法,所述λ验证算法包括:获取传递过来的access_token,用base64解码并转换为json对象,根据AppID取出为其分配的privateKey,重新生成签名signature,验证signature是否正确,同时查看timeStamp是否已超出限定时效。
[0009]在优选的实施例中,所述Redis规范key的命名,并统一缓存查询和写入的入口,并于查询或写入的入处对key进行规范检测;若数据库中没有该数据,则在缓存中保存对应的key,且key值为空。
[0010]在优选的实施例中,多个Redis形成主节点、多个从节点、及多个哨兵节点,所述哨兵节点监控主节点及从节点,若判断主节点发生故障,且判断主节点发生故障的哨兵节点达到设定数,则请求转到从节点上,该从节点升为主节点,原主节点变为新的主节点的从节点。
[0011]在优选的实施例中,所述服务器包括web服务器,web服务器启动时提前将判断为被频繁并发访问的数据写入缓存。
[0012]在优选的实施例中,所述服务器采用以下如下均衡算法:源地址哈希法:根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号,同一IP地址的客户端,当后端服务器列表不变时,每次都会映射到同一台服务器进行访问,从而进行负载均衡。
[0013]在优选的实施例中,所述客户端的写入数据通过布隆过滤器进行过滤后写入数据库;所述客户端包括:前台、后台,所述前台包括:测评模块、招聘模块、活动模块、商城模块、个人中心模块,所述测评模块包括:接收测评并提交的提交测评单元、查看测评及测评结果的查看测评单元,所述招聘模块包括:进行岗位发布的企业发布岗位单元、进行岗位查看的个人查看岗位单元,所述活动模块包括:接收指令进行活动查看的活动查看单元、接收报名指令进行活动报名的活动报名单元,所述商城模块包括:接收商品查看指令进行商品查看浏览的商品查看单元、在线下单单元,所述个人中心模块包括:能力评测、个人简介、活动报名、订单记录;
[0014]所述后台包括:就业管理模块、在线商城模块、企业管理模块、系统信息模块,所述就业管理模块包括:根据工作岗位进行管理的岗位管理单元、对会员进行管理的会员管理单元、对活动进行管理的活动管理单元、对前台的测评进行管理的测评管理单元,所述在线商城模块包括:项目管理单元、商品管理单元、订单管理单元、结算管理单元、订单统计单元、发货管理单元、自提点管理单元,所述企业管理模块包括:企业管理单元、企业贷款单元、技术需求单元、日常管理单元,所述系统管理模块包括:账号管理单元、系统参数单元。
[0015]在优选的实施例中,所述测评管理单元接收到前台测评模块的测评指令,根据测评人的基本信息、就业情况、学历情况、残疾抽取设定道基础题和MBTI题组成题目列表推送给测评人进行测评,并根据测评人的基本信息、就业情况、学历情况、残疾结合测评结果推送相应的岗位,所述基本信息包括:性别、年龄、工作经验。
[0016]上述基于微信小程序的云平台服务系统,数据全部采用redis读取,mysql写入的方式,实现的读写分离,保证了数据的读写速度,提高访问效率;同时,mysql实施间隔备份,redis实施持久化的策略,以保证数据的稳定性;另通过传递access_token验证调用者的身份与权限,提高安全性。
附图说明
[0017]图1为本专利技术一实施例的基于微信小程序的云平台服务系统的示意图;
[0018]图2为本专利技术一实施例的客户端的部分功能框图。
具体实施方式
[0019]如图1所示,本专利技术一实施例的基于微信小程序的云平台服务系统,包括:客户端、服务器、数据库。数据库包括:Redis缓存集群与Mysql集群。
[0020]Redis缓存集群包括多个Redis。Mysql集群包括多个Mysql。Mysql的Master节点负责数据的写入,Mysql的Slave节点负责数据的读取并进行Redis读取。从而将数据库的读写进行分离,减少数据IO的等待时间。
[0021]服务器接收客户端调用指令,通过传递access_token验证调用者的身份与权限。
[0022]access_token包括:签名方式、授权唯一标识、timeStamp(时间戳)、调用者签名。
[0023]进一步,优选的,根据UUID(Universally Unique Identifier通用唯一识别码)格式构造access_token。是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
[0024]access_token定义为json字符串,格式如下:
[0025]{
[0026]signType:"SHA1",//签名方式SHA本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微信小程序的云平台服务系统,其特征在于,包括:客户端、服务器、数据库,所述数据库包括:Redis缓存集群与Mysql集群,所述Redis缓存集群包括多个Redis,所述Mysql集群包括多个Mysql,Mysql的Master节点负责数据的写入,Mysql的Slave节点负责数据的读取并进行Redis读取, 所述服务器接收客户端调用指令,通过传递access_token 验证调用者的身份与权限,所述access_token包括:签名方式、授权唯一标识、timeStamp、调用者签名,所述access_token定义为json 字符串。2.根据权利要求1所述的基于微信小程序的云平台服务系统,其特征在于,接收到客户端的调用指令时,门户平台给调用者分配AppID和privateKey,调用门户平台的接口时,按格式构造access_token,按 utf8 字符集 base64 编码为字符串并传递给门户平台。3.根据权利要求2所述的基于微信小程序的云平台服务系统,其特征在于,根据UUID格式构造access_token,所述调用者签名包括:signature 属性算法,所述signature 属性的算法包括:获取当前时间,产生 timeStamp;产生随机字符串 nonce;将对应的AppID、timeStamp、 nonce、 privateKey按字符串升序排序;把排序后的各字符串拼接成一个字符串,记作 tmpStr;用 SHA1 或 MD5 算法对 tmpStr 加密并转换为 16 进制的字符串表示。4.根据权利要求3所述的基于微信小程序的云平台服务系统,其特征在于,所述调用者签名还包括:l 验证算法,所述l 验证算法包括:获取传递过来的 access_token ,用base64 解码并转换为json对象,根据 AppID取出为其分配的 privateKey,重新生成签名 signature,验证 signature 是否正确,同时查看 timeStamp是否已超出限定时效。5.根据权利要求1所述的基于微信小程序的云平台服务系统,其特征在于,所述Redis规范key的命名,并统一缓存查询和写入的入口,并于查询或写入的入处对key进行规范检测;若数据库中没有该数据,则在缓存中保存对应的key,且key值为空。6.根据权利要求1至5任意一项所述的基于微信小程序的云平台服务系统,其特征在于,多个Redis形成主节点、多个从节点、及多个哨兵节点,所述哨兵节点监控主节点及从节点,若判断主节点发生...

【专利技术属性】
技术研发人员:隆依婷
申请(专利权)人:苏州北联新翼众创空间管理服务有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1