王心妍 毛莉君
摘 要:移动4G网络和微信公众平台的兴起为企业商贸提供了更广阔的发展机会,企业借助微信平台可以大大提高用户体验和粘性,促进企业长远发展。网站基于微信公众平台的独特性,结合企业自身特点,介绍了基于Android平台的企业微信服务系统的开发。
关键词:Mycat集群;Redis集群;微信公众平台
随着微信和手机移动4G网络的发展,微信已成为智能手机用户手机移动应用不可或缺的工具,同时也为企业带来了新的机遇,各大中小企业为拓展业务陆续开发属于自己的APP,深化对微信公众平台的二次开发,使企业的微信营销更具有针对性。
1 基于Android平台的APP开发
目前Android手机占居了绝大多数的市场,因此我们基于Android平台开发企业专属的APP应用。首先根据企业需求规划其业务功能,其次采用MySQL进行数据库设计,采用j2ee技术搭建Server端,采用android+html5做前端展示页面,主要利用Shiro进行权限管理,用Redis集群解决高并发以提高响应速度。
1.1 后台的实现
1.1.1 后台数据库的建立
本系统的后台数据库采用MySQL来实现,不仅因为MySQL数据库具有体积小、速度快的优点,更重要的是因为它是开源数据库,使用成本低,可以针对不同的应用进行相应的修改,而且该数据库基于线程的内存分配系统,具有极高的可持续性和稳定性,可以灵活地为用户提供各种服务,而不会占用过多的系统资源。
根据企业需求规划其业务功能,本系统主要有六大功能:账号绑定与解除、商品推荐、促销通知、商品查询、购买历史查询、信息推送。因此在创建后台数据库时,主要数据表有用户信息表、用户权限表、商品分类表、商品信息表、用户商品表和商品推荐表等,其中用户信息表是关于管理员、维护人员、客户、访客基本信息的数据表,用户权限表是对各类用户不同权限设定的数据表,商品分类表是对商品进行分类的数据表,商品信息表是所有商品相关信息的数据表,用户商品表就是用户购买商品的购买记录表。
由于单台机子硬盘和单点压力过大,所以引用了Mycat集群第三方开元软件来解决,其工作原理如图1所示。
Mycat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
Mycat可以低成本地将现有的单机数据库和应用平滑迁移到“云“端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题,这样可以使MySQL数据库易于扩展,可切分,就可以避免单机的性能缺陷。
1.1.2 后台管理
本系统的后台管理采用spring MVC+Mybatis+Shiro整合高性能框架构建绝对开源平台,模拟大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供原子化、模块化的方案,将功能模块进行拆分,可以公用到所有的项目中。本平台采用分布式部署架构,对所有模块进行拆分,使项目做到绝对解耦,要保证高稳定性的前提下为用户提供大数据、高并发、服务集成等功能。
后台管理系统在认证、授权和加密管理上采用Shrio来实现。Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。认证是对用户身份的识别,常被称为用户“登录”;授权是指用户的访问控制;密码加密是保护或隐藏数据防止被偷窥;会话管理是指每个用户相关的时间敏感的状态。对于任何一个应用程序,Shiro都可以提供全面的安全管理服务,并且相对于其他安全框架,Shiro要简单的多。
1.1.3 数据的缓存处理
大数据时代对数据的访问和更新速度提出了更高的要求,为了让数据库能够及时地处理微信用户实时响应的需求,Redis+Twemproxy集群技术为后台数据库提供了有效的缓存解决方案。Redis是一个高性能键/值存储的内存数据库,它会定期的把更新的数据写入磁盘并在此基础上实现主从同步。应用Redis实现数据的读写,同时利用队列处理器定时将数据写入MySQL。实时读写Redis的同时,MySQL数据则通过队列异步来处理,这样则可以缓解MySQL压力,解决高并发。Twemproxy是redis协议的代理服务器,它应用可以使Redis各节点的位置透明化,每个Redis节点都可以知道自己以及其相邻节点的位置,这些信息对于节点的主从复制以及失败节点的修复是很有帮助的。
由于单台Redis服务器的内存管理能力有限,访问量过大时服务器性能便会急剧下降,而且服务器一旦发生故障将直接影响大面积业务。为了获取更好的缓存性能及扩展性,可以采用搭建基于Twemproxy的Redis集群来满足需求,本系统的数据缓存处理就是采用Redis+Twemproxy集群技术来实现。为集群中的每一个Redis划分主、从服务器,分开存储以确保数据的安全,Twemproxy的应用可以有效地缓解大量连接对Redis服务器性能的影响,它的每个节点都连接Redis的主服务器,当Redis主服务器宕机了,其从服务器就会接替主服务器来完成任务。
1.2 前台的实现
目前大多数移动网络应用软件都采用html5做为开发工具,因为使用html5开发APP的开发和维护费用较低,其生成的页面小且性能好,可以降低手机耗电量,软件升级方便,所以本系统也采用html5来开发。本系统使用html5和 CSS3撰写基于Web的相关应用程式,并将所开发的系统打包成基于Android手机平台的APK,然后将其上传到相应的服务器上,手机用户只需要下载并安装该软件,便会在手机上生成相应的APP。
2 注册微信公众号
进入微信公众平台注册页面,输入注册邮箱和密码,并根据提示激活帐号,选择企业类型,随后填写该企业的真实信息,包括企业名称、邮箱、邮编、地址、电话、机构代码、组织机构加盖公章扫描件、运营者身份证号码及名称、职务、运营者手持证件照片、手机号码、短信验证码和授权运营书,随后等待审核。
审核成功后即可进行该微信公众号的基本设置,比如头像、二维码、公众号名称、微信号码的设置、功能介绍以及消息回复的设置。
3 微信和APP对接
企业微信公众号注册成功之后,就可利用微信公众平台“功能”菜单中的“自定义菜单”实现对该公众号的二次开发。主菜单最多允许设置三个,每个主菜单中可以设置各自相关的子菜单选项,在每一个菜单选项的设置环节中配置消息接口,登记该企业用于消息处理的服务器资源URL和用于生成签名的Token值,实现微信与APP的对接。
企业开发了自己专属的APP之后,用户只需要扫描二维码,就可以获取一个覆盖了企业动态信息的icon,而这个在用户手机上占有“一席之地”的icon,就成为用户随时随地与企业交流与互动的平台,成了使用者生活中的一部分。
4 结语
本文针对企业微信营销,对其微信公众平台进行二次开发,实现基于android平台的电商微信服务系统的开发,为企业更加个性化、便利化的微信营销提供支持与服务。开发的软件具有极强的实际应用价值,将为企业的商业营销创建一种新的模式。
[参考文献]
[1]邱祝文.基于redis的分布式缓存系统架构研究[J].网络安全技术与应用,2014(10):48-49.
[2]易伟.微信公众平台搭建与开发揭秘[M].北京:机械工业出版社,2013.
[3]凤伟.Web2.0下基于微信公众平台的设计研究[J].无线互联科技,2014(10):87-89.
[4]范丰龙.电子商务中微信服务系统设计与实现[J].商场现代化,2013(10):112-113.
[5]微信.微信公众平台[EB/OL].[2013-03-22].http:∥mp.weixin.qq.com/wik-i/index.php?title=消息接口指南.
Exploration on the E-commerce WeChat Service System Based on Android
Wang Xinyan, Mao Lijun
(Xian Peihua University, Xian 710125, China)
Abstract: The rise of 4G mobile network and WeChat offer a wider development for Enterprises trade. Enterprises can highly increase u ser experience and viscosity by micro hurts and promote their own development. The paper introduce the exploration on enterprises WeC hat service system based on Android by analyzing the characteristics of WeChat and enterprises themselves.
Key words: Mycat cluster; Redis cluster; WeChat