基于Pomelo分布式服务器后台管理的人事工资系统设计与实现

许珂乐 陈妮


摘 要: 为了实现高校人事工资的高效管理,使其具有良好的可扩展性和可维护性,采用C/S模式,提出了基于Pomelo技术,以Webstorm(服务器端)和VS(客户端)为开发工具,使用JaveScript和VC++程序设计语言来实现服务器端。通过实践证明,采用Pomelo 技术所开发的人事工资系统具备自动化程度高、可复用、易维护等特点。
关键词: Pomelo; C/S模式; 人事工资系统; 程序设计语言
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2017)16?0060?03
Abstract: To realize the efficient management of personnel salary in universities and make it have good expansibility and maintainability, the HR salary system based on Pomelo technology is proposed, in which C/S pattern is adopted, and Webstorm (server side) and VS (client) are taken as the development tools. Its server?side is implemented with JaveScript and VC++ programming language. The practice result proves that the HR salary system developed with Pomelo technology has the features of high automation, reusability and maintenance.
Keywords: Pomelo; C/S pattern; HR salary system; programming language
隨着互联网技术的不断发展和进步,以及新一代信息技术的迅速普及和应用,信息资源已经成为我国国民经济和社会发展的重要战略性资源,高职院校作为我国科学技术的前沿阵地之一,如何将先进的信息技术应用到我国高职院校的人事工资查询工作当中,使高职院校的人事工资能够实现信息化、时代化、高效化已经成为高职院校教育信息化建设过程中一个迫切需要解决的问题。
1 关键技术
从本系统的可维护性和功能的可扩展性角度考虑,人事工资系统采用了基于Pomelo技术为框架的分布式服务器系统,数据库系统使用开源的MySQL。
1.1 Pomelo技术
Pomelo是由网易公司推出的一个基于node.js的服务器框架,它是高性能、高可伸缩、分布式多进程的服务器框架,使用简单,包括基础开发框架和一系列相关工具库,大大提高开发效率。Pomelo强大的可伸缩性和灵活性使得Pomelo也可以作为通用的分布式实时应用开发框架,用于一些高实时应用的开发,它支持所有主流平台的客户端,并提供了客户端的开发库,使得客户端的开发变得很友好。
1.2 Jansson
Jansson是一个C语言库,用于编码、解码和操作JSON数据,具有简单直观的API和数据模型,完全支持Unicode(UTF?8),具有完整的文档及不依赖其他库的特性,可以大量测试套件,使用快捷方便。
2 需求分析
根据高职院校人事工资信息系统的信息化管理要求,人事工资系统的建设应该满足下面的应用需求:
(1) 能够实现人事工资查询数据信息的网上管理,提高管理工作的效率。
(2) 能够利用专用单台或多台服务器硬件,或与其他系统共用服务器硬件,充分利用网络资源,实现人事工资查询服务,同时能够使教职工能够通过邮件方式及时了解个人相关工资调整变化信息。
(3) 建立可靠、高效的人事工资系统后台管理子系统,支持人事工资系统中多个子系统的统一管理以便实现相关数据的共享。
3 系统设计
本文主要采用的是C/S模式的体系结构构架,使用Pomelo技术,后端使用的是Microsoft SQL Server 2005 数据库,整个系统为人事工资管理提供了一个最优化的管理体系。系统总体功能模块图如图1所示。
人事工资系统需要实现在线查询工资,查询调资等基本功能,参与者是全院在职和外聘的教职工和系统管理员。
3.1 系统主要功能模块
人事工资系统后台管理的主要参与者是负责人事劳资工资人员。用例主要包含系统后台的登录,以及本系统中各个模块所要实现功能的统一管理。该模块主要包含如下功能:
(1) 工资查询模块。主要包含的用例有对历史月工资数据信息进行查询,数据信息可分为基本工资、绩效工资、校内津贴、代扣部分。
(2) 工资信息输入/导入模块。主要包含的用例有新的月工资数据手动的输入或者标准Excel格式工资信息的导入。
(3) 工资邮件发送模块。主要用例有更新工资数据后自动发送工资及扣款明细发送邮件至教职工个人邮箱。
3.2 系统子功能模块设计
本系统可以将人事工资管理工作进行优化和整合,使其实现有机统一,最终达到管理工作的高效开展,包含如下子功能:工资查询、工资输入/导入及自动发送邮件信息等功能。
查询是人事工资系统中一个重要的功能,人事薪酬等信息属于半保密性质,故系统采用C/S方式而非使用更加方便的B/S方式来实现,客户端需要安装专业软件。
人事工资系统中,一旦数据更新,服务器端会根据数据库中定义的各个用户的电子邮件地址,通过预先定义好的人事薪酬统计/发放人员邮箱,以标准化的格式发送工资信息邮件。
3.3 系统数据库设计
系统中,数据库之所以采用V5.6.23版的开源MySQL,是因为Pomelo本身提供MySQL模块,可以很方便地实现与MySQL数据库的连接,并且MySQL本身还具有占用硬件资源不大,体积小巧而功能强大,具备Windows Server/Linux系统版本,支持标准的SQL语句,使用简单等特点。用户工资信息表(Salary)如表1所示。
表1 用户工资信息表
4 系统实现
4.1 工资查询功能的实现
客户端是使用VS2012开发出来的标准的Windows系统对话框应用程序,工资查询系统开发的主要工作量在于服务器端,客户端所起到的仅仅是将用户需求信息JSON化之后传至服务器端处理,接收来自服务器的JSON数据反馈后翻译为标准显示字符串显示给用户。登录界面如图2所示。
所有用户的用户名与密码都存于salarymanagesystem数据库的employee表中,只有服务器端正常启动后,用户才能在客户端中正常登录。
4.2 工资数据邮件发送功能的实现
工资查询系统采用Pomelo框架中安装nodemailer模块来实现。在gameHander.js文件中对发送端邮件用户名和密码等信息进行设置,通过该邮件向employee表中定义好的个人邮箱地址发送规定格式的工资信息邮件,这样就实现了工资发放邮件通知的自动化。部分代码如下:
{ var nShiFaGongZi = Number(msg.jibengongzi) + Number(msg.gangweigongzi) + Number(msg.butie) ? Number(msg.gongjijin);
var strHtml = ′您好!您本月的基本工资是′ + msg.jibengongzi + ′,′ + ′您本月的岗位工资是′ + msg.jibengongzi + ′,′ +′您本月的补贴是′ + msg.butie + ′,′ +′您本月扣除的公积金是′ + msg.gongjijin + ′,′ +′您本月的实发工资是′ + nShiFaGongZi + ′。′; //设置邮件内容
var mailOptions = {
from: ′54419379@qq.com′, //发件地址
to: String(res.mailBox), //收件列表
subject: ′您′ + msg.riqi + ′月发工资啦!′, //标题
text: ′Hello World′,
html: strHtml // html 内容
}
}
4.3 分布式后台服务器的实现
人事工资系统是以咸阳职业技术学院的人事工资管理系统为载体,用Pomelo技术实现了本文系统功能设计中所述的各项功能。其中详细的分布式服务器模块框架如图3所示。
服务器端采用分布式的设计,服务端是由一个服务器集群组成的,包括:多台Game Server主要充当后台服务器功能,全局服务器,长连接服务器等。实际构建系统时,图3中各个服务模块可以选择集中到同一台服务器或分布于多台服务器。
5 结 语
本文是在分析与研究高职院校人事工资系统的设计与实现基础之上,以咸阳职业技术学院的人事工资管理为例进行介绍。实践证明人事工资系统的建设与应用,解决了高职院校人事工资工作中信息秘籍、管理业务量大、程序化要求和时效性强等“难题”,实现了高职院校人事工资工作的数字化、信息化和精细化管理。
参考文献
[1] 张计龙,张成洪,张凯,等.基于改进MVC的高校人事管理系统[J].计算机工程,2004,30(8):191?194.
[2] 徐春卯.四川职业技术学院工资管理系统的设计与实现[D].成都:电子科技大学,2011.
[3] JOHNSON Rod, HOELLER Juergen. J2EE development without EJB(中文版) [M]. 北京:电子工业出版社,2005.
[4] ZAKAS N C, MCPEAK Jeremy, FAWCETT Joe. Profession Ajax (Ajax高级程序设计) [M]. 北京:人民邮电出版社2006.
[5] 白金东,陈杰.基于JSF架构的WEB应用开发研究[J].科技情报开发与经济,2005,15(10):223?224.
[6] 钟瑞泽.基于MVC模式的管理信息系统的研究[J].电脑与电信,2008,18(8):87?89.
[7] 赵涛,李先国,胡晓东.MVC设计模式在Web应用系统框架中的扩展[J].安徽大学学报(自然科学版),2005,29(4):30?31.
[8] 张红月.构建高可扩Web架构和分布式系统实战[EB/OL].[2013?01?09].http://www.csdn.net/article/2013?01?10/2813545?Building?Scalable?Web?Architecture.
[9] 崔玮娜.论我国企业人力资源管理及薪资管理[J].才智,2014(12):332.
[10] 張友生.系统分析师技术指南[M].北京:清华大学出版社,2007.
[11] 张旭中.分布式数据库查询优化技术[D].西安:电子科技大学,2003.
[12] 许珂乐,陈妮,李一鑫.咸阳职业技术学院基于ASP的人事工资员工查询系统的设计与实现[J].电脑知识与技术,2015(17):77?78.
[13] 陈仁贤.论我国企业人力资源管理及薪资管理[J].行政事业资产与财务,2012(4):200?201.
[14] 张友生,王胜祥,殷建民.系统架构设计师教程[M].北京:电子工业出版社,2006.