Data processing method and device, equipment and storage medium
By acquiring and filtering the heartbeat information and course access records of student terminals, the problem of cumbersome and inaccurate determination of course learning records and playback information in existing technologies is solved, and efficient and accurate determination of learning records and playback information is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-09-15
- Publication Date
- 2026-05-22
AI Technical Summary
The existing methods for determining course playback information and course learning records are cumbersome and have low accuracy, failing to accurately reflect students' learning progress.
By acquiring heartbeat information and course access records sent by student terminals, target heartbeat information is filtered out, and course playback information and learning records are determined based on this information, including course playback duration and number of times.
It enables efficient and accurate determination of students' course learning records and playback information, has high applicability, and can intuitively reflect students' learning progress.
Smart Images

Figure CN115809264B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, device, and storage medium. Background Technology
[0002] With the continuous development of computer technology, online education has become an indispensable part of today's education system. For example, students can learn through websites, clients, or applications to access live or recorded courses, and most educational applications can also provide students or teachers with student learning records and course playback information.
[0003] However, existing methods for determining course playback information and learning records often rely on statistical analysis of large amounts of playback data, which is cumbersome and has low accuracy. For example, regarding attendance records, current methods can only determine when a student was learning, thus the resulting learning records do not reflect that the student was consistently learning.
[0004] Therefore, how to efficiently and accurately determine students' course learning records and course playback information has become an urgent problem to be solved. Summary of the Invention
[0005] This application provides a data processing method that can accurately and efficiently determine students' course learning records and course playback information, and has high applicability.
[0006] On one hand, embodiments of this application provide a method for learning data, the method comprising:
[0007] Obtain at least one heartbeat message and course access record sent by the student terminal. Each heartbeat message includes the learning data of the target student corresponding to the target course, and the course access record includes at least one of the start learning record or the end learning record of the target student corresponding to the target course.
[0008] Based on the aforementioned heartbeat information, the course playback information corresponding to the aforementioned target students for the aforementioned target courses is determined.
[0009] Based on the aforementioned heartbeat information and course access records, the course learning records of the aforementioned target students corresponding to the aforementioned target courses are determined.
[0010] On the other hand, embodiments of this application provide a data processing apparatus, which includes:
[0011] The information acquisition module is used to acquire at least one heartbeat information and course access record sent by the student terminal. Each of the heartbeat information includes the learning data of the target student corresponding to the target course, and the course access record includes at least one of the start learning record or the end learning record of the target student corresponding to the target course.
[0012] The playback information determination module is used to determine the playback information of the target course corresponding to the target student based on the aforementioned heartbeat information.
[0013] The learning record determination module is used to determine the course learning records of the target students corresponding to the target courses based on the aforementioned heartbeat information and course access records.
[0014] On the other hand, embodiments of this application provide an electronic device, including a processor and a memory, which are interconnected;
[0015] The aforementioned memory is used to store computer programs;
[0016] The processor described above is configured to execute the data processing method provided in the embodiments of this application when the computer program described above is invoked.
[0017] On the other hand, embodiments of this application provide a computer-readable storage medium storing a computer program that is executed by a processor to implement the data processing method provided in embodiments of this application.
[0018] On the other hand, embodiments of this application provide a computer program product, which includes a computer program or computer instructions. When the computer program or computer instructions are executed by a processor, they implement the data processing method provided in embodiments of this application.
[0019] In this embodiment of the application, the heartbeat information sent by the student-side terminal can accurately determine the student's learning data at each time period, and the course access records sent by the student-side terminal can accurately determine the relevant records of the student's start and / or termination of learning. Therefore, based on the heartbeat information, the course playback information can be determined efficiently and accurately, and the course playback status can be intuitively reflected. Based on the heartbeat information and course access records, the course learning records can be determined efficiently and accurately, and the student's learning status can be intuitively reflected, which has high applicability. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a flowchart illustrating the data processing method provided in an embodiment of this application;
[0022] Figure 2 This is a schematic diagram of the process for obtaining heartbeat information provided in an embodiment of this application;
[0023] Figure 3 This is a timing diagram illustrating the determination of course playback information provided in an embodiment of this application;
[0024] Figure 4 This is a timing diagram illustrating the determination of course learning records provided in an embodiment of this application;
[0025] Figure 5 This is a schematic diagram of a scenario of the data processing method provided in an embodiment of this application;
[0026] Figure 6a This is a schematic diagram of a scenario provided in an embodiment of this application, showing course playback information and course learning records;
[0027] Figure 6b This is another scenario illustration provided in the embodiments of this application, showing course playback information and course learning records;
[0028] Figure 6c This is another schematic diagram of a scenario provided in the embodiments of this application for displaying course playback information and course learning records;
[0029] Figure 7 This is a framework diagram of the data processing method provided in the embodiments of this application;
[0030] Figure 8 This is a schematic diagram of the structure of the data processing apparatus provided in the embodiments of this application;
[0031] Figure 9 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0032] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0033] See Figure 1 , Figure 1 This is a flowchart illustrating the data processing method provided in an embodiment of this application. Figure 1As shown, the data processing method provided in this application includes the following steps:
[0034] Step S11: Obtain at least one heartbeat message and course access record sent by the student terminal. Each heartbeat message includes the learning data of the target student corresponding to the target course, and the course access record includes at least one of the start learning record or the end learning record of the target student corresponding to the target course.
[0035] In this embodiment, students can learn online courses through student-side terminals, such as through live streaming or recorded lectures. These student-side terminals include, but are not limited to, smartphones, tablets, laptops, desktop computers, and smart TVs, and the specific type can be determined based on the actual application scenario requirements; no restrictions are imposed here.
[0036] For any student (hereinafter referred to as the target student for ease of description), when the target student is learning a course through the student-side terminal, the student-side terminal will send at least one heartbeat message and course access record to the corresponding course server.
[0037] Specifically, the student-side terminal sends heartbeat information at regular time intervals, with each heartbeat lasting a certain duration. Each heartbeat includes the target student's learning data for the target course within that time period. Furthermore, the duration of each heartbeat sent by the student-side terminal remains consistent throughout the target student's learning of the target course using the student-side terminal.
[0038] The aforementioned course access records include at least one of the following: the start record or the end record of the target student's learning of the target course. The start record includes, but is not limited to, records of requests and instructions triggered by the target student to start playing the target course, as well as records of entering the live room of the target course. The end record includes, but is not limited to, records of requests and instructions triggered by the target student to stop playing the target course, as well as records of leaving the live room of the target course. The specific details can be determined based on the actual application scenario requirements and are not limited here.
[0039] For example, if a target student watches a video recording of a target course through a student-side terminal, the start of the learning record may include a video recording playback request triggered by the target student and received by the student-side terminal; the end of the learning record may include a video recording pause request triggered by the target student and received by the student-side terminal.
[0040] For example, if a target student watches a target course in a live stream room through a student terminal, the start learning record can include the relevant records of the target student entering the live stream room, and the end learning record can include the relevant records of the target student leaving the live stream room.
[0041] The course server corresponding to the aforementioned target course can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server providing cloud computing services. Furthermore, the student terminal and the course server can be connected directly or indirectly via wired or wireless communication; this application does not impose any restrictions on this.
[0042] In some feasible implementations, if the target student learns the target course through an application (APP) on a student-side terminal, at least one heartbeat message and course access record sent by the student-side terminal can be obtained through the Wireless Network Services (WNS) channel. If the target student learns the target course through a web page, H5 page, or client via a student-side terminal using the WebSocket protocol (a full-duplex communication protocol based on the Transmission Control Protocol), at least one heartbeat message and course access record sent by the student-side terminal can be obtained through the Common Gateway Interface (CGI).
[0043] Based on this method, at least one heartbeat message and course access record sent by the student's terminal can be obtained safely and reliably.
[0044] In some feasible implementations, to alleviate message congestion caused by a large number of heartbeat messages sent by student terminals, and to quickly read the heartbeat messages sent by student terminals, after obtaining at least one heartbeat message sent by the student terminal, each heartbeat message can be stored in a message queue. The heartbeat messages are arranged in the message queue according to the order in which they were sent, and when it is necessary to obtain the learning data of a target student, the heartbeat messages sent by the student terminal can be directly retrieved from the message queue to obtain the corresponding learning data.
[0045] Step S12: Based on each heartbeat information, determine the course playback information corresponding to the target student for the target course.
[0046] In some feasible implementations, since the heartbeat information sent by the student-side terminal may include duplicate student data or other data related to the learning data of the target course, such as when a student repeatedly watches the same course content, there may be multiple heartbeat information messages with the same learning data in the heartbeat information sent by the student-side terminal. In this case, when determining the course playback information corresponding to the target student based on each heartbeat information, the obtained heartbeat information can be filtered to determine the target heartbeat information.
[0047] If the heartbeat information sent by the student terminal is stored in a message queue after being obtained, then the heartbeat information in the message queue needs to be filtered to determine the target heartbeat information.
[0048] Specifically, when filtering the obtained heartbeat information or heartbeat information in the message queue, the time attribute of each heartbeat information can be determined, and then the target heartbeat information can be determined based on the time attribute of each heartbeat information. Based on each target heartbeat information, the course playback information corresponding to the target student can be determined.
[0049] That is, for each heartbeat information, it can be determined whether the heartbeat information is the target heartbeat information based on the time attribute of the heartbeat information, thereby determining all target heartbeat information. The target heartbeat information includes heartbeat information that includes learning data of the courses the user has studied.
[0050] Specifically, since the duration of each heartbeat message sent by the student-side terminal is consistent during the process of the target student learning the target course based on the student-side terminal, the duration of each heartbeat message can be determined. If the duration of the heartbeat message does not exceed the preset duration, it can be determined that the heartbeat message includes the learning data sent by the student-side terminal related to the target student learning the target course, and thus the heartbeat message can be determined as the target heartbeat message.
[0051] If the duration of the heartbeat information exceeds or equals the preset duration, it can be determined that the heartbeat information is used to report other data, such as the status information of the network memory of the student terminal. In this case, the heartbeat information can be ignored, that is, the heartbeat information is not the target heartbeat information and can be ignored.
[0052] The specific preset duration can be determined based on the actual application scenario requirements and is not limited here. For example, assuming the preset duration is 500s, for any heartbeat information, if the duration of the heartbeat information is 400s, then the heartbeat information can be determined to be the target heartbeat information; if the duration of the heartbeat information is 800s, then the heartbeat information can be determined to be not the target heartbeat information, and thus the heartbeat information can be ignored.
[0053] Optionally, since the student-side terminal sends heartbeat information at certain time intervals during the target student's learning of the target course, for each heartbeat information, the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information can be determined. If this time interval is greater than a first preset time interval and less than a second preset time interval, it can be determined that the time interval between the heartbeat information and the previous heartbeat information is within the preset time interval range, and thus it can be determined that the heartbeat information, like the previous heartbeat information, includes the target student's learning data corresponding to the target course. In this case, the heartbeat information can be determined as the target heartbeat information.
[0054] If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is less than or equal to the first preset time interval, or if the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is greater than or equal to the second preset time interval, then it can be determined that the heartbeat information does not include the learning data of the target student corresponding to the target course. In this case, it can be determined that the heartbeat information is not the target heartbeat information and can be ignored.
[0055] The first preset time interval is shorter than the second preset time interval, and the specific first and second preset time intervals can be determined based on the actual application scenario requirements, without limitation. For example, if the first preset time interval is 3s and the second preset time interval is 120s, for any heartbeat information, if the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is 10s, then the heartbeat information can be determined to include the learning data of the target student corresponding to the target course. If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is 2s, or the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is 130s, then the heartbeat information can be ignored.
[0056] Optionally, since the target student sends multiple heartbeat messages corresponding to the target course through the student-side terminal during the learning process of the target course, the different heartbeat messages include the target student's learning data at different time periods. Based on this, for each heartbeat message sent by the student-side terminal, the timestamp corresponding to the heartbeat message can be determined. If the timestamp of the heartbeat message is greater than the timestamp of the previous heartbeat message, it can be determined that the learning data included in the heartbeat message is the learning data after the learning data included in the previous heartbeat message, and thus the heartbeat message can be determined as the target heartbeat message.
[0057] If the timestamp of the heartbeat information is less than or equal to the timestamp of the previous heartbeat information, it can be determined that the learning data included in the heartbeat information is the same as the learning data included in the previous heartbeat information. Therefore, there is no need to obtain the heartbeat information again, and it can be determined that the heartbeat information is not the target heartbeat information.
[0058] Optionally, for each heartbeat message sent by the student-side terminal, it can be determined whether the heartbeat message is the target heartbeat message based on any combination of one or more of the above methods.
[0059] For example, for the first heartbeat message sent by the student's terminal, the heartbeat message can be acquired if its duration exceeds a preset duration. Furthermore, for each heartbeat message after the first one, it can be identified as the target heartbeat message if: its duration exceeds a preset duration; the time interval between the start time of the heartbeat message and the end time of the previous heartbeat message is greater than a first preset time interval and less than a second preset time interval; and the timestamp corresponding to the heartbeat message is greater than the timestamp of the previous heartbeat message.
[0060] For example, see Figure 2 , Figure 2 This is a schematic diagram of the process for obtaining heartbeat information provided in an embodiment of this application. Figure 2 As shown, when a student terminal sends a heartbeat message, it can determine whether the duration of the heartbeat message exceeds a preset duration. If it does not exceed the preset duration, the heartbeat message is ignored.
[0061] If the duration of the heartbeat information exceeds a preset duration, then it is determined whether the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is greater than a first preset time interval and less than a second preset time interval. If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is less than or equal to the first preset time interval, or greater than or equal to the second preset time interval, then the heartbeat information is ignored.
[0062] If the time interval between the start time of the current heartbeat and the end time of the previous heartbeat is greater than a first preset time interval and less than a second preset time interval, then it is determined whether the timestamp of the current heartbeat is greater than the timestamp of the previous heartbeat. If the timestamp of the current heartbeat is less than or equal to the timestamp of the previous heartbeat, then the heartbeat is ignored; otherwise, the heartbeat is determined to be the target heartbeat.
[0063] In some feasible implementations, to avoid the heartbeat information sent by the student terminal from including learning data of other courses due to the student mistakenly watching other courses while learning the target course, or to avoid the student terminal from sending learning data of other courses due to network errors, it can be further determined whether each heartbeat information is the heartbeat information corresponding to the target course after obtaining each heartbeat information sent by the student terminal or storing each heartbeat information sent by the student terminal in the message queue.
[0064] Specifically, the course identifier of each heartbeat information can be obtained. For each heartbeat information, it can be determined whether the course identifier of the heartbeat information is consistent with the course identifier of the target course. Then, heartbeat messages whose course identifiers are inconsistent with the course identifiers of the target course are filtered out. Then, the target heartbeat information is determined from the remaining heartbeat messages so as to determine the course playback information of the target course corresponding to the target student based on the target heartbeat message.
[0065] Optionally, after determining the target heartbeat information, based on the course identifier of each target heartbeat information and the course identifier of the target course, target heartbeat information whose course identifier does not match the course identifier of the target course can be filtered out from the target heartbeat information, and then the course playback information corresponding to the target student can be determined based on the remaining target heartbeat information.
[0066] The target courses mentioned above are either recorded courses that the course server determines to play to the target students through the student-side terminals, or live courses that the course server is currently playing to the target students through the student-side terminals. The specific course can be determined based on the actual application scenario requirements and is not restricted here.
[0067] In some feasible implementations, when determining the course playback information for a target student corresponding to a target course, the course playback duration for that student can be determined based on each heartbeat message or a filtered version of the heartbeat messages. Specifically, the course playback duration for each heartbeat message can be determined based on the learning data included in each heartbeat message, and then the course playback duration for the target student can be determined based on the playback duration for each heartbeat message. In other words, the final determined heartbeat message allows us to determine the course playback duration for the target student.
[0068] Optionally, when determining the course playback information for the target student corresponding to the target course, the number of times the target course is played for the target student can also be determined based on the determined heartbeat information. Specifically, the relevant parameters for starting or stopping course playback can be determined in the learning data included in each heartbeat information, and then the number of times the target course is played for the target student can be determined based on the relevant parameters included in each heartbeat information.
[0069] Alternatively, for any two consecutive heartbeats, if the time interval between them is significant, it can be determined that the preceding and following heartbeats were sent at different times. For example, if the preceding heartbeat was sent 5 hours before the following heartbeat, then the target course for the target student can be determined to have played 2 times. Based on the above implementation method, the final number of course playbacks corresponding to all heartbeat information can be determined, and this number can be set as the target course playback count for the target student.
[0070] In some feasible implementations, the course playback information corresponding to any student for any course can be determined based on the above method, and the determined course playback information can be stored in a database, such as storing the course playback information in a Redis database.
[0071] In some feasible implementations, the course playback information for the target course corresponding to the target student may also include information such as the course playback time period and the course playback progress. The specific details can be determined based on the actual application scenario requirements and are not limited here.
[0072] See Figure 3 , Figure 3 This is a timing diagram illustrating the determination of course playback information provided in an embodiment of this application. For example... Figure 3 As shown, during the process of students learning live or recorded courses, heartbeat information reported by the student's terminal can be obtained.
[0073] Specifically, if the target student is taking a live-streamed course using a student-side terminal, the heartbeat information reported by the student-side terminal can be directly obtained and stored in a message queue. Furthermore, when reporting heartbeat information, the student-side terminal can simultaneously report the heartbeat information to the data center (DC) for backup storage of the target student's learning data. Alternatively, after obtaining the heartbeat information reported by the student-side terminal, the heartbeat information can be stored in the data center simultaneously with the message queue.
[0074] Furthermore, the user center can consume heartbeat information in the message queue and simultaneously obtain information such as the course playback task information of the live course and the previous course learning records of the target student. Based on the above information, the user center can determine the course playback information of the target course corresponding to the target student, such as determining the number of times the target course is played and the duration of the course playback.
[0075] Similarly, if the target student is learning a recorded course using a student-side terminal, the terminal will call the recording report interface to report heartbeat information. At this time, the heartbeat information reported by the student-side terminal can be obtained through the aforementioned recording report interface and stored in a message queue. Furthermore, the student-side terminal can also report the heartbeat information to the data center simultaneously to store and back up the target student's learning data. Alternatively, after obtaining the heartbeat information reported by the student-side terminal through the recording report interface, the heartbeat information can be stored in the data center simultaneously with the message queue.
[0076] Furthermore, the user center can consume heartbeat information in the message queue and simultaneously obtain information such as the recorded course or the course playback task information of the recorded course during the previous live broadcast, as well as the target student's previous course learning records. Based on the above information, the user center can determine the course playback information of the target course corresponding to the target student, such as determining the number of times the target course is played and the course playback duration.
[0077] After determining the course playback information for the target students corresponding to the target courses, the determined course playback information can be synchronously written to the Redis database or CKV cache for recording, and synchronously reported to the data center to complete the storage backup of the determined course playback information.
[0078] When the user center consumes heartbeat information from the message queue, it can filter the heartbeat information in the message queue to determine the course playback information based on the target heartbeat information obtained from the filter. The specific filtering process is as described above and will not be repeated here.
[0079] Step S13: Based on each heartbeat information and course access record, determine the course learning record of the target student corresponding to the target course.
[0080] In some feasible implementations, the course learning records of the target student corresponding to the target course include, but are not limited to, course learning progress, number of times the student participated in the course, course learning plan, course learning time period, and course attendance information. The specific records can be determined based on the learning data included in the heartbeat information, and there are no restrictions on this.
[0081] If the course access records include start and end records for the target student corresponding to the target course, the course learning duration for the target student can be determined based on consecutive start and end records. That is, the time interval between consecutive start and end records is determined as the course learning duration for the target student; for example, the time interval between the target student entering and exiting the live stream is determined as the course learning duration for the target student.
[0082] Furthermore, based on the finalized target heartbeat information, the playback duration of the target course for the target student can be determined. If the playback duration matches the learning duration, the actual learning duration of the target student is confirmed to match the actual playback duration of the target course, effectively preventing malicious software plugins from artificially inflating the course's playback time. When the actual learning duration of the target student matches the actual playback duration of the target course, the student's learning record for the target course can be determined based on the finalized target heartbeat information and course access records. This includes determining the student's learning progress and learning time slots for the target course.
[0083] Based on the above method, the course learning record of any student corresponding to any target course can be determined, and the determined course learning records can be stored, such as in the ckv cache.
[0084] See Figure 4 , Figure 4 This is a timing diagram illustrating the determination of course learning records provided in an embodiment of this application. For example... Figure 4 As shown, during the process of students learning live or recorded courses, heartbeat information reported by the student's terminal can be obtained.
[0085] If the target student is taking a live course via a student-side terminal, the heartbeat information and course access records reported by the student-side terminal can be directly obtained, and the heartbeat information can be stored in a message queue. After obtaining the heartbeat information and course access records reported by the student-side terminal, when storing the heartbeat information in the message queue, the heartbeat information and course access records can also be stored in the data center simultaneously. The aforementioned heartbeat information and course access records can also be directly reported to the data center by the student terminal.
[0086] Furthermore, the user center can consume heartbeat information in the message queue and simultaneously obtain information such as the course playback task information of the live course and the target student's previous course learning records. Based on the above information and the target student's course access records, the user center can determine the target student's course learning records corresponding to the target course.
[0087] Similarly, if a student is learning a recorded course using a student-side terminal, the terminal will call the recording report interface to report heartbeat information and course access records. At this time, the heartbeat information and course access records reported by the student-side terminal can be obtained through the recording report interface, and the heartbeat information can be stored in a message queue. After obtaining the heartbeat information and course access records reported by the student-side terminal through the recording report interface, these information and records can be stored in the data center. Alternatively, the student terminal can directly report the heartbeat information and course access records to the data center.
[0088] Furthermore, the user center can consume heartbeat information in the message queue and simultaneously obtain information such as recorded courses or course playback task information of the recorded courses during previous live broadcasts, as well as the target student's previous course learning records. Based on the above information and course access records, the user center can determine the target student's course learning records corresponding to the target course.
[0089] After identifying the course learning records of the target students for the target courses, the identified course learning records can be synchronously written to the Redis database or CKV cache for recording, and synchronously reported to the data center to complete the storage backup of the identified course learning records.
[0090] When the user center consumes heartbeat information in the message queue, it can filter the heartbeat information in the message queue to determine the course learning record based on the target heartbeat information obtained by filtering and the obtained course access record. The specific filtering process is as described above and will not be repeated here.
[0091] See Figure 5 , Figure 5 This is a schematic diagram of a scenario of the data processing method provided in an embodiment of this application. For example... Figure 5 As shown, when a student takes a course through the application, the system can obtain heartbeat information and course access records reported by the student's terminal via the WNS channel, and send the heartbeat information to the message queue and the course access records to the user center. When a student takes a course through a webpage, the system can obtain heartbeat information and course access records reported by the student's terminal via the CGI channel based on the WebSocket protocol, and send the heartbeat information to the message queue and the course access records to the user center.
[0092] The user center determines the course playback information for the target student corresponding to the target course based on the heartbeat information in the message queue, and determines the course learning record for the target student corresponding to the target course based on the heartbeat information in the message queue and the obtained course access records. Furthermore, the determined course learning record and course playback record can be stored in a Redis database or CKV cache, and synchronously reported to the data center for storage backup.
[0093] Specifically, when determining course playback information and course learning records, different user centers can be used to determine these information and records. For example, the first user center can consume heartbeat information from the message queue to determine the corresponding course playback information and record both the heartbeat information and the determined course playback information. The second user can obtain course access records reported by student terminals, determine the corresponding course learning records based on the course access records and heartbeat information in the message queue, and store the course access records, heartbeat information, and course learning records.
[0094] Based on this method, information stored in various user centers, Redis databases, ckv caches, and data centers can be cross-verified to ensure the accuracy of the information.
[0095] In some feasible implementations, in response to a course information viewing request sent by a student-side terminal, the corresponding course playback information and course learning records can be retrieved from the Redis database or CKV cache based on the course information viewing request, and then sent to the student-side terminal so as to display the corresponding course playback information and course learning records to the target student based on the student-side terminal.
[0096] See Figure 6a , Figure 6a This is a schematic diagram of a scenario illustrating the display of course playback information and course learning records provided in an embodiment of this application. For example... Figure 6a The system can use "20 minutes watched today" as a learning record to notify target students that they have studied the "Critical Thinking and Limit Thinking" course for 20 minutes today. It can also display course playback information based on the target course's playback progress bar, such as "80% played."
[0097] Optionally, based on the data processing method provided in the embodiments of this application, the course learning record of any student corresponding to any course and the course playback information of any course corresponding to any student can be determined. Therefore, relevant information can be sent to the student-side terminal to display the course learning record of the target student corresponding to each course and the course playback information of each course corresponding to the target student. Thus, the course playback information and course learning record of any course can be displayed to the target student.
[0098] See Figure 6b , Figure 6b This is another scenario illustration provided in the embodiments of this application, showing course playback information and course learning records. For example... Figure 6b As shown, the student-side terminal can display the learning records of each course and the course playback information of each course to the target students.
[0099] In some feasible implementations, in response to a course information viewing request sent by the teacher's terminal, the system can send the course learning records and corresponding course playback information of one or more students in the class to the teacher's terminal for display. The specific content displayed on the teacher's terminal can be determined based on the actual application scenario requirements and is not limited here. For example, the teacher's terminal can display the learning time for each student in the class for each course, the time they entered the live classroom, attendance information, etc.
[0100] See Figure 6c , Figure 6c This is another schematic diagram illustrating a scenario for displaying course playback information and course learning records, provided in an embodiment of this application. For example... Figure 6c As shown, if a teacher teaches a class through a live-streamed course, the teacher's terminal can display the time each student entered the live-streamed classroom and their learning records, such as the duration of their live-stream viewing. Simultaneously, the teacher can also see the lesson duration, i.e., the lesson playback information for each student.
[0101] The following is combined Figure 7 The data processing method provided in the embodiments of this application will be further described. Figure 7 This is a framework diagram of the data processing method provided in this application embodiment. Students can learn through web pages (web / h5), applications (APP), or clients, such as by watching live or recorded lectures. If a student learns through an application, the WNS can obtain the heartbeat information and course access records sent by the corresponding student terminal. If a student learns through a web page or client, the CGI can obtain the heartbeat information and course access records sent by the corresponding student terminal.
[0102] Furthermore, based on heartbeat information, the course playback information corresponding to each student can be determined. Based on heartbeat information and course access records, the course learning records corresponding to each student can be determined. Based on course playback information and course learning records, the learning duration information, learning task information, learning plan information, and attendance information for each class or student can be determined. For example, when determining learning duration information, specific details such as viewing time records for live broadcasts, recorded broadcasts, and replays can be determined, as well as the class learning progress and class learning duration. When determining learning task information, student task information, class timetable, and class task list can be obtained. When determining learning plan information, student learning plans, course learning plans, and deletion of learning plans can be obtained. When determining attendance information, the number of times a student attended class and student homework information can be obtained. It should be noted that the implementation methods of the above logic layers are only examples, and the specific implementation can be determined based on the actual application scenario requirements, without limitation.
[0103] Furthermore, course playback information and course learning records can be stored in a Redis database or CKV cache and synchronously reported to the data center for information backup.
[0104] In some feasible implementations, the course playback information and course learning records mentioned above may also be stored in a database, cloud storage system, or blockchain. The specific method can be determined based on the actual application scenario requirements and is not limited here.
[0105] Cloud storage systems refer to storage systems that use cluster applications, grid technology, and distributed storage file systems to bring together a large number of storage devices of various types (also known as storage nodes) in a network to work together and provide data storage to the outside world.
[0106] In short, a database can be viewed as an electronic filing cabinet—a place to store electronic files, where users can perform operations such as adding, querying, updating, and deleting data. A "database" is a collection of data stored together in a certain way, capable of being shared by multiple users, with minimal redundancy, and independent of application programs.
[0107] Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block can store course learning records and course playback information.
[0108] In this embodiment, the heartbeat information and course access records sent by the student's terminal can efficiently and accurately determine course playback information and course learning records, thus intuitively reflecting the course playback status and the student's learning progress. Furthermore, the course playback information and course learning records can be displayed to students and teachers, further enhancing the online education experience and demonstrating high applicability.
[0109] See Figure 8 , Figure 8 This is a schematic diagram of the structure of the data processing apparatus provided in the embodiments of this application. The processing apparatus provided in the embodiments of this application includes:
[0110] The information acquisition module 81 is used to acquire at least one heartbeat information and course access record sent by the student-side terminal. Each of the heartbeat information includes the learning data of the target student corresponding to the target course, and the course access record includes at least one of the start learning record or the end learning record of the target student corresponding to the target course.
[0111] The playback information determination module 82 is used to determine the playback information of the target course corresponding to the target student based on the aforementioned heartbeat information.
[0112] The learning record determination module 83 is used to determine the course learning record of the target student corresponding to the target course based on the aforementioned heartbeat information and the aforementioned course access records.
[0113] In some feasible implementations, the playback information determination module 82 described above is used for:
[0114] Store all of the above heartbeat information into a message queue;
[0115] Based on the time attributes of each heartbeat message in the aforementioned message queue, the target heartbeat information in the aforementioned message queue is determined.
[0116] Based on the aforementioned target heartbeat information, the course playback information corresponding to the aforementioned target students is determined.
[0117] In some feasible implementations, for each of the aforementioned heartbeat messages in the message queue, when the heartbeat message is determined to be the target heartbeat message based on its time attribute, the playback information determination module 82 is used to:
[0118] If the duration of the heartbeat information is less than the preset duration, then the heartbeat information is determined to be the target heartbeat information;
[0119] If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is greater than the first preset time interval and less than the second preset time interval, then the heartbeat information is determined to be the target heartbeat information.
[0120] If the timestamp corresponding to the heartbeat information is greater than the timestamp of the previous heartbeat information, then the heartbeat information is determined to be the target heartbeat information.
[0121] In some feasible implementations, the playback information determination module 82 described above is used for:
[0122] Based on the aforementioned heartbeat information, the course playback duration for the target course corresponding to the target student is determined.
[0123] Based on the aforementioned heartbeat information, the number of times the target course is played for the target student is determined.
[0124] In some feasible implementations, the course access records include the start learning records and the end learning records, and the course playback information includes the course playback duration; the learning record determination module 83 is used for:
[0125] If the above start learning record and the above end learning record are consecutive, the course learning duration of the above target student shall be determined based on the above start learning record and the above end learning record.
[0126] If the course learning duration is consistent with the course playback duration, then based on the aforementioned heartbeat information and course access records, the course learning record of the aforementioned target student corresponding to the aforementioned target course is determined.
[0127] In some feasible implementations, the information acquisition module 81 described above is used for:
[0128] Obtain at least one heartbeat message and course access record sent by the student terminal through at least one of the following: wireless network service or public network management interface.
[0129] In some feasible implementations, the information acquisition module 81 described above is used for:
[0130] In response to the course information viewing request sent by the aforementioned student-side terminal, the aforementioned course playback information and the aforementioned course learning records are sent to the aforementioned student-side terminal, so as to display the aforementioned course playback information and the aforementioned course learning records to the aforementioned target student based on the aforementioned student-side terminal.
[0131] In specific implementation, the above-mentioned device can perform the above-described actions through its built-in functional modules. Figure 1 The implementation methods provided for each step are detailed in the above-mentioned implementation methods, and will not be repeated here.
[0132] See Figure 9 , Figure 9 This is a schematic diagram of the structure of the electronic device provided in an embodiment of this application. For example... Figure 9As shown, the electronic device 1000 in this embodiment may include: a processor 1001, a network interface 1004, and a memory 1005. Furthermore, the electronic device 1000 may also include: a user interface 1003, and at least one communication bus 1002. The communication bus 1002 is used to implement communication between these components. The user interface 1003 may include a display screen and a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1004 may be a high-speed RAM or non-volatile memory, such as at least one disk storage device. The memory 1005 may optionally be at least one storage device located remotely from the processor 1001. Figure 9 As shown, the memory 1005, which is a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application.
[0133] exist Figure 9 In the illustrated electronic device 1000, the network interface 1004 provides network communication functionality; the user interface 1003 is primarily used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:
[0134] Obtain at least one heartbeat message and course access record sent by the student terminal. Each heartbeat message includes the learning data of the target student corresponding to the target course, and the course access record includes at least one of the start learning record or the end learning record of the target student corresponding to the target course.
[0135] Based on the aforementioned heartbeat information, the course playback information corresponding to the aforementioned target students for the aforementioned target courses is determined.
[0136] Based on the aforementioned heartbeat information and course access records, the course learning records of the aforementioned target students corresponding to the aforementioned target courses are determined.
[0137] In some feasible implementations, the processor 1001 described above is used for:
[0138] Store all of the above heartbeat information into a message queue;
[0139] Based on the time attributes of each heartbeat message in the aforementioned message queue, the target heartbeat information in the aforementioned message queue is determined.
[0140] Based on the aforementioned target heartbeat information, the course playback information corresponding to the aforementioned target students is determined.
[0141] In some feasible implementations, for each heartbeat message in the message queue, when the heartbeat message is determined to be a target heartbeat message based on its time attribute, the processor 1001 is used to:
[0142] If the duration of the heartbeat information is less than the preset duration, then the heartbeat information is determined to be the target heartbeat information;
[0143] If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is greater than the first preset time interval and less than the second preset time interval, then the heartbeat information is determined to be the target heartbeat information.
[0144] If the timestamp corresponding to the heartbeat information is greater than the timestamp of the previous heartbeat information, then the heartbeat information is determined to be the target heartbeat information.
[0145] In some feasible implementations, the course access records include the start learning records and the end learning records, and the course playback information includes the course playback duration; the processor 1001 is used for:
[0146] If the above start learning record and the above end learning record are consecutive, the course learning duration of the above target student shall be determined based on the above start learning record and the above end learning record.
[0147] If the course learning duration is consistent with the course playback duration, then based on the aforementioned heartbeat information and course access records, the course learning record of the aforementioned target student corresponding to the aforementioned target course is determined.
[0148] In some feasible implementations, the processor 1001 described above is used for:
[0149] Obtain at least one heartbeat message and course access record sent by the student terminal through at least one of the following: wireless network service or public network management interface.
[0150] In some feasible implementations, the processor 1001 is further configured to:
[0151] In response to the course information viewing request sent by the aforementioned student-side terminal, the aforementioned course playback information and the aforementioned course learning records are sent to the aforementioned student-side terminal, so as to display the aforementioned course playback information and the aforementioned course learning records to the aforementioned target student based on the aforementioned student-side terminal.
[0152] It should be understood that in some feasible implementations, the processor 1001 described above may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. The memory may include read-only memory and random access memory, and provides instructions and data to the processor. A portion of the memory may also include non-volatile random access memory. For example, the memory may also store device type information.
[0153] In specific implementation, the aforementioned electronic device 1000 can perform the above-described actions through its built-in functional modules. Figure 1 The implementation methods provided for each step are detailed in the above-mentioned implementation methods, and will not be repeated here.
[0154] This application also provides a computer-readable storage medium storing a computer program that is executed by a processor to implement... Figure 1 The methods provided in each step are detailed in the implementation methods provided in the above steps, and will not be repeated here.
[0155] The aforementioned computer-readable storage medium can be an internal storage unit of the data processing device and / or electronic device, such as a hard disk or memory of the electronic device. The computer-readable storage medium can also be an external storage device of the electronic device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the electronic device. The aforementioned computer-readable storage medium can also include magnetic disks, optical disks, read-only memory (ROM), or random access memory (RAM), etc. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of the electronic device. The computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0156] This application provides a computer program product, which includes a computer program or computer instructions stored in a computer-readable storage medium. The processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform... Figure 1 The methods provided for each step in the process.
[0157] The terms "first," "second," etc., used in the claims, description, and drawings of this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or electronic device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or electronic devices. References to "embodiment" herein mean that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The presentation of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments. The term "and / or" as used in this application's description and appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0158] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Those skilled in the art can implement the described functions using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
[0159] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A data processing method, characterized in that, The method includes: Obtain at least one heartbeat message and course access record sent by the student-side terminal, wherein each heartbeat message includes learning data of the target student corresponding to the target course, and the course access record includes at least one of the target student's start learning record or end learning record for the target course; Store each heartbeat information in a message queue; determine the target heartbeat information in the message queue based on the time attribute of each heartbeat information in the message queue; determine the course playback information of the target course corresponding to the target student based on each target heartbeat information, wherein the course playback information includes at least one of course playback duration or course playback count; If the start learning record and the end learning record are consecutive, the course learning duration of the target student is determined based on the start learning record and the end learning record; if the course learning duration is consistent with the course playback duration, the course learning record of the target student corresponding to the target course is determined based on each target heartbeat information and the course access record.
2. The method according to claim 1, characterized in that, For each heartbeat message in the message queue, determining the heartbeat message as the target heartbeat message based on its time attribute includes at least one of the following: If the duration of the heartbeat information is less than the preset duration, then the heartbeat information is determined to be the target heartbeat information; If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is greater than the first preset time interval and less than the second preset time interval, then the heartbeat information is determined to be the target heartbeat information. If the timestamp corresponding to the heartbeat information is greater than the timestamp of the previous heartbeat information, then the heartbeat information is determined to be the target heartbeat information.
3. The method according to claim 1, characterized in that, The acquisition of at least one heartbeat message and course access record sent by the student-side terminal includes: Obtain at least one heartbeat message and course access record sent by the student terminal through at least one of the following: wireless network service or public network management interface.
4. The method according to claim 1, characterized in that, The method further includes: In response to a course information viewing request sent by the student-side terminal, the course playback information and the course learning record are sent to the student-side terminal so as to display the course playback information and the course learning record to the target student based on the student-side terminal.
5. A data processing apparatus, characterized in that, The processing device includes: The information acquisition module is used to acquire at least one heartbeat information and course access record sent by the student-side terminal. Each heartbeat information includes the learning data of the target student corresponding to the target course, and the course access record includes at least one of the start learning record or the end learning record of the target student corresponding to the target course. The playback information determination module is used to store each of the heartbeat information into a message queue; determine the target heartbeat information in the message queue based on the time attribute of each of the heartbeat information in the message queue; and determine the course playback information of the target course corresponding to the target student based on each of the target heartbeat information, wherein the course playback information includes at least one of course playback duration or course playback count. The learning record determination module is used to determine the course learning duration of the target student based on the start learning record and the end learning record if the start learning record and the end learning record are consecutive; if the course learning duration is consistent with the course playback duration, the module determines the course learning record of the target student corresponding to the target course based on the target heartbeat information and the course access record.
6. The apparatus according to claim 5, characterized in that, For each heartbeat message in the message queue, when the heartbeat message is determined to be the target heartbeat message based on its time attribute, the playback information determination module is used to: If the duration of the heartbeat information is less than the preset duration, then the heartbeat information is determined to be the target heartbeat information; If the time interval between the start time of the heartbeat information and the end time of the previous heartbeat information is greater than the first preset time interval and less than the second preset time interval, then the heartbeat information is determined to be the target heartbeat information. If the timestamp corresponding to the heartbeat information is greater than the timestamp of the previous heartbeat information, then the heartbeat information is determined to be the target heartbeat information.
7. The apparatus according to claim 5, characterized in that, When the information acquisition module acquires at least one heartbeat message and course access record sent by the student terminal, it is used for: Obtain at least one heartbeat message and course access record sent by the student terminal through at least one of the following: wireless network service or public network management interface.
8. The apparatus according to claim 5, characterized in that, The information acquisition module is also used for: In response to a course information viewing request sent by the student-side terminal, the course playback information and the course learning record are sent to the student-side terminal so as to display the course playback information and the course learning record to the target student based on the student-side terminal.
9. An electronic device, characterized in that, It includes a processor and a memory, which are interconnected; The memory is used to store computer programs; The processor is configured to perform the method as described in any one of claims 1 to 4 when the computer program is invoked.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that is executed by a processor to implement the method of any one of claims 1 to 4.
11. A computer program product, characterized in that, The computer program product includes a computer program or computer instructions, which, when executed by a processor, implement the method described in any one of claims 1 to 4.