Design of Human Resource Management System Based on Cloud Platform

: With the rapid development of the Internet, we have entered an era of information globalization, and cloud computing technology has developed vigorously in recent years. At present, there are many systems about human resource management, but most of them have some problems of varying degrees of expansion, which cannot meet the requirements of managing complex human resource information, and cannot control the hardware cost. This paper innovatively combines cloud computing technology with human resource management system (HRMS), and designs a simple human resource management system through GAE cloud platform and JSP technology, which effectively solves the above problems. This paper studies the key technologies used by the GAE cloud platform and the GAE data storage area based on BigTable Datastore. By using distributed data reading and storage, it can cope with massive information access requests, and the storage and query performance of the human resource management system can be greatly optimized. It reduces the cost of IT construction and operation and maintenance, so that enterprises can put more energy into the core business of human resource management. The new system is more convenient and economical than ordinary HRMS and has huge advantages. The cloud computing platform will also become an important direction for the development and improvement of HRMS in the future.


Introduction
With the rapid development of the Internet, we have entered an era of information globalization [1].Driven by the environment, cloud computing technology has developed vigorously in recent years, and has become an irreversible trend and trend.Internet giants have released corresponding cloud computing strategies, and many enterprises in the front end of the cloud have begun to provide a series of cloud computing services.More enterprises are also beginning to use cloud services, leaving IT tasks to cloud service providers to complete, improving operational efficiency.Cloud computing directly faces users through the Internet, integrates segments, and provides users with one-stop services such as ordering and solutions [2][3][4].Cloud computing providers mainly use virtualization technology to integrate all software and hardware, and then provide users with an IT model of on-demand billing.As long as it is oriented to cloud service providers, users can obtain the resources they need, which requires little hardware configuration, reduces operating costs, and only connects to the Internet through running browser terminals.Users can use cloud services anytime, anywhere.
Cloud Computing is the development of Distributed Computing, Parallel Computing, and Grid Computing, and finally the integration of commercialization.Cloud computing is the result of a hybrid evolution of concepts such as utility computing, virtualization, infrastructure as a service IaaS, platform as a service PaaS, and software as a service SaaS [5].There are also narrow and broad definitions of cloud computing.The narrow sense of cloud computing is from the perspective of IT, which refers to the access to IT resources through the Internet according to demand, including hardware, platform, software, etc.The network that provides these resources is called the "cloud", and users only need to pay according to the amount of use, they can obtain the required resources from the "cloud" anytime and anywhere.Cloud computing in a broad sense is from the perspective of services, such services include hardware, infrastructure, software or Internet applications, referring to the access to these services through the Internet according to demand, and these services are easy to expand [6].
The establishment of advanced modern human resource management system has a great impact on the development of enterprises.With the increasingly fierce competition, talents have become a very important factor in the development goals of enterprises.Enterprises need to make every effort to introduce and retain talents, and stimulate their potential, creativity and work enthusiasm, so as to bring maximum value to enterprises.Human resource management system can realize efficient and comprehensive human resource management of enterprises, with the advantages of high reliability, good confidentiality, large storage, rapid retrieval, low cost, etc.These advantages can enable enterprises to move faster to formalized and scientific management, through employee self-service, automatic information processing, service sharing and other methods.Greatly improve the management efficiency of enterprise human resource management system [7].
This paper combines cloud computing technology with human resource management system, and applies the emerging technology of cloud computing to daily human resource management, so that the system can better serve the operation of enterprises.The human resource management system based on cloud technology efficiently completes the professional division of labor and innovatively improves the scalability of the system.Enterprises do not need to buy physical hardware, but only need to purchase the corresponding application services and space according to the demand, and pay according to the actual usage.It can also be compressed and expanded at any time, and the tedious back-office maintenance is managed by Google.It reduces the cost of IT construction and operation, and is more convenient and economical than ordinary human resource management system; At the same time, GAE platform technicians are responsible for managing and maintaining the development and operation environment, while system designers are responsible for software design, so that managers can focus on human resource management, which is more reliable and professional than ordinary human resource management systems.With the continuous development of cloud technology, it will have a certain impact on our daily work and study.So the study of cloud computing technology has immeasurable far-reaching significance.

Feasibility analysis
On the economic side, the system is implemented on the GAE cloud platform.GAE's free account can use 500MB of persistent storage space, and can support a large bandwidth of about 5 million page views per month, with no more than 10G of incoming and outgoing traffic per day.Enterprises do not need to purchase server hardware separately, nor do they need to build servers by themselves, only need to purchase the corresponding application services and space according to demand.In addition, the daily tedious background maintenance of the system is managed by Google, and the basic maintenance costs of the system such as personnel costs can be ignored, which reduces the cost of IT construction and operation.So from an economic point of view, the system is feasible [8].
In the technical aspect, the system design and development process mainly uses JSP technology, debugging is relatively simple.JSP is an advanced dynamic Web page technology.The Java program code is directly embedded in the HTML format, HTML determines the page structure, and then through the Java program code to display the specific content that the user wants to display, the use of JSP technology Web application page can easily display dynamic content.JSP using JDO can easily connect to the database, convenient for all kinds of data processing, so that only the use of its built-in components can complete the corresponding functions.In the computer configuration can also fully meet the needs of system design and development, so it is technically feasible [9].

System programming mode
The system uses JSP technology to design the page, and embedded JavaScript, and uses a relatively mature J2EE framework to design the business logic, and achieves the characteristics of object-oriented design such as scalability and better encapsulation.As shown in Figure 1, the system adopts a three-layer structure of B/S mode, that is, browser and server mode, which is different from C/S mode (client and server mode), which allows users to only need the browser as a tool, and all the business logic is implemented on the server side, greatly reducing the client computer load and reducing the workload of system maintenance.J2EE architecture programming, the use of MVC design pattern, M (Model) for the business logic layer, V(View) for the view presentation layer, C(Control) for the control layer.The user sends a request through the browser, the front-end controller accepts the request, and responds to the request, handing different requests to different background controllers for processing, and the background controller invokes the corresponding model object to process the specific business logic, and finally returns a specific view to respond to the client.In the process of dealing with specific business logic, it is necessary to access the underlying database.The user sends a request to the application through the browser, the system accepts the request and passes it to the ActionServlet for processing, and the system's central processor decides which registered server to send the request to first, based on the user's request.Then in the Google App Engine environment, the user accesses the underlying DataStore and Memcache to find resources that can resolve the request.After obtaining the data provided by all application servers, the data is aggregated and formatted, and the results are returned to the ActionServlet in the foreground, which determines the display of the JSP view in the foreground.The ActionServlet determines the display of the JSP view of the endpoint, and this programming model enables the design of cloud-based applications.

Function module design
This human resource management system is divided into the following eight functional modules, the specific content is as follows: (1) Personnel information management The modules display and maintain the basic information of all employees, the module management mainly includes input, query and modify the basic information of employees and other functions.The specific information mainly includes the employee's name, gender, nationality, native place, family address, date of birth, email, contact number, graduation school, major, education, marital status, type of employee, etc.
(2) Archives management Enterprises organize the entry and departure information and basic information of all employees, and collect and classify them in a unified manner.This module mainly includes the functions of inputting, inquiring, modifying and deleting the file information of employees, etc.The specific information mainly includes the basic information of employees, file number, learning experience, entry information, training process, attendance information, performance information, work experience and dimission information.
( (4) Contract management The main function of this module is to input, query and modify the specific contract information of all employees.The specific contract information of employees is entered by the system administrator of the relevant department.The specific contract information mainly includes: Employee name, contract term, contract type, whether to renew, renewal time, probation period, probation period, salary, contract start time, contract termination time, employee benefits, contract changes and other information.
(5) Attendance management Including daily attendance record and overtime record management, daily attendance record management mainly includes increasing, inquiring, modifying and deleting the daily attendance status of all employees.By analyzing the daily attendance status of employees in various departments, the attendance manager gives feedback to the company management, and then gives appropriate rewards and punishments to different employees, which can fully mobilize the enthusiasm and enthusiasm of employees.Overtime record management is similar to daily attendance record management.
(6) Salary and welfare management It includes the management of employee salaries and benefits, in which employee salary and benefits information includes salary number, payment time, basic salary, overtime salary, incentive salary, deduction salary, basic benefits, special benefits, etc., and the relevant inquiry of these salary and benefits information, as well as the operation of modifying, adding and deleting.
(7) Performance evaluation management The company evaluate and evaluate the work performance of employees in all departments of the enterprise on a quarterly basis, and give corresponding rewards to employees based on this, and fill in the performance evaluation form, which mainly includes the department of the evaluator, the name of the evaluator, the evaluation time, the evaluation criteria, the specific content of the evaluation, and the evaluation results.
(8) System management It mainly includes user management, department management and system data backup.The system administrator can add, modify, query and delete the basic information of all employees, add and delete the relevant information of the department, and export the specific report information.The system administrator also needs to regularly back up the system data to improve the system security and prevent unnecessary losses.

Database Design
Database design is an important part of system design.The human resource management system based on cloud computing needs to store data on the network "cloud" composed of countless servers, which will be very complicated.A web server should interact with data that is equally distributed across multiple machines, and a user can interact with any number of web servers in a given time, and his or her next request may be handled by a different web server.The request processor needs to interact with a central database to respond to the current user's request to the server, and the request processing system will disperse the request to different servers to obtain good robustness, at this time the database will do similar things, but the traditional database cannot automatically manage the data according to the request processing mechanism, because it is stateful; Faced with this problem, Google gives its own storage method, called "Datastore" (Datastore), GAE uses datastore based on BigTable, The data store based on BigTable can handle the load balancing of all data through a simple API, effectively solving the above problems.As a non-relational database, its data table creation, modification, query and so on are different from the general relational database.
The GAE data store is mainly Datastore, which is based on Bigtable and similar to an object database.It implements the data query function and provides reliable data storage services for Web applications.The objects stored in a Datastore are called entities and are similar to records in a relational database table.Datastore is very different from traditional relational databases in that, as shown in Table 1, the specific functionality of a relational database can be effectively implemented by GAE applications that represent the relationships between their data objects and use indexes to query the related data.The GAE datastore is designed with the same goals as its runtime environment; both are abstract, allowing the App Engine to handle the actual extension of Web applications, allowing developers to focus their code on other things.It can be seen from the following table that the data storage area is not the best in terms of response speed, but it has good scalability and can cope with massive data access requests, so the data storage area is extremely suitable for data storage of Web applications.Database stores are paired with relational databases as shown in Table 1.For distributed database Datastore, App Engine Java SDK includes two kinds of data access standard interface implementation: Java data object JDO and Java Persistent API (JPA), these interfaces are provided by the DataNucleuS access platform, which describe the mechanism used to elaborate the structure of data objects through the definition of Java classes.Has adapters for GAE data stores; JDO is a standardized API used to access objects in the data warehouse.It pays great attention to the storage function of the underlying data and provides transparent object storage.This system uses JDO technology to realize the underlying data Persistence.It uses JDO to define data classes in the human resource management system and map them to the data storage area.Finally, the Persistence Manager class in JDO is used to operate data.

Implementation of system
Based on the demand analysis of this system, the HRMS is divided into personnel information management, contract management, file management, training management, attendance management, performance evaluation management, system management, and payroll and welfare management functional modules.When a user logs in, he/she enters the correct user name and password, and then selects the corresponding usage rights, and different users with different rights correspond to different usage function modules.After the user logs in, the client immediately forwards his/her login information to the server for verification and compares it with the data in the database.When the verification passes, the user can smoothly enter the main interface of the system.The process is shown in Figure 2. (2) File management module: It manages employee file information, including adding employee file information, modifying file information, inquiring file information and deleting file information.The specific information mainly includes employee basic information, file number, learning experience, entry information, training process, attendance information, performance information, work experience and dimission information.
( (4) Contract management module: It manages employee contract information, including adding employee contract records, modifying contract records, inquiring contract records and deleting contract records.Specific contract information mainly includes: Employee name, contract term, contract type, whether to renew, renewal time, probation period, probation period salary, contract start time, contract termination time and other information.
(5) Attendance management module: It manages the daily attendance information of employees, mainly including adding employee attendance information, modifying attendance information, querying attendance information and deleting attendance information.When users log in as system administrators, they can add, query, modify and delete the attendance information of employees.
(6) Performance evaluation management module: It conducts evaluation and management of employees' work performance on a quarterly basis, including adding, modifying, querying and deleting employee performance information, and filling in the performance evaluation form, which mainly includes the department of the evaluator, the name of the evaluator, the evaluation time, the specific content of the evaluation, and the evaluation results.
(7) Salary and benefit management module: It manages the salary and benefit of employees, mainly including the composition of basic salary and benefit content, the specific time of payment, etc., and conduct relevant inquiries and modifications of these information, etc.When users log in as system administrators, they can add, query, modify and delete the salary and benefit information of employees.

Conclusion
In recent years, cloud computing technology has developed rapidly.Cloud computing reduces operating costs, and users can use cloud services anytime and anywhere just by running a browser terminal and connecting to the Internet.All the data of the user does not need to be stored in the hard disk, but is kept by the cloud computing center, which greatly improves the security of the data.In this paper, JSP technology is used to develop the human resource management system, and the data storage end is the GAE data storage area Datastore.Through the Eclipse Google and Java SDK plug-ins attached to the GAE cloud platform, a cloud-based human resource management system is designed and developed.GAE datastores read and store data in a distributed manner and are able to handle a large number of access requests.Using GAE's data storage area, the storage and query performance of the human resource management system can be greatly improved.This paper combines cloud computing technology with human resource management system, and applies the emerging technology of cloud computing to daily human resource management, so that the system can better serve the operation of enterprises.The human resource management system based on cloud technology efficiently completes the division of labor and innovatively improves the scalability of the system.Enterprises do not need to buy physical hardware, nor do they need to build their own servers, but only need to purchase the corresponding application services and space according to the demand, and pay according to the actual usage, and can be compressed and expanded at any time.The daily tedious system back-office maintenance is managed by Google, and the basic system maintenance costs such as personnel costs can be ignored, which reduces the IT construction and operation costs, and is more convenient and economical than the ordinary human resource management system.At the same time, GAE platform technicians are responsible for managing and maintaining the development and operation environment, while system designers are responsible for software design, so that managers can focus on human resource management, which is more reliable and professional than ordinary human resource management systems.

Figure 1
Figure 1 System programming mode ) Training management This module is mainly to conduct various training for enterprise employees, including pre-job training, on-the-job training, academic education and other forms of training, and establish the corresponding education and training files.The contents of education and training files mainly include: training name, training category, training method, training time, training place, training cost, training unit, training personnel, assessment results and other information.

Figure 2
Figure 2 System login flow chart(1) Personnel information management module: It displays and maintains the basic information of all employees.It mainly inclues adding user information, querying user information, modifying user information and deleting user information, the specific information mainly includes employee name, gender, date of birth, contact number, home address, email, etc.(2) File management module: It manages employee file information, including adding employee file information, modifying file information, inquiring file information and deleting file information.The specific information mainly includes employee basic information, file number, learning experience, entry information, training process, attendance information, performance information, work experience and dimission information.(3)Training management module: It manages staff training information, including adding staff training records, modifying training records, querying training records and deleting training records.Training records mainly include: training name, training category, training time, training place, training cost, training unit, training personnel, assessment results, etc.(4) Contract management module: It manages employee contract information, including adding employee contract records, modifying contract records, inquiring contract records and deleting contract records.Specific contract information mainly includes: Employee name, contract term, contract type, whether to renew, renewal time, probation period, probation period salary, contract start time, contract termination time and other information.(5)Attendance management module: It manages the daily attendance information of employees, mainly including adding employee attendance information, modifying attendance information, querying attendance information and deleting attendance information.When users log in as system administrators, they can add, query, modify and delete the attendance information of employees.
) Training management module: It manages staff training information, including adding staff training records, modifying training records, querying training records and deleting training records.Training records mainly include: training name, training category, training time, training place, training cost, training unit, training personnel, assessment results, etc.

Table 1
Compare database stores to relational databases