A method and device for answering questions, electronic equipment and storage medium
Patent Information
- Application Number
- CN202411663825.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2025-04-01
Smart Images

Figure CN119739960A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of Web application technology, and in particular to a question answering method and device, an electronic device and a storage medium. Background Art
[0002] In the traditional Web application scope, the student online answering system has become an indispensable educational auxiliary tool. However, the existing online answering system has certain defects:
[0003] 1. The online answering system relies on the stable operation of the server. Once the server load is too high, the system may respond slowly or even crash, affecting the students' answering experience and exam progress.
[0004] 2. Some systems only support basic answering functions and lack advanced functions such as diversified practice modes, wrong question analysis, and learning progress tracking, making it difficult to meet students' personalized learning needs.
[0005] In summary, the technical problems existing in the relevant technologies need to be improved. Summary of the invention
[0006] The main purpose of the embodiments of the present application is to propose a method and device for answering questions, an electronic device and a storage medium, which are designed to efficiently process a large number of concurrent requests, provide personalized services to students, and improve the efficiency and experience of answering questions.
[0007] To achieve the above purpose, one aspect of an embodiment of the present application provides a method for answering questions, the method comprising the following steps:
[0008] Creating an original question, wherein the original question belongs to a corresponding candidate test point;
[0009] Determine a target test site and a target number of questions, and create a question combination according to the target test site and the target number of questions, wherein the target test site is determined from the candidate test sites;
[0010] Using a random algorithm to generate a target question according to the combination of questions;
[0011] Obtaining the student answer data of the target question, converting the student answer data into a target request, and distributing the target request to the business server for processing after load balancing through a reverse proxy server, wherein the student answer data includes the target question, question options, answer content, answer time, and score;
[0012] The student answer data is processed by the business server and stored as a student answer record, and the student answer record is stored in a database and a cache cluster.
[0013] In some embodiments, the creating the original topic includes:
[0014] Create original questions by importing documents, tables or creating them yourself;
[0015] The original question is stored in the candidate test site.
[0016] In some embodiments, the method further comprises:
[0017] Asynchronous creation and processing of question bank data is achieved through a message server, wherein the question bank data is composed of the question combination.
[0018] In some embodiments, the step of generating a target topic according to the topic combination using a random algorithm includes:
[0019] Obtain the preset test point ratio and the target test points and target question numbers in the question combination;
[0020] Determine the number of test point questions according to the preset test point ratio and the target number of questions;
[0021] Determine the target questions from the original questions of the target test point according to the number of questions of the test point.
[0022] In some embodiments, the step of generating a target topic according to the topic combination using a random algorithm includes:
[0023] Get the correct and incorrectly answered questions;
[0024] Excluding the correctly answered questions and the incorrectly answered questions from the question combination to obtain unanswered questions;
[0025] Get the weight of correct answer, weight of wrong answer and weight of unanswered answer;
[0026] The correctly answered questions are combined with the correct answer weights, the incorrectly answered questions are combined with the incorrect answer weights, and the unanswered questions are combined with the unanswered weights to perform weighted question generation to obtain target questions.
[0027] In some embodiments, the method further comprises:
[0028] Calculate the total score and correctness rate according to the student's answer record;
[0029] Conduct wrong question analysis and answer activity data analysis on the student's answer records and generate an analysis report.
[0030] In some embodiments, the performing wrong question analysis and answer activity data analysis on the student's answer record to generate an analysis report includes:
[0031] Get all students' answer records;
[0032] Using a real-time analytical database to perform data statistics and analysis on the student's answer records and generate an analysis report;
[0033] In response to the first instruction, the analysis report is displayed on the student analysis page, and the analysis report includes the average score, the highest score, the lowest score, segmented data statistics, the correct and incorrect ratio of multiple-choice questions, the correct and incorrect ratio of true and false questions, and the correct and incorrect ratio of fill-in-the-blank questions.
[0034] To achieve the above purpose, another aspect of the embodiment of the present application provides a question answering device, the device comprising:
[0035] A question creation module, used to create an original question, wherein the original question belongs to a corresponding candidate test point;
[0036] A question combination creation module, used to determine a target test point and a target number of questions, and to create a question combination according to the target test point and the target number of questions, wherein the target test point is determined from the candidate test points;
[0037] A topic generation module, used for generating a target topic according to the topic combination by using a random algorithm;
[0038] A distribution processing module is used to obtain the student answer data of the target question, convert the student answer data into a target request, and distribute the target request to the business server for processing after load balancing through a reverse proxy server, wherein the student answer data includes the target question, question options, answer content, answer time and score;
[0039] The storage module is used to process the student answer data through the business server and store it as a student answer record, and the student answer record is stored in the database and cache cluster.
[0040] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the above-mentioned method when executing the computer program.
[0041] To achieve the above objective, another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described above is implemented.
[0042] The embodiments of the present application include at least the following beneficial effects: the present application provides a method and device for answering questions, an electronic device and a storage medium, the scheme creates original questions; determines the target test points and the target number of questions, creates question combinations according to the target test points and the target number of questions, and improves the pertinence of questions and learning efficiency; uses a random algorithm to generate target questions according to the question combination, provides personalized services for students, and thus improves user experience; obtains student answer data of the target questions, converts the student answer data into target requests, distributes the target requests to the business server for processing after load balancing through a reverse proxy server, which is conducive to efficiently processing a large number of concurrent requests, avoiding overloading of a single server, and improving the efficiency of answering questions; processes the student answer data through the business server and stores it as a student answer record, and the student answer record is stored in a database and a cache cluster, which is conducive to data analysis and identification of the student's learning situation.
[0043] The embodiments of the present application can solve the challenge of the surge in the number of people answering questions online at the same time, improve the efficiency and reliability of answering questions, provide personalized services to students, and thus improve user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 is a flow chart of the question answering method provided in an embodiment of the present application;
[0045] Figure 2 yes Figure 1 Flow chart of step S103 in FIG.
[0046] Figure 3 yes Figure 1 Another flow chart of step S103 in ;
[0047] Figure 4 This is a system architecture diagram of the answering method provided in the embodiment of the present application applied to the student online answering system;
[0048] Figure 5 is another flow chart of the question answering method provided in the embodiment of the present application;
[0049] Figure 6 It is a structural schematic diagram of the question answering device provided in an embodiment of the present application;
[0050] Figure 7 It is a schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is further described in detail below in conjunction with the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the embodiments of the present application. They are only examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the attached claims.
[0052] It is understood that the terms "first", "second", etc. used in this application can be used to describe various concepts in this article, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another concept. For example, without departing from the scope of the embodiment of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the words "if" and "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determination".
[0053] The terms "at least one", "multiple", "each", "any", etc. used in this application, at least one includes one, two or more, multiple includes two or more, each refers to each of the corresponding multiple, and any refers to any one of the multiple.
[0054] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0055] Before describing the embodiments of the present application in detail, some nouns and terms involved in the embodiments of the present application are first described. The nouns and terms involved in the embodiments of the present application are subject to the following explanations.
[0056] 1) Nginx is an open source, high-performance HTTP and reverse proxy server that also provides IMAP / POP3 proxy services.
[0057] In the traditional Web application scope, the student online answering system has become an indispensable educational auxiliary tool. However, the existing online answering system has certain defects:
[0058] 1. The online answering system relies on the stable operation of the server. Once the server load is too high, the system may respond slowly or even crash, affecting the students' answering experience and exam progress.
[0059] 2. Some systems only support basic answering functions and lack advanced functions such as diversified practice modes, wrong question analysis, and learning progress tracking, making it difficult to meet students' personalized learning needs.
[0060] In summary, the technical problems existing in the relevant technologies need to be improved.
[0061] In view of this, an answering method, device, equipment and medium are provided in the embodiments of the present application. The scheme creates original questions; determines the target test points and the target number of questions, and creates question combinations according to the target test points and the target number of questions to improve the pertinence of the questions and the learning efficiency; uses a random algorithm to generate target questions according to the question combination, provides personalized services for students, and thus improves the user experience; obtains the student answer data of the target question, converts the student answer data into a target request, and distributes the target request to the business server for processing after load balancing through a reverse proxy server, which is conducive to efficiently processing a large number of concurrent requests, avoiding overloading of a single server, and improving the efficiency of answering questions; processes the student answer data through the business server and stores it as a student answer record, and the student answer record is stored in the database and cache cluster, which is conducive to data analysis and identification of the student's learning situation.
[0062] The answering method provided in the embodiment of the present application relates to the field of Web application technology. The answering method provided in the embodiment of the present application can be applied to a terminal, can be applied to a server, or can be software running in a terminal or a server. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and a car terminal, etc., but is not limited to this; the server side can be configured as an independent physical server, or it can be configured as a server cluster or distributed system composed of multiple physical servers, and can also be configured to provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms and other basic cloud computing services. The server can also be a node server in the blockchain network; the software can be an application that implements the answering method, etc., but is not limited to the above forms.
[0063] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.
[0064] It should be noted that in each specific implementation of the present application, when it comes to the need to perform relevant processing based on data related to user identity or characteristics such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when the embodiment of the present application needs to obtain the user's sensitive personal information, the user's separate permission or consent will be obtained through a pop-up window or by jumping to a confirmation page. After clearly obtaining the user's separate permission or consent, the necessary user-related data for the normal operation of the embodiment of the present application will be obtained.
[0065] Figure 1 is an optional flowchart of the question answering method provided in the embodiment of the present application. Figure 1 The method may include but is not limited to steps S101 to S105.
[0066] Step S101, creating an original topic;
[0067] Specifically, the original question belongs to the corresponding candidate test point.
[0068] This application does not specifically limit the method of creating the original question, and can be flexibly selected in combination with actual testing needs. For example, the question can be created by document import, Excel import, or self-creation.
[0069] In some embodiments, the original questions are classified into corresponding candidate test points according to their content and difficulty.
[0070] Furthermore, questions are automatically classified through machine learning methods to reduce manual operations.
[0071] In this embodiment, creating the original questions helps to generate question combinations according to test points later.
[0072] Step S102, determine the target test points and the target number of questions, and create a question combination according to the target test points and the target number of questions.
[0073] Specifically, the target test points are determined among the candidate test points, and the question set includes the corresponding test points that need to be asked questions and sets the number of questions required.
[0074] This application does not specifically limit the method for determining the target test points, and can be flexibly selected in combination with actual testing needs. For example, the target test points can be determined by the user, or the system can automatically determine the target test points according to the user's learning needs.
[0075] It is understandable that the present application does not impose a specific limit on the number of target questions, and it can be flexibly selected in combination with actual test needs. For example, the number of target questions can be determined by the user, or dynamically adjusted by the system based on the student's historical answer situation or test scores.
[0076] Furthermore, the asynchronous creation and processing of question bank data is realized through the message server, wherein the question bank data is composed of question combinations.
[0077] In this embodiment, target test points and a target number of questions are determined, and question combinations are created based on the target test points and the target number of questions, which is beneficial for controlling the coverage and difficulty of the questions.
[0078] Step S103, using a random algorithm to generate a target question based on the question combination;
[0079] It is understood that, based on the pre-created question combinations, the system uses a random algorithm (such as random sampling or weighted random) to select a specified number of questions from each test site, so that each generated test question is different, increasing the diversity of the test.
[0080] In some embodiments, a preset test point ratio and a target test point and a target number of questions in a question combination are obtained; the number of test point questions is determined according to the preset test point ratio and the target number of questions; and the target question is determined from the original questions of the target test point according to the number of test point questions.
[0081] Optionally, obtain correctly answered questions and incorrectly answered questions; exclude correctly answered questions and incorrectly answered questions from the question combination to obtain unanswered questions; obtain correct answer weights, incorrect answer weights and unanswered weights; combine correctly answered questions with correct answer weights, incorrectly answered questions with incorrect answer weights, and unanswered questions with unanswered weights, and perform weighted question generation through a weighted random algorithm to obtain target questions.
[0082] Furthermore, the difficulty of the questions can be taken into consideration in the random process according to the level of the students and the requirements of the target examination points.
[0083] In this embodiment, a random algorithm is used to generate target questions according to the question combination, and the diversity of test questions is increased through the random algorithm, so as to provide personalized services for students and thus improve the user experience.
[0084] Step S104, obtaining the student's answer data of the target question, converting the student's answer data into a target request, and distributing the target request to the business server for processing after load balancing through the reverse proxy server.
[0085] Specifically, the students’ answer data include target questions, question options, answer content, answer time, and score;
[0086] In some embodiments, the student answer data is converted into a target request, and the request is distributed to multiple business servers through a reverse proxy server. The reverse proxy server is used to hide the structure of the internal server, so that external requests only interact with the proxy, and the request can be dynamically allocated to each business server.
[0087] Furthermore, load balancing allows requests to be distributed to different servers according to certain rules (such as polling, least connections, etc.), avoiding excessive server load and improving system stability.
[0088] Optionally, a failover mechanism can be set up so that when a business server fails, the reverse proxy server automatically forwards requests to other healthy servers.
[0089] In this embodiment, the student answer data of the target question is obtained, and the student answer data is converted into a target request. The target request is distributed to the business server for processing after load balancing through the reverse proxy server, which improves the processing capacity and stability of the system, improves the availability of the system under high concurrency, and facilitates the timely processing of the student answer data.
[0090] Step S105: Process the student's answer data through the business server and store it as a student's answer record.
[0091] Specifically, student answer records are stored in the database and cache cluster.
[0092] In some embodiments, key data such as total score and accuracy rate are calculated through question settings and student answers, and wrong question analysis is provided for the student answer records.
[0093] Optionally, the wrong questions analysis and answer activity data analysis are performed on the students' answer records to generate an analysis report.
[0094] After students finish answering and submitting their answers, the system will make judgments based on the correct options, the correctness of true or false questions, the content of fill-in-the-blank questions, etc., and include the wrong questions in the activity's wrong question collection. The system will then automatically analyze the categories and test points of the questions included in the wrong question collection, and provide feedback to students on weak test points.
[0095] In some embodiments, the system uses Apache Doris real-time analytical database for data statistics and analysis. Administrators can view the average score, highest score, lowest score and segmented data statistics of all records submitted by students, and can count the proportion of all students' correct answers to multiple-choice questions, true or false answers to judgment questions, and correct answers to fill-in-the-blank questions in objective questions.
[0096] Optionally, after an activity is created, the system will create a question pool based on the categories and test points contained in the question group in the activity. When a student answers a question in the pool once, the progress increases. If the administrator subsequently adds questions to the categories or test points, the progress limit of the activity will also increase.
[0097] In some embodiments, all student answer records are obtained; a real-time analytical database is used to perform data statistics and analysis on the student answer records to generate an analysis report; in response to the first instruction, the analysis report is displayed on the student analysis page. The analysis report includes the average score, the highest score, the lowest score, segmented data statistics, the correct and incorrect ratio of multiple-choice questions, the correct and incorrect ratio of true and false questions, and the correct and incorrect ratio of fill-in-the-blank questions.
[0098] In this embodiment, the student's answer data is processed by the business server and stored as a student's answer record, so as to achieve long-term storage and efficient access to the data, which is conducive to data analysis and identification of the student's learning situation.
[0099] Steps S101 to S105 shown in the embodiment of the present application are as follows: creating original questions; determining target test points and the number of target questions, creating question combinations based on the target test points and the number of target questions, improving the pertinence of questions and learning efficiency; using a random algorithm to generate target questions based on the question combinations, providing personalized services for students, and thus improving user experience; obtaining student answer data for target questions, converting the student answer data into target requests, and distributing the target requests to the business server for processing after load balancing through a reverse proxy server, which is conducive to efficiently processing a large number of concurrent requests, avoiding overloading of a single server, and improving the efficiency of answering questions; processing the student answer data through the business server and storing it as student answer records, which are stored in the database and cache cluster, which is conducive to data analysis and identifying the student's learning situation.
[0100] See also Figure 2In some embodiments, step S103 may include but is not limited to steps S201 to S203:
[0101] Step S201, obtaining the preset test point ratio and the target test points and target question numbers in the question combination.
[0102] Specifically, the preset test point ratio refers to the proportion of each test point in the question combination.
[0103] In step S201 of some embodiments, the preset test point ratio can be set by the user or generated by the system according to historical data. For example, a certain test point may account for 30% of the total number of test questions, while another test point may account for 20%.
[0104] In this embodiment, obtaining the preset test point ratio and the target test points and target question numbers in the question combination is conducive to reasonably allocating the ratio of each test point and preparing for the subsequent generation of target questions.
[0105] Step S202, determining the number of test point questions according to the preset test point ratio and the target number of questions.
[0106] In step S202 of some embodiments, how many questions need to be generated for each test point (ie, the number of test point questions) is determined based on a preset test point ratio and a target number of questions.
[0107] Step S203, determining the target question from the original questions of the target test point according to the number of test point questions.
[0108] In step S203 of some embodiments, the number of test point questions is determined, and then the target question is selected from the original questions corresponding to each test point according to the number of test point questions.
[0109] In this embodiment, the target questions are determined from the original questions of the target test point according to the number of test point questions, which is conducive to optimizing the generation of the target questions so that the generated test questions can better meet the expected test point requirements.
[0110] See also Figure 3 In some embodiments, step S103 may include but is not limited to steps S301 to S304:
[0111] Step S301, obtaining correctly answered questions and incorrectly answered questions;
[0112] In step S301 of some embodiments, during the student's repeated answering process, correctly answered questions and incorrectly answered questions are obtained.
[0113] Step S302, excluding the correctly answered questions and the incorrectly answered questions from the question combination to obtain the unanswered questions;
[0114] In step S302 of some embodiments, correctly answered questions and incorrectly answered questions are excluded from the original questions of the target test site to obtain unanswered questions.
[0115] Step S303, obtaining the weight of correct answers, the weight of incorrect answers and the weight of unanswered answers;
[0116] In step S303 of some embodiments, the correct answer weight, the incorrect answer weight and the unanswered answer weight may be set by the user or generated by the system based on historical data.
[0117] Furthermore, the weights of correct answers, wrong answers, and unanswered questions can be dynamically adjusted according to the student's knowledge mastery. For example, if the user answers more and more questions correctly, the weights of unanswered questions can be relatively increased, thereby encouraging the user to challenge more difficult questions.
[0118] Step S304, combining the correct answer weights with the correct answer weights, combining the incorrect answer weights with the incorrect answer weights, and combining the unanswered questions with the unanswered weights, to generate weighted questions and obtain target questions.
[0119] In step S304 of some embodiments, a weighted score is calculated based on correctly answered questions, correct answer weights, incorrectly answered questions, incorrect answer weights, unanswered questions, and unanswered weights.
[0120] Optionally, the expression for the weighted score is as follows:
[0121] Weighted score = (weight of correct answers × number of correctly answered questions) + (weight of incorrect answers × number of incorrectly answered questions) + (weight of unanswered questions × number of unanswered questions)
[0122] Optionally, the weighting formula can be further adjusted based on information from more dimensions, for example, by adding factors such as the user's learning progress and the review cycle of the learned content.
[0123] Furthermore, the questions are sorted by weighted scores, so that the most appropriate questions are selected and recommended to users.
[0124] In this embodiment, correctly answered questions are combined with correct answer weights, incorrectly answered questions are combined with incorrect answer weights, and unanswered questions are combined with unanswered weights to generate weighted questions to obtain target questions. The weighted generation process can effectively help the system recommend questions to users, thereby achieving personalized learning and improving answering efficiency and effectiveness.
[0125] Figure 4 This is a system architecture diagram of the answering method provided in the embodiment of the present application applied to the student online answering system.
[0126] Among them, the student online answering system is composed of six parts: answer server answer-server, applet / web server web-server, reverse proxy server nginx, asynchronous message service message-server, high-availability distributed cache cluster Codis, and data storage MySQL. The reverse proxy server nginx is located on the upper layer of the web browser web-browser, the web server web-server is located on the upper layer of the reverse proxy server nginx, the message processing server message-server is located on the upper layer of the web server web-server, and the distributed cluster Codis and data storage MySQL are located on the upper layer of the web-server. The answering system server provides the functions and data display of the management system and the student operation page response; the reverse proxy server nginx performs load balancing on the request; the web server web-server uses the tomcat server. The distributed cluster Codis is used to cache the question data operated by the administrator, the classification and test points of the question bank, the classification and test points of the question range in the answering activity, and the start time, end time, number of answers and other basic settings of the activity. The data storage MySQL is used to store the question id, question selection options, answer content, answer time, score and correct rate generated by the answering activity and the students. Among them, the message processor is a program written in Java, running in the web server; the distributed cluster Codis is used to cache the data operated by administrators and students.
[0127] Furthermore, taking the example of students starting to answer questions, the answer server answer-server creates an answer record for the corresponding activity for the students, and randomly asks questions according to the classified question groups set in the activity. The data generated during the students' answering process is processed by the reverse proxy server nginx through http requests, and the web server web-server receives the current request information and saves it to the cache cluster Codis and the data storage MySQL. Finally, the students submit the answer record to the answer server answer-server, which instantly calculates the total score and accuracy of the corresponding questions, collects the corresponding wrong questions, and displays the question analysis.
[0128] Figure 5 is an optional flowchart of the question answering method provided in the embodiment of the present application. Figure 5 The method may include but is not limited to the following steps.
[0129] Step 1: The administrator selects questions from the categories in the question bank and creates an activity.
[0130] Among them, the administrator first creates questions through certain rules of document import, Excel import, self-creation, etc., and stores them in the set test points and categories.
[0131] It is understandable that the administrator can create multiple question combinations in the question-answering activity. The question group contains multiple categories or test points that need to be asked and sets the number of questions required. The students' record questions are randomly selected from the set question groups.
[0132] Furthermore, after completing the question set creation and necessary activity settings, the system implements asynchronous creation and processing of question bank data through message-server.
[0133] In some embodiments, the system uses a random algorithm to intelligently generate questions based on a preset question set and generates an exclusive answer record for each student.
[0134] Optionally, the system uses a random algorithm to intelligently generate questions based on a preset question set, and generates questions for the categories or test points selected in this answering activity in a certain proportion. In the process of repeated answering, students can choose to give priority to correct questions so that they will not appear repeatedly and to give priority to wrong questions next time, and generate an exclusive answer record for each student.
[0135] Step 2: Generate messages and distribute requests through nginx.
[0136] Among them, the reverse proxy server nginx performs load balancing on the interface requests and evenly distributes the traffic to the tomcat clusters of each business server. It can be understood that the reverse proxy server nginx performs load balancing on the requests.
[0137] Step 3: The web server receives the request and stores the data.
[0138] The web server receives the request and caches the question data, question bank classification and test points operated by the administrator. Optionally, the web server web-server adopts a tomcat server.
[0139] Step 4: The student enters the answering page and initiates a request again when submitting the record after completing the answering.
[0140] Among them, the student enters the answering page, and initiates a request again when submitting the record after completing the answer. The data generated during the student's answering process is processed by the reverse proxy server nginx through http request, and the web server web-server receives the current request information.
[0141] Step 5, calculate the business data required in the record and store it in the cache and database.
[0142] Among them, tomcat (i.e. web server) receives http requests, processes and stores the question selection options, answer content, answer time, scores and extracted questions generated by the students in the process of answering in the MySQL database and Codis cache cluster to achieve data persistence and fast access.
[0143] Step 6: Conduct data analysis on the answer records.
[0144] When students submit their records, the total score, accuracy rate and other key data are calculated based on the question settings and the students' answers. In addition, functions such as wrong question analysis, answer activity data analysis, and learning progress are provided for the students' answer records.
[0145] It is understandable that after students complete and submit their answers, the system will make judgments based on the correct options set, the correctness of true or false questions, the content of fill-in-the-blank questions, etc., and include the wrong questions in the activity's wrong question collection, and then conduct automated analysis of the categories and test points of the questions included in the wrong question collection, and provide feedback to students on weak test points.
[0146] Optionally, the system uses Apache Doris real-time analytical database for data statistics and analysis. Administrators can view the average score, highest score, lowest score and segmented data statistics of all records submitted by students, and can count the proportion of all students in the objective questions for multiple-choice questions, true or false questions, and correct answers for fill-in-the-blank questions.
[0147] Optionally, after an activity is created, the system will create a question pool based on the categories and test points contained in the question group in the activity. When a student answers a question in the pool once, the progress increases. If the administrator subsequently adds questions to the categories or test points, the progress limit of the activity will also increase.
[0148] It is understandable that this application can automatically collect and analyze students' answer data, quickly generate learning reports and wrong question analysis, help educators accurately grasp the teaching results, and adjust teaching strategies in a timely manner. And the use of a new technical framework is conducive to the stable operation of the system under high concurrency and large data volume, and at the same time has good scalability and maintainability, adapting to future technology development trends.
[0149] It should be noted that this application adopts multiple security protection measures and provides multi-device compatibility. It improves the security of user data, answer records and question bank content, protects user privacy from being leaked, and ensures that when different devices and browsers have different levels of support for Web standards, they can all operate and display normally.
[0150] See also Figure 6The embodiment of the present application also provides a question answering device, which can implement the above-mentioned question answering method, and the device includes:
[0151] The topic creation module 601 is used to create an original topic, and the original topic belongs to the corresponding candidate test point;
[0152] A question combination creation module 602 is used to determine a target test point and a target number of questions, and to create a question combination according to the target test point and the target number of questions, wherein the target test point is determined from candidate test points;
[0153] A topic generation module 603 is used to generate a target topic according to the topic combination using a random algorithm;
[0154] The distribution processing module 604 is used to obtain the student answer data of the target question, convert the student answer data into a target request, and distribute the target request to the business server for processing after load balancing through the reverse proxy server. The student answer data includes the target question, question options, answer content, answer time and score;
[0155] The storage module 605 is used to process the student's answer data through the business server and store it as a student's answer record. The student's answer record is stored in the database and cache cluster.
[0156] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0157] The embodiment of the present application also provides an electronic device, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the above-mentioned answering method when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a car computer, etc.
[0158] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0159] See also Figure 7 , Figure 7 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:
[0160] The processor 701 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;
[0161] The memory 702 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 702 can store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 702, and the processor 701 calls and executes the answering method of the embodiment of this application;
[0162] Input / output interface 703, used to implement information input and output;
[0163] Communication interface 704, used to realize communication interaction between the device and other devices, which can be realized through wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WIFI, Bluetooth, etc.);
[0164] A bus 705 that transmits information between the various components of the device (e.g., the processor 701, the memory 702, the input / output interface 703, and the communication interface 704);
[0165] The processor 701 , the memory 702 , the input / output interface 703 and the communication interface 704 are connected to each other in communication within the device via a bus 705 .
[0166] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program, and the computer program implements the above-mentioned question-answering method when executed by a processor.
[0167] It can be understood that the contents of the above method embodiments are all applicable to the present storage medium embodiments, the functions specifically implemented by the present storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0168] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0169] The answering method, answering device, electronic device and storage medium provided in the embodiment of the present application, which creates original questions; determines the target test points and the number of target questions, creates question combinations according to the target test points and the number of target questions, improves the pertinence of questions and learning efficiency; uses a random algorithm to generate target questions according to the question combination, provides personalized services for students, and thus improves user experience; obtains the student answer data of the target question, converts the student answer data into a target request, distributes the target request to the business server for processing after load balancing through a reverse proxy server, which is conducive to efficiently processing a large number of concurrent requests, avoids overloading of a single server, and improves the efficiency of answering questions; processes the student answer data through the business server and stores it as a student answer record, and the student answer record is stored in a database and a cache cluster, which is conducive to data analysis and identification of the student's learning situation. The embodiment described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided by the embodiment of the present application. It is known to those skilled in the art that with the evolution of technology and the emergence of new application scenarios, the technical solution provided by the embodiment of the present application is also applicable to similar technical problems.
[0170] Those skilled in the art will appreciate that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.
[0171] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0172] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.
[0173] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0174] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0175] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0176] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0177] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0178] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store programs.
[0179] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the present invention is not limited thereto. Any modification, equivalent substitution and improvement made by a person skilled in the art without departing from the scope and essence of the present invention should be within the scope of the rights of the present invention.
Claims
1. A method for answering questions, characterized in that: The method comprises the following steps: Creating an original question, wherein the original question belongs to a corresponding candidate test point; Determine a target test site and a target number of questions, and create a question combination according to the target test site and the target number of questions, wherein the target test site is determined from the candidate test sites; Generate a target question according to the question combination using a random algorithm; Obtaining the student answer data of the target question, converting the student answer data into a target request, and distributing the target request to the business server for processing after load balancing through a reverse proxy server, wherein the student answer data includes the target question, question options, answer content, answer time, and score; The student answer data is processed by the business server and stored as a student answer record, and the student answer record is stored in a database and a cache cluster.
2. The method according to claim 1, characterized in that The creating of the original topic includes: Create original questions by importing documents, tables or creating them yourself; The original questions are classified into candidate test points.
3. The method according to claim 1, characterized in that The method further comprises: Asynchronous creation and processing of question bank data is achieved through a message server, wherein the question bank data is composed of the question combination.
4. The method according to claim 1, characterized in that: The step of using a random algorithm to generate a target question according to the question combination includes: Obtain the preset test point ratio and the target test points and target question numbers in the question combination; Determine the number of test point questions according to the preset test point ratio and the target number of questions; Determine the target questions from the original questions of the target test point according to the number of questions of the test point.
5. The method according to claim 1, characterized in that The step of using a random algorithm to generate a target question according to the question combination includes: Get the correct and incorrectly answered questions; Excluding the correctly answered questions and the incorrectly answered questions from the question combination to obtain unanswered questions; Get the weight of correct answer, weight of wrong answer and weight of unanswered answer; The correctly answered questions are combined with the correct answer weights, the incorrectly answered questions are combined with the incorrect answer weights, and the unanswered questions are combined with the unanswered weights to perform weighted question generation to obtain target questions.
6. The method according to claim 1, characterized in that The method further comprises: Calculate the total score and correctness rate according to the student's answer record; Conduct wrong question analysis and answer activity data analysis on the student's answer records and generate an analysis report.
7. The method according to claim 6, characterized in that The analysis of wrong questions and answering activity data of the student's answering records is performed to generate an analysis report, including: Get all students' answer records; Using a real-time analytical database to perform data statistics and analysis on the student's answer records and generate an analysis report; In response to the first instruction, the analysis report is displayed on the student analysis page, and the analysis report includes the average score, the highest score, the lowest score, segmented data statistics, the correct and incorrect ratio of multiple-choice questions, the correct and incorrect ratio of true and false questions, and the correct and incorrect ratio of fill-in-the-blank questions.
8. A question answering device, characterized in that: The device comprises: A question creation module, used to create an original question, wherein the original question belongs to a corresponding candidate test point; A question combination creation module, used to determine a target test point and a target number of questions, and to create a question combination according to the target test point and the target number of questions, wherein the target test point is determined from the candidate test points; A topic generation module, used for generating a target topic according to the topic combination by using a random algorithm; A distribution processing module is used to obtain the student answer data of the target question, convert the student answer data into a target request, and distribute the target request to the business server for processing after load balancing through a reverse proxy server, wherein the student answer data includes the target question, question options, answer content, answer time and score; The storage module is used to process the student answer data through the business server and store it as a student answer record, and the student answer record is stored in the database and cache cluster.
9. An electronic device, characterized in that: The electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.