Design and Implementation of a New-type Cloud Computing Examination System

—With the rapid development of network technology, large enterprises have established their own online learning and examination systems, respectively. However, those network examination systems are dispersive, closed and disconnected, so resources cannot be utilized in a balanced way, which may cause substantial waste of enterprise resources. To solve such a problem, emerging cloud computing technology with service on demand characteristics and dynamic expansion capability provides the possibility of a shared network examination system, known as a cloud exam support service, with lower costs. A feasible solution for the application of the cloud computing technology in the network examination that combines the theoretical analysis, system design and technical implementation is put forward in this paper. The design, development, and pilot application of the cloud examination system described in this paper show that this study is highly practical, operable, and worthy of application and popularization.


INTRODUCTION
With the rapid development of network technology, traditional paper-based examination has been replaced by online examinations in some universities or companies, which has made the examinations no longer subject to time and region constraints and greatly improved the quality and efficiency of the examination itself [1]. Client/Server (C/S) structure and Browser/Server (B/S) structure are the main structure modes of current online examination system [2][3]. For the examination system of a C/S structure, the test center is independent, the examination administrator will push examination papers and examinees' information to the test center, and examinees will take the examination in the test center. While this structure is mainly distributed in a local area network, examinees only can take the examination in specified circumstances, so they are restricted by time and space to a certain extent. The examination system of a B/S structure concentrates the load carrying capacity on the server by way of server clusters with a certain amount of network bandwidth as a necessary support. Examinees can enter the examination system on the network and can take the examination with a web page to open the paper, which solves the problem of the examination being restricted by the time and space. In a rush hour, such an examination system will withstand the pressure of the concurrency of over 100,000 examinees and data flow of more than 100G in an instant. After the examination, the system is almost idle, which is a huge waste of the equipment and the network resource. In addition, these systems have limited carrying capacity, low expansibility, and the examinees' answers are easy to lose in case of emergencies. What's more, various test systems do not connect with each other, and the data are difficult to synchronize, which makes the examination system of a B/S structure not widely used. Therefore, a new technology is urgently required to improve this dilemma [4].
Cloud computing is a super computing model, which is based on virtualization technology, providing infrastructure service, platform service and software service by the carrier of network, and integrating distributed computing resources (e.g., massively scalable computing, storage, data, and applications) to work collaboratively [5][6]. Software as a Service (SaaS) is one of the services provided by cloud computing, and it is an internet-based software application model that can provide software service, the latest trend in software technology development [7]. A SaaS model can provide a solution for concurrent examination because of its flexible expansibility and ability to make full use of resources. Meanwhile, the problem of losing examinees' answers in unexpected situations and data synchronization among the examination systems will be solved by the help of doublebuffering technology and adapter technology, Therefore, cloud computing can provide a technology solution for the design of current online examination system.
In summary, referring to the main problems of current online examination systems, combined with the advantage of this emerging cloud computing technology, this paper reports on an online examination system based on cloud computing technology. The system can help companies enjoy the test service of high concurrency with lower cost; further, depending on the infinite dynamic expansion capacity of cloud computing, it can allocate distributed test service at any time according to the need of the exam size, which reduces the pressure on the main system and improves the number of concurrency. So it provides a stable and reliable platform for large-scale online examination.

II. SYSTEM FUNCTION
To reflect the superiority and strong service capability of a cloud examination system, this paper will analyze the following several aspects.

A. Examination data reception and distribution
The function of examination data reception and a distribution module is to receive and store the examination data issued by other test management systems, including the examination master data such as paper information, answer information, examinee information, examination room information, examination administrator information, and so on, distribute these data to each of the distributed test servers, and record the distribution result for the preparation work before the examination.

B. Authentication
The authentication function is mainly used to analyze the user's account, including the authentication and authority judgments; for example the examinee, the administrator, and the others confirm their legal status.
To ensure examinees can easily login to the examination system, the examinee information will be saved in the examination management system and the online examination system, respectively, so the examinee can take the examination in the two systems.

C. Online examination
The online exam function is the core module of the cloud examination system, whose function is to realize the online examination, the examination process control, and so on. Its main functions are as follows.
(1)Open the paper and answer questions online This module is the basic function of the system, which can ensure the examinee can open the paper and answer the questions online, and can also ensure the results are not accidentally lost.
(2)Support the A/B paper mode To prevent cheating, the system supports an A/B paper model in the examination process, that is to say, it may support multiple random matching examination papers. At the same time, it also can support a different questions display, a different options display, a full-page display or a single title display, open-book examinations or closebook examinations, and other functions.
This function is used to control the entire examination time or the answer time of each question in the singlequestion test mode. When the examination time is over, the system will automatically collect the papers. (4)Saving the answer instantly The function of saving the answer instantly includes the answer saved in the examinee side and the server side as well as inspection of the situation of the question and others. The system supports two kinds of saving modes: save the answer results manually, save automatically with some strategies set by the system every once in a while.

(5)Examination process monitoring
This function is used to monitor the actual distribution of an examination and the distribution of all examinations, including the state of participating in the examination, the state of entering the examination, the state of submitting the paper, the score of objective questions, and so on. (6)Results storage and computing The module will save the user's answer in the database and compute the examinees' scores of objective questions.
Given the above functional analysis, the online exam use case diagram is shown in Figure 1.

D. Examination result acquisition
The examination result acquisition function is that the examinees' answer data and test scores will be sent to the corresponding examination management system. It supports two ways: automatic upload and manual upload. The user needs to set the regular upload strategies when it is in automatic upload mode.
During the examination submission process, if the network, power and other hardware environments are limited, examinees will not normally submit the test results. This requires a backup mechanism in which the monitor can find the corresponding test files on the computer of examinees and then send them to the examination administrator by copying or via email, so each of examinee's results can be uploaded to the examination management system.

E. Auxiliary messages alert
All functional modules of the online examination system in the data transfer process need to give a friendly message in every aspect with the help of information transfer technology. For example, when the information is pushed down from the educational administration system, the online examination system is notified first and then receives the examination information. Whether the reception is successful or not, it must return the acceptance state to the examination system.

A. Key technology
The system adopts a three-tier architectural pattern of MVC, namely business logic layer, presentation layer and data access layer, and its purpose is to make the business logic layer and presentation layer separate [8]. Java language was used to finish the system in this paper; a java program is a cross-platform and object-oriented language, so the system is easy to apply to Windows, Linux and other operating systems. The system development process involves the following key technologies: ActiveMQ is an open-source message stack [9]. ActiveMQ is used to share some data transfers in the system. The data first enters the queue, and then the queue saves the data in the database.
The encryption technology of the Data Encryption Standard (DES) [10] is used to transfer more important data, and the users' passwords in the database are encrypted by DES, which can improve the security of the system.
XFire is the service engine of java web [11]. It can easily publish the web service interface, which can be called by other programs.
MyBatis is the framework of the persistence layer [12]. It can easily map a java object to the database by the way of annotating; the SQL codes will be written in XML, and they are separated with the java codes, which are conducive to the maintenance of the system.
Json is a lightweight data interchange format; it can be easily read and written by the programmer; it is also easily parsed and generated by the computer [13].

B. System architecture
Based on the deployment principle of cloud computing, all difficulties of routine maintenance are solved by the system with the approaches of distributed deployment and centralized management. In distributed deployment the service of online examination is deployed independently in various service units of the examination. While in centralized management, the management strategies are set to manage various service units of the examination in the system and to design a reasonable solution. The network topology of the system is shown in Figure 2.   The location and the design of the major functional blocks of a cloud examination system in the examination management system are shown in Figure 3. A cloud examination system is a support system for online examination that can run independently. Its management side includes some functions such as administrator management, a distributed testing service unit and server management, data reception and distribution, inspection of all server status records, examination process monitoring, system log checking and others. This paper introduces several key functional modules, illustrates the application of key technologies, explains the implementation of the examination system, and verifies the value of the system through the postapplication.

A. Adapter
An adapter is the key function module of a cloud examination system that is called by the external system interface; it is a bridge between the external examination system and this system. It also provides a solution for data synchronization among the systems, and it solves the general support problem of the system. The operation of an adapter module is realized by the system bottom. It is called when the examination issued, so the part of the interface only reflects whether the data is issued successfully. The implementation method of an adapter includes the ID (test unique identification) of an examination is imported by the external examination system, the test data is obtained through the ExamDaoImpl() method, and then the data format is converted to the format of a cloud examination system using the CloudsExamDaoImpl() method. The program process of specific implementation is shown in Figure 4.

B. Data distribution
The data distribution function mainly relies on web service technology to distribute the test data for each of the examination service units from the examination system. The function includes reception of examination data and data packing; then delivers it to the target service unit and records the transmit information. The program flow of the function implementation is shown in Figure 5.
The data distribution module is mainly used to receive the examination data: the examination information, the user information, etc. and send them to the corresponding examination server. The whole process of data receiving and sending is completed by the system bottom; in the meantime, it will return the results to the administrator.

C. Login authentication
To achieve the "dual backup requirements" of examination login authentication, the system adopts a SSO (Single Sign On).The examinee can enter the examination management system or directly log into the system. Once authenticated, the examinee can open the examination paper to test in the stipulated time under navigation of an intuitive and friendly page.

D. Online examination
An online examination module is the core of the system, and the system provides a friendly interface for online examination. Examinees can view some basic examination information before they answer the questions, such as the examination note, the examination time, the passing score and other information. The examination page can not only display the exam questions, but it can also display photos of the examinees, which is convenient for the invigilator to check the cards. In addition, the system can provide other functions, such as the examination countdown and inspection of answered questions, unanswered questions, and others.
When examinees enter the examination module, the system first does a series of judgments before the paper is opened, which assures the test is in progress, and then the examinees can open the examination.
During the examination process, saving of answer results adopts a dual caching mechanism, so it can ensure the security of the examinees' answer results in emergencies. In the client, the answer results can be saved in the local computer with OCX control. While the examination answer results will be uploaded to the cloud server, it will also be written into the caching Redis.

E. System application
The system organizes the job skill certification test combined with the training system of "China Telecom online University."The number of examinees is about 9,000 people, and the success rate of submitting is about 99.96% on the spot. Two failures in submitting are caused by a network fault. The instructor can use the backup scheme so he can pull the examinee's answers from the client and send them to the examination administrator by email. The examination administrator imports the answers into the database through a professional channel, and finally, the entire examination is successfully completed.
As a cloud examination system's run time is shorter, there are still some potential problems, but the system has basically achieved the initial target overall.

V. CONCLUSION
After several large training exams in the power and telecommunication industry of China, the cloud computing examination system is running normally in a high-concurrency environment, and it can allow multiple users to take online exams simultaneously as well as allowing automatic grading, examinee management, score management, security and other functions. It also can solve the problem of candidates being geographically dispersed. Because manual paper checking is timeconsuming, candidates can easily enter the exam and get instant results after the test, which can simplify the online examination work. On the other hand, since the exam system can support multiple-platform exams, which belong to the cross-platform applications, it can save network resources; it also has a practical and promotional value.
With the deepening breadth and depth of system application, it is necessary to solve two questions: (1) Need to further improve the compatibility of the interface between the cloud examination platform and different enterprises' examination management systems. Additionally, it should test more enterprise data and define more open import data interfaces (adapters) so that enterprise can flexibly assure the corresponding relation of the data and provide an online examination service for enterprises.
(2) Need to further optimize the system operation interface, improve some detail operations, and enhance the users' experience.