Online racing answering test paper judging method and online racing answering system

By initializing the counter and global serial numbers in the online competition answering system, and generating or updating the timestamps according to the counter count, the problem of poor performance in high concurrency scenarios is solved, the uniqueness and order of timestamps are achieved, and the system performance is improved.

CN119941468AActive Publication Date: 2025-05-06GUIZHOU WUJIANG HYDROPOWER DEV +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510397944.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-01
Publication Date
2025-05-06
Estimated Expiration
2045-04-01

AI Technical Summary

Technical Problem

The existing online real-time competition answering system has poor performance in high concurrency scenarios, resulting in the use of mutex locks in the critical area, resulting in performance degradation.

Method used

By initializing the counter and global sequence number on each node thread, and generating a timestamp or updating the node thread according to the counter number when receiving the user's answering operation, ensuring the uniqueness and order of the timestamps are avoided in the critical area.

Benefits of technology

This method reduces the load of a single thread, alleviates competition problems, ensures the uniqueness and order of timestamps, is suitable for high concurrency scenarios, and improves system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119941468A_ABST
    Figure CN119941468A_ABST
Patent Text Reader

Abstract

The invention relates to an online racing answering test paper judgment method and an online racing answering system, and belongs to the technical field of data processing. The method comprises the following steps: performing initialization setting on each node thread; in response to the received answering operation of the user for one time, performing set condition judgment for one time; if the number of times of the counter of the current node thread is smaller than the preset timestamp distribution number, generating a timestamp based on the current node thread, the number of times of the counter of the current node thread and the global serial number, and increasing the number of times of the counter of the current node thread by one; if the number of times of the counter of the current node thread is larger than or equal to the preset timestamp distribution number, the node thread is updated, the global serial number is automatically increased by one time, and a timestamp is generated through the updated node thread. By means of the mode, the uniqueness and the sequence of the timestamps can be guaranteed, then the sequence processing of the paper judging operation is determined by means of the uniqueness and the sequence of the timestamps, and the method can be suitable for high-concurrency scenes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to an online speed-answering question grading method and an online speed-answering question system. Background Art

[0002] The traditional way of learning and assessing knowledge and skills is relatively simple, mainly relying on paper examination papers or simple online tests. This model is mainly based on static assessment, with fixed content and mechanical processes, which is difficult to stimulate students' interest and initiative. Due to the lack of interactivity and fun, students often passively accept knowledge during the learning process, and it is difficult to form deep participation and long-term memory, resulting in limited learning effects. At the same time, this type of method is difficult to reflect the students' learning level in real time, and cannot provide individuals with targeted feedback and improvement suggestions.

[0003] With the rapid development of information technology, knowledge dissemination and assessment methods are gradually transforming towards intelligence and interactivity. Some innovative learning and assessment methods based on real-time competition answering systems have emerged. This method introduces a competition mechanism to gamify the traditional boring learning process, and combines real-time interaction and ranking feedback to stimulate students' learning enthusiasm and competitive awareness. Students can not only consolidate their knowledge by answering questions, but also feel a sense of participation and accomplishment in the competition, thereby greatly improving their learning effect. This method is more interesting and participatory, and can effectively meet the diverse needs of modern education.

[0004] During the study, it was found that the existing online real-time contest answering system is mainly presented in the form of an online platform. The answerers log in to the online platform through their own devices using a browser to answer the questions. When the user answers the questions, each operation requires a thread to process it. The existing system assigns a timestamp to the user each time the user performs an operation to verify the order of thread processing. However, in some scenarios, there are a large number of users answering questions through the platform at the same time. For example, the business assessment organized by the company may involve hundreds of employees answering the same set of test papers. The existing method uses a mutex in the critical section of the timestamp allocator, causing a large number of concurrent threads to access the critical section, which leads to poor performance. Summary of the invention

[0005] In order to solve the above-mentioned problems in the prior art, the present invention provides an online speed-answering test paper grading method and an online speed-answering test system.

[0006] In a first aspect, an embodiment of the present application provides a method for grading an online speed-answering question, comprising: in response to the start of answering a question, performing initialization settings for each node thread; the initialization settings include initializing the counter corresponding to each node thread and initializing a global serial number; in response to receiving a user's answering operation, performing a set condition judgment; if the number of the counter of the current node thread is less than the preset timestamp allocation number, a timestamp is generated based on the current node thread, the number of the counter of the current node thread and the global serial number, and the number of the counter of the current node thread is incremented once; if the number of the counter of the current node thread is greater than or equal to the preset timestamp allocation number, the node thread is updated, the global serial number is incremented once, and a timestamp is generated through the updated node thread; the grading process is processed in sequence based on the timestamp of each thread.

[0007] Optionally, generating a timestamp based on the current node thread, the number of the counter of the current node thread and the global serial number includes: calling a StringToInteger function, and generating a timestamp in combination with the current node thread, the number of the counter of the current node thread and the global serial number; wherein the StringToInteger function is used to sequentially concatenate the current node thread, the number of the counter of the current node thread and the global serial number into a string, and convert it into an integer.

[0008] Optionally, updating the node thread includes: incrementing the current node thread once; performing a modulo operation on the current node thread incremented once and the product of the total number of node threads and the preset timestamp allocation times to determine the updated node thread.

[0009] Optionally, generating a timestamp through the updated node thread includes: calling the StringToInteger function, and generating a timestamp in combination with the updated node thread, the number of the updated node thread and the self-incremented global serial number; wherein the StringToInteger function is used to sequentially concatenate the updated node thread, the number of the updated node thread and the self-incremented global serial number to generate a timestamp into a string, and convert it into an integer.

[0010] Optionally, the method also includes: in response to the type of question being a subjective question, receiving an answer to the subjective question submitted by an answering terminal; generating multiple levels of reference answers from a unique reference answer in a random masking manner; wherein a greater masking ratio corresponds to a lower level; inputting the answer to the subjective question submitted by the answering terminal and the multiple levels of reference answers into a pre-trained language representation model to determine a score for the subjective question answer of the answering terminal; wherein the pre-trained language representation model is used to determine the matching probability between the answer to the subjective question submitted by the answering terminal and each level of reference answers, and outputting the level of the reference answer with the highest matching probability; different levels correspond to different scores.

[0011] Optionally, the pre-trained language representation model is a pre-trained Bert model.

[0012] Optionally, the method also includes: in response to the type of question being a subjective question, receiving an answer to a subjective question submitted by an answering terminal; extracting key text from a unique reference answer; wherein the key text includes keywords or key phrases; for each keyword, determining synonyms of the keyword, and generating a word set corresponding to each keyword; extracting key text from the answer to the subjective question submitted by the answering terminal; performing similarity matching between the key text in the answer to the subjective question submitted by the answering terminal and the word set corresponding to each keyword; and determining the score of the subjective question answer of the answering terminal based on the matching result.

[0013] Optionally, the method further includes: after receiving answers to the same question from multiple answering terminals, displaying the answer result of each answering terminal and performing voice broadcast.

[0014] Optionally, the method further includes: after every N times of answering questions, sorting out the answer results of all answering terminals and performing a ranking update.

[0015] In a second aspect, an embodiment of the present application provides an online speed-answering system, including: A central control module is used to execute the online speed answering and grading method provided in the first aspect; a plurality of answering terminals are respectively connected to the central control module, and each of the answering terminals is used to respond to the user's input and upload the answer to the central control module.

[0016] The beneficial effects of the present invention include: First, in response to the start of answering questions, each node thread is initialized and set, and the initialization setting involves the initialization of the counter and the global sequence number corresponding to each node thread. Then, each time a user's answering operation is received, a set condition judgment is performed. If the number of the counter of the current node thread is less than the preset timestamp allocation number, a timestamp is generated based on the current node thread, the number of the counter of the current node thread and the global sequence number, and the number of the counter of the current node thread is incremented once; if the number of the counter of the current node thread is greater than or equal to the preset timestamp allocation number, the node thread is updated, the global sequence number is incremented once, and the timestamp is generated by the updated node thread; finally, the grading process is processed in sequence based on the timestamps of each thread. First, the above method can reduce the load of a single thread and alleviate some competition problems through thread polling and threshold control (specifically, it is realized by setting the counter and the global sequence number). Second, the uniqueness and sequence of the timestamp can be guaranteed by the above method, and then the uniqueness and sequence of the timestamp can be used to determine the sequential processing of the grading operation, which can be applied to high-concurrency scenarios (such as dozens of users answering questions at the same time), without the need to use a mutex in the critical section, and the overall performance is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A flowchart of the steps of an online speed-answering test grading method provided by an embodiment of the present invention; Figure 2 A flowchart of another method for grading online quick-answer questions provided by an embodiment of the present invention; Figure 3 A display effect diagram of an online speed quiz provided by an embodiment of the present invention; Figure 4 Another display effect diagram of online quick-answering competition provided by an embodiment of the present invention; Figure 5 A module block diagram of an online speed-answering system provided by an embodiment of the present invention; Figure 6 A module block diagram of another online speed-answering system provided by an embodiment of the present invention; Figure 7 A module block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0018] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0019] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0020] In actual research, it was found that the existing online real-time competition answering system is mainly presented in the form of an online platform. The answerer uses the browser to log in to the online platform through his own device to answer the questions. When the user answers the questions, each operation requires a thread to process it. The existing system assigns a timestamp to the user every time he performs an operation to verify the order of thread processing. However, in some scenarios, there are a large number of users answering questions through the platform at the same time. For example, the business assessment organized by the company may involve hundreds of employees answering the same set of test papers. The existing method uses a mutex in the critical section of the timestamp allocator, causing a large number of concurrent threads to access the critical section, which will lead to poor performance.

[0021] In view of the above problems, the present application proposes the following embodiments to solve the above technical problems.

[0022] See also Figure 1 The embodiment of the present application provides an online speed test grading method, including: step 101 to step 104.

[0023] Step 101: In response to the start of answering questions, initialization settings are performed for each node thread.

[0024] The initialization settings include initializing the counters corresponding to each node thread and initializing the global sequence number.

[0025] Specifically, initialize the counter corresponding to each node thread And the global sequence number .

[0026] Step 102: In response to receiving a user's answering operation, a set condition judgment is performed to determine whether the number of times of the counter of the current node thread is less than a preset timestamp allocation number.

[0027] During the user's answering process, each answering operation requires a thread to process it. Since the number of threads in the central control module is limited, a timestamp is needed to distinguish the order of processing. The setting condition judgment is specifically based on the number of counters of the current node thread. Is it less than the preset timestamp allocation times? If the current node thread counter counts Less than the preset timestamp allocation times , then execute step 103. If the number of times of the counter of the current node thread is Greater than or equal to (i.e. not less than) the preset timestamp allocation times , then execute step 104.

[0028] It should be noted that the above preset timestamp allocation times Indicates the upper limit of the number of timestamps that can be allocated by a single thread.

[0029] Step 103: Generate a timestamp based on the current node thread, the number of times of the counter of the current node thread and the global sequence number, and the number of times of the counter of the current node thread is incremented once.

[0030] That is, if the counter of the current node thread counts Less than the preset timestamp allocation times , then based on the current node thread, the number of times the counter of the current node thread And the global sequence number jointly generates the timestamp , and the logic counter increments: .

[0031] Step 104: Update the node thread, increment the global sequence number once, and generate a timestamp through the updated node thread.

[0032] That is, if the number of times the counter of the current node thread is greater than or equal to the preset timestamp allocation number, the node thread needs to be updated, that is, other node threads are selected to perform the processing task. At this time, the global sequence number is incremented once: ; Then, the timestamp is generated by the updated node thread.

[0033] It should be noted that the method of using the updated node thread to generate the timestamp is consistent with the above method, that is, the timestamp is generated based on the updated node thread, the number of the counter of the updated node thread, and the global sequence number. The number of the counter of the updated node thread is the initialized value. .

[0034] Step 105: Process the paper grading process in sequence based on the timestamp of each thread.

[0035] Finally, each thread can process the grading task in sequence according to the timestamp order.

[0036] In summary, the online speed test grading method provided in the embodiment of the present application has the following beneficial effects: First, in response to the start of answering questions, each node thread is initialized and set, and the initialization setting involves the initialization of the counter and the global sequence number corresponding to each node thread. Then, each time a user's answering operation is received, a set condition judgment is performed. If the number of the counter of the current node thread is less than the preset timestamp allocation number, a timestamp is generated based on the current node thread, the number of the counter of the current node thread and the global sequence number, and the number of the counter of the current node thread is incremented once; if the number of the counter of the current node thread is greater than or equal to the preset timestamp allocation number, the node thread is updated, the global sequence number is incremented once, and the timestamp is generated by the updated node thread; finally, the grading process is processed in sequence based on the timestamps of each thread. First, the above method can reduce the load of a single thread and alleviate some competition problems through thread polling and threshold control (specifically, it is realized by setting the counter and the global sequence number). Second, the uniqueness and sequence of the timestamp can be guaranteed by the above method, and then the uniqueness and sequence of the timestamp can be used to determine the sequential processing of the grading operation, which can be applied to high-concurrency scenarios (such as dozens of users answering questions at the same time), without the need to use a mutex in the critical section, and the overall performance is improved.

[0037] Optionally, the above steps generate a timestamp based on the current node thread, the number of times the current node thread's counter and the global serial number, including: calling the StringToInteger function, and generating a timestamp in combination with the current node thread, the number of times the current node thread's counter and the global serial number; wherein the StringToInteger function is used to sequentially concatenate the current node thread, the number of times the current node thread's counter and the global serial number into a string, and convert it into an integer.

[0038] Specifically, calling the StringToInteger function to generate a timestamp can be expressed as: ;in, Represents the generated timestamp, StringToInteger represents the StringToInteger function, Represents the global sequence number, Indicates the sequence number of the current node thread, Indicates the number of times the counter of the current node thread is counted.

[0039] That is, for the StringToInteger function, its input is the global sequence number, the node thread sequence number and the counter, and the output is the integer converted from the concatenated string lock as a unique timestamp. By concatenating the global sequence number, the node thread sequence number and the counter, a unique timestamp can be generated. Specifically, the global sequence number determines the uniqueness across threads, the node sequence number ensures the uniqueness within a thread, and the counter ensures the uniqueness within a single allocation.

[0040] Optionally, the above step updates the node thread, including: incrementing the current node thread once; performing a modulo operation on the current node thread incremented once and the product of the total number of node threads and a preset number of times of timestamp allocation to determine an updated node thread.

[0041] The above update node thread can refer to the following formula: ; where mod represents the modulo operation, Indicates the total number of node threads of the central control module. Indicates the preset timestamp allocation times.

[0042] It should be noted that by implementing circular polling through modulo operation, it can be ensured that each thread can be allocated a timestamp in order, that is, fairness between node threads is maintained, and resource waste can be avoided.

[0043] Optionally, the above steps generate a timestamp through the updated node thread, including: calling the StringToInteger function, and generating a timestamp by combining the updated node thread, the number of updated node threads and the self-incremented global serial number; wherein the StringToInteger function is used to sequentially concatenate the updated node thread, the number of updated node threads and the self-incremented global serial number to generate a timestamp into a string, and convert it into an integer.

[0044] It should be noted that the process and formula for generating a timestamp using the updated node thread are the same as those in the aforementioned embodiment and will not be elaborated here. It can be understood that the updated node thread can be used as the subsequent current node thread.

[0045] The above steps are fully described below, that is, the timestamp allocation mechanism provided in the embodiment of the present application is as follows, including: Step 1: For each node thread ,in, ; Initialize counter and global sequence number .

[0046] Step 2: If , then do the following: Call the StringToInteger function to generate a timestamp: . Logical counter increment: .

[0047] Step 3: If , perform the following operations: Global sequence number increment: . Update the node number: The fairness between node threads is maintained through modulo operation. Call the StringToInteger function to generate a timestamp: .

[0048] It should be noted that the explanation of the parameters in the above formula can refer to the description in the above embodiment and will not be repeated here.

[0049] After the timestamps are allocated, the threads can be processed in order according to the timestamps.

[0050] In addition, the study found that the automatic grading function of the existing online answering system is usually only able to score objective questions, and cannot quickly score subjective questions. That is, subjective questions usually have diverse answers from users, and the answers cannot be directly compared. Therefore, the present application provides the following embodiments to solve this problem.

[0051] First, see Figure 2 Optionally, the online competition answering and grading method provided by the present application also includes: steps 201 to 203.

[0052] Step 201: In response to the type of question being a subjective question, receiving an answer to the subjective question submitted by a question answering terminal.

[0053] Step 202: Generate multiple levels of reference answers based on the unique reference answer in a random masking manner.

[0054] Among them, the larger the coverage ratio, the lower the corresponding level.

[0055] Illustratively, in the embodiment of the present application, the grading can be carried out according to 50% occlusion as level 1, 40% occlusion as level 2, 30% occlusion as level 3, 20% occlusion as level 4, 10% occlusion as level 5, and 0% occlusion as level 6.

[0056] For example, the only reference answer is aaabbbcccd, where the characters abcd represent specific text content, and 20% occlusion can correspond to aa_bbb_cccd.

[0057] Step 203: Input the answers to the subjective questions submitted by the answering terminal and reference answers of multiple levels into the pre-trained language representation model to determine the scores of the subjective questions of the answering terminal.

[0058] Among them, the pre-trained language representation model is used to determine the matching probability between the answers to subjective questions submitted by the answering terminal and the reference answers of each level, and output the level of the reference answer with the highest matching probability; different levels correspond to different scores.

[0059] That is, the input of the pre-trained language representation model is the answers to the subjective questions submitted by the answering terminal and the reference answers of multiple levels, and the output of the pre-trained language representation model is the score of the subjective answer of the answering terminal, and the pre-trained language representation model is used to determine the matching probability between the answers to the subjective questions submitted by the answering terminal and the reference answers of each level, and output the level of the reference answer with the highest matching probability; different levels correspond to different scores. For example, level 1 corresponds to 1 point, level 2 corresponds to 2 points, level 3 corresponds to 3 points, and so on.

[0060] As a method for determining the matching probability between the answers to subjective questions submitted by the answering terminal and the reference answers of each level, the marking problem can be converted into a text with the user's answer as the previous sentence and the reference answer as the next sentence of the text, and the matching probability can be determined by predicting the possibility of the reference answers of different levels as the next sentence. In this way, a reasonable subjective question marking method can be provided, which has the characteristics of low inference overhead and strong real-time performance.

[0061] As another method of determining the matching probability between the answers to the subjective questions submitted by the answering terminal and the reference answers of each level, the matching probability can be determined by the similarity between the answers to the subjective questions submitted by the answering terminal and the reference answers of each level. In this way, subjective questions can be graded more conveniently.

[0062] Optionally, the pre-trained language representation model is a pre-trained Bert model.

[0063] The mechanism of the Bert model can be as follows, including: In this formula, represents the output of the pre-trained Bert model, Indicates the subjective question file submitted by the answering terminal. Indicates the level Reference answer: and Represents two placeholders in the pre-trained Bert model; It means taking the maximum value among the reference answers of multiple levels, which corresponds to the maximum matching probability.

[0064] Second, optionally, the online speed answering and grading method provided in the embodiment of the present application also includes: in response to the type of question to be graded being a subjective question, receiving the answer to the subjective question submitted by the answering terminal; extracting the key text in the unique reference answer; wherein the key text includes keywords or key phrases; for each keyword, determining the synonyms of the keyword, and generating a word set corresponding to each keyword; extracting the key text in the answer to the subjective question submitted by the answering terminal; performing similarity matching between the key text in the answer to the subjective question submitted by the answering terminal and the word set corresponding to each keyword; and determining the score of the subjective question answer of the answering terminal based on the matching result.

[0065] That is, the embodiment of the present application also provides a method for grading answers to subjective questions, the core of which is to extract key text from the reference answer, then generate a set of synonyms, and then extract the keyword text from the user's subjective answer, and then perform similarity matching to determine the subjective question answer score of the answering terminal.

[0066] Assuming that there are 9 key texts in the reference answer and 8 of them are successfully matched in the user's subjective question file, the score is 8 / 9*full score value. It should be noted that the judgment method for successful matching can be that the similarity is greater than 80%. Of course, the above is only an example. In other embodiments, the full score value and the similarity threshold can be set according to needs and are not limited this time.

[0067] It can be seen that the embodiment of the present application provides a subjective question grading mechanism through synonym matching, through which it is possible to handle the diverse expressions of user answers, reduce the workload of manual grading, and improve grading efficiency.

[0068] Optionally, the online speed answering and grading method provided in the embodiment of the present application further includes: after receiving answers to the same question from multiple answering terminals, displaying the answer result of each answering terminal and performing voice broadcast.

[0069] Optionally, the online speed-answering and grading method provided in the embodiment of the present application further includes: after every N times of answering questions, sorting out the answering results of all answering terminals and performing a ranking update.

[0070] The value of N can be set according to the requirements. For example, the value of N can be 8, 10, 20, etc., which is not limited here.

[0071] The following is a demonstration of the effect of the online speed-answering test scoring method provided by the embodiment of the present application. Figure 3 In the figure, the answering process of multiple answering terminals is shown. For example, the business competition of Company A includes 6 answering terminals, corresponding to terminals 1, 2, 3, 4, 5 and 6. The current real-time first place is updated. The remaining answering time can also be displayed.

[0072] Figure 4 The score of this round of the business competition of Company A is shown. That is, after every N times of answering questions, the answer results of all answering terminals are sorted out and the ranking is updated. For example, the first place is station 5, which answered 8 questions correctly and scored 24 points. The sixth place is station 2, which answered 0 questions correctly and scored 0 points.

[0073] See also Figure 5 Based on the same inventive concept, an embodiment of the present application provides an online speed answering system, including: a central control module and multiple answering terminals.

[0074] The central control module is used to execute the online speed-answering test grading method provided in the above embodiment.

[0075] A plurality of answering terminals are respectively connected to the central control module, and each answering terminal is used to respond to the user's input and upload the answer to the central control module.

[0076] See also Figure 6 Optionally, the online speed answering system may also include: a display module, a voice broadcast module, a data storage module and a scoring module.

[0077] Among them, the display module, voice broadcast module, data storage module and scoring module are all connected to the central control module.

[0078] The display module is used to display the questions and the progress, answer ranking, etc. of each answering terminal; the display module can be specifically a TV or a projector. The voice broadcast module can be used to make voice broadcasts, such as the answer results, answer progress, ranking, remaining time, etc. of each answering terminal; the voice broadcast module can be specifically a speaker. The data storage module can be used to store the answer data of each answering terminal; the scoring module can be used for scoring.

[0079] Specifically, the central control module is responsible for the scheduling tasks between the other modules in the system. For example, the central control module can be connected to the answering terminal through a wireless network. The answering terminal can be any device with a browser function, such as a mobile phone, a notebook, etc. After the user connects to the central control module through the answering terminal, the terminal will obtain a unique ID for identity identification. Then the user can select the test paper to be answered through the terminal. After the selection is completed, the central control module will initiate a connection with the data storage module and obtain the data required for the test paper specified by the user. The data module can be any storage device with database service functions, such as Mysql (database management system), orcale (relational database management system), etc. After the data is obtained, the central control module will parse the question part of the data and dynamically generate HTML to present it to the answering terminal. HTML (Hyper Text Markup Language) includes a question display area, an answer area (including but not limited to a text input box, a list check box, etc.), and an interactive operation area (including common test system functions such as start test, submit, next page, etc.).

[0080] See also Figure 7 Based on the same inventive concept, the present application embodiment provides a module frame of an electronic device 700 that applies the above-mentioned online speed-answering and grading method. The electronic device 700 includes: at least one processor 701 ( Figure 7 Only one is shown), a memory 702, a computer program 703 stored in the memory 702 and executable on at least one processor 701, and when the processor 701 executes the computer program 703, the steps of the online speed answering and grading method in any of the aforementioned embodiments are implemented.

[0081] The electronic device 700 may be a server, a personal computer, a notebook computer, etc.

[0082] Those skilled in the art will understand that Figure 7 The electronic device 700 is merely an example and does not constitute a limitation on the electronic device 700 , and may include more or less components than those shown in the figure, or may combine certain components, or may include different components.

[0083] The processor 701 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0084] In some embodiments, the memory 702 may be an internal storage unit of the electronic device 700, such as a hard disk or memory of the electronic device 700. In other embodiments, the memory 702 may also be an external storage device of the electronic device 700, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the electronic device 700. Further, the memory 702 may also include both an internal storage unit of the electronic device 700 and an external storage device.

[0085] It should be noted that the above-mentioned systems, devices, etc. are based on the same concept as the method embodiments of the present application. The modules designed for the systems, the steps performed by the devices, and the technical effects brought about can all be found in the method embodiment section and will not be repeated here.

[0086] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0087] An embodiment of the present application further 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 steps in the above-mentioned method embodiments can be implemented.

[0088] An embodiment of the present application provides a computer program product. When the computer program product runs on a mobile terminal, the mobile terminal can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0089] 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 present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the camera / electronic device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electrical carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a disk or an optical disk.

[0090] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0091] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0092] In the embodiments provided in the present application, it should be understood that the disclosed devices / network equipment and methods can be implemented in other ways. For example, the device / network equipment embodiments described above are merely schematic. For example, the division of the modules or 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.

[0093] The units described 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.

[0094] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A method for grading online speed-answering questions, characterized in that: include: In response to the start of answering questions, initialization settings are performed for each node thread; the initialization settings include initializing a counter corresponding to each node thread and initializing a global sequence number; In response to receiving a question answering operation from a user, performing a setting condition judgment; If the number of the counter of the current node thread is less than the preset timestamp allocation number, a timestamp is generated based on the current node thread, the number of the counter of the current node thread and the global sequence number, and the number of the counter of the current node thread is incremented once; If the number of times of the counter of the current node thread is greater than or equal to the preset timestamp allocation number, the node thread is updated, the global sequence number is incremented once, and a timestamp is generated through the updated node thread; The grading process is processed sequentially based on the timestamp of each thread.

2. The online speed-answering test grading method according to claim 1, characterized in that: The generating a timestamp based on the current node thread, the number of times of the counter of the current node thread and the global sequence number includes: Calling the StringToInteger function and generating a timestamp by combining the current node thread, the number of the counter of the current node thread and the global sequence number; The StringToInteger function is used to sequentially concatenate the current node thread, the number of the counter of the current node thread and the global sequence number into a string, and convert it into an integer.

3. The online speed-answering test grading method according to claim 1, characterized in that: The updating node thread includes: Increment the current node thread once; A modulo operation is performed on the current node thread that has been incremented once and the product of the total number of node threads and the preset timestamp allocation times to determine the updated node thread.

4. The online speed-answering test grading method according to claim 3, characterized in that: The generating of the timestamp by the updated node thread includes: Calling the StringToInteger function and generating a timestamp by combining the updated node thread, the number of updated node threads and the self-incremented global sequence number; The StringToInteger function is used to sequentially concatenate the updated node thread, the number of updated node threads, and the self-incremented global sequence number generation timestamp into a string, and convert it into an integer.

5. The online speed-answering test grading method according to claim 1, characterized in that: The method further comprises: In response to the type of the question being a subjective question, receiving an answer to the subjective question submitted by the answering terminal; The unique reference answer is randomly masked to generate multiple levels of reference answers; the greater the masking ratio, the lower the corresponding level; Inputting the answers to the subjective questions submitted by the answering terminal and the reference answers of the multiple levels into the pre-trained language representation model to determine the scores of the answers to the subjective questions of the answering terminal; Among them, the pre-trained language representation model is used to determine the matching probability between the answers to the subjective questions submitted by the answering terminal and the reference answers of each level, and output the level of the reference answer with the highest matching probability; different levels correspond to different scores.

6. The online speed-answering test paper grading method according to claim 5, characterized in that: The pre-trained language representation model is a pre-trained Bert model.

7. The online speed-answering test paper grading method according to claim 1, characterized in that: The method further comprises: In response to the type of the question being a subjective question, receiving an answer to the subjective question submitted by the answering terminal; Extracting key text from a unique reference answer; wherein the key text includes keywords or key phrases; For each keyword, determine the synonyms of the keyword and generate a word set corresponding to each keyword; Extracting key text from the answers to the subjective questions submitted by the answering terminal; Performing similarity matching between the key text in the answer to the subjective question submitted by the answering terminal and the word set corresponding to each keyword; Based on the matching result, the subjective question answer score of the question answering terminal is determined.

8. The online speed-answering test scoring method according to claim 1, characterized in that: The method further comprises: After receiving answers to the same question from multiple answering terminals, the answer result of each answering terminal is displayed and voice broadcast is performed.

9. The online speed-answering test grading method according to claim 8, characterized in that: The method further comprises: After every N times of answering questions, the answer results of all answering terminals are sorted out and the ranking is updated.

10. An online speed-answering system, characterized in that: include: A central control module, used to execute the online speed-answering test grading method according to any one of claims 1 to 9; A plurality of answering terminals are respectively connected to the central control module, and each of the answering terminals is used to upload answers to the central control module in response to user input.

Citation Information

Patent Citations

  • Knowledge competition method, system and device and storage medium

    CN110390068A

  • NLP-based test paper text automatic correction method and system

    CN115080690A

  • Using time stamps to facilitate load reordering

    US20100205609A1

  • Reference counting for memory areas

    US20160291880A1