Methods, devices, equipment and media for determining learning duration
By collaboratively calculating learning time between the user and server sides, the problem of inaccurate learning time in existing technologies has been solved, achieving more accurate and reliable determination of learning time and improving user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-29
- Publication Date
- 2026-04-07
AI Technical Summary
The existing technology for determining learning duration is inaccurate, resulting in a large error in the final learning duration and affecting the user experience.
The learning duration is calculated separately by the user client and the server. The user client uses a timer to keep track of time, collects and reports playback information, and combines historical learning duration and playback speed value. The server then comprehensively determines the final learning duration.
It improves the accuracy and reliability of learning time, avoids errors in learning time caused by user operation or network problems, and enhances the user experience.
Smart Images

Figure CN116644210B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to information processing technology, and in particular to methods, apparatus, equipment and media for determining learning duration. Background Technology
[0002] Nowadays, with the widespread use of electronic devices and the increasing demand for online learning content, more and more users are learning various kinds of knowledge through multimedia resources such as audio and video. In order to facilitate users or relevant personnel such as teachers, parents, and learning planners to understand users' learning progress, the system backend usually obtains the user's learning time for multimedia resources. However, the inventors have found through research that the methods for determining learning time in related technologies are inadequate, and the resulting learning time is unreliable. Summary of the Invention
[0003] In order to solve the above-mentioned technical problems, or at least partially solve the above-mentioned technical problems, this disclosure provides a method, apparatus, device and medium for determining learning duration.
[0004] According to one aspect of this disclosure, a method for determining learning duration is provided, applied to a user terminal, comprising: when currently in a timing state, collecting playback information corresponding to a target multimedia resource at preset first time intervals and accumulating the number of times the playback information is collected until a preset condition is met to obtain a total number of collections; and reporting the playback information to a server at preset second time intervals; determining a first learning duration currently corresponding to the target multimedia resource based on the first time interval, the total number of collections, the playback information, and the historical learning duration of the target multimedia resource pre-acquired; and reporting the first learning duration to the server so that the server determines the current learning duration of the target multimedia resource based on the first learning duration and the second learning duration; wherein the second learning duration is determined by the server based on the received playback information.
[0005] According to another aspect of this disclosure, a device for determining learning duration is provided, applied to a user terminal, comprising: a collection and reporting module, configured to, while in a current timing state, collect playback information corresponding to a target multimedia resource at preset first time intervals and accumulate the number of times the playback information is collected until a preset condition is met to obtain a total number of collections; and to report the playback information to a server at preset second time intervals; a first learning duration determination module, configured to determine a first learning duration currently corresponding to the target multimedia resource based on the first time interval, the total number of collections, the playback information, and the historical learning duration of the target multimedia resource pre-acquired; wherein the historical learning duration is the learning duration of the target multimedia resource before the timing state; and a current learning duration determination module, configured to report the first learning duration to the server, so that the server determines the current learning duration of the target multimedia resource based on the first learning duration and the second learning duration; wherein the second learning duration is determined by the server based on the received playback information.
[0006] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory storing a program, wherein the program includes instructions that, when executed by the processor, cause the processor to perform the method for determining the learning duration.
[0007] According to another aspect of this disclosure, a computer-readable storage medium is provided, wherein the storage medium stores a computer program for performing the method for determining the learning duration.
[0008] The technical solution provided in this embodiment allows the user terminal to determine the first learning duration based on the playback information, collection interval, total number of collections, and historical learning duration collected periodically during the timing state. The server terminal can also determine the second learning duration based on the playback information periodically reported by the user terminal. The first and second learning durations are combined to determine the current learning duration of the target multimedia resource, thereby effectively ensuring that the final learning duration is more accurate and reliable, and improving the user experience.
[0009] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0010] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0011] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 A flowchart illustrating a method for determining learning duration provided in an embodiment of this disclosure;
[0013] Figure 2 This is a schematic diagram illustrating a method for determining learning duration provided in an embodiment of this disclosure;
[0014] Figure 3 This is a schematic diagram of an information reporting process provided in an embodiment of the present disclosure;
[0015] Figure 4 A schematic diagram of a device for determining learning duration provided in an embodiment of this disclosure;
[0016] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0017] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0018] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0019] The term "comprising" and its variations as used in this disclosure are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc., mentioned in this disclosure are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0020] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0021] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0022] The inventors discovered through research that the methods used in related technologies to determine learning duration are inadequate, resulting in significant discrepancies between the obtained and actual learning durations, leading to poor accuracy. For example, related technologies may determine the user's learning duration solely based on the end playback time of multimedia resources, without considering issues such as users directly dragging the playback progress bar or changing their local time. This results in an inaccurate learning duration determined by the end playback time, leading to unreliable subsequent processing or evaluation results based on inaccurate learning durations and a poor user experience. Furthermore, some related technologies determine learning duration solely based on playback information uploaded by the user, which may be subject to information delays, loss, or poor network stability, also resulting in significant errors in the learning duration determined by the server. To improve at least one of the above problems, this disclosure provides a method, apparatus, device, and medium for determining learning duration, which are described in detail below.
[0023] Figure 1 This is a flowchart illustrating a method for determining learning duration according to an embodiment of this disclosure. This method can be executed by a device for determining learning duration and is applied to a user terminal. This device can be implemented using software and / or hardware, and is generally integrated into the user terminal. The user terminal can be an electronic device such as a mobile phone, tablet, or smartwatch, and is not limited thereto. Figure 1 As shown, the method mainly includes the following steps S102 to S106:
[0024] Step S102: While the current timer is in progress, collect playback information corresponding to the target multimedia resource at a preset first time interval and accumulate the number of times the playback information is collected until the preset condition is met to obtain the total number of collections; and report the playback information to the server at a preset second time interval.
[0025] The target multimedia resource can be video, audio, PPT, etc., and this embodiment of the disclosure does not limit the content of the target multimedia resource. For example, the target multimedia resource can be a course video selected by the user. In this embodiment of the disclosure, the learning duration is not determined directly based on the end playback time of the target multimedia resource. Instead, an additional timer is used during the playback of the target multimedia resource. Specifically, a timer (also called a timer function) can be used to keep track of the time. In this way, even if the user drags the progress bar or manually changes the time during this period, it will not affect the timing result of the timer.
[0026] This disclosure allows for pre-determining whether a timer is currently in progress. In some implementations, if a first type of event is detected and a second type of event is not detected, then a timer is determined to be in progress. The first type of event includes: a start event for the target multimedia resource, a continuation event for playback of the target multimedia resource, or an event to end the adjustment of the playback progress of the target multimedia resource. The second type of event includes: an end event for the target multimedia resource, a pause event for the target multimedia resource, or an event to begin adjusting the playback progress of the target multimedia resource. This disclosure does not limit the method of adjusting the playback progress of the target multimedia resource; for example, the method may include: the user dragging the playback progress bar of the target multimedia resource. In practical applications, taking a video course as an example, if it is detected that a user has started playing the video course, and the user has not ended or paused playback, nor has the user begun adjusting the playback progress of the video course, then a timer is currently in progress, i.e., the timer is confirmed to be in the timer-keeping state. In this embodiment of the disclosure, playback information corresponding to the target multimedia resource is collected and the number of times the playback information is collected is accumulated only when it is confirmed that the current timer is in a timed state, until the total number of collections is obtained when the preset condition is met, so as to determine the actual learning time of the target multimedia resource based on the above information.
[0027] This disclosure does not limit the playback information. In some embodiments, the playback information includes a playback speed value, specifically the playback speed value set for the target multimedia resource during the timing period, such as 0.5x, 1x, 1.5x, etc. Furthermore, the playback information may also include playback time information, which may include the playback end time of the target multimedia resource. For example, if the target multimedia resource is a 10-minute video that ends playback at 4 minutes and 15 seconds, then the end playback time could be 4 minutes and 15 seconds. The playback time information may also include the time point information corresponding to the execution of the collection operation or the currently played duration information, which is not limited here. Additionally, it should be noted that in practical applications, it is not limited to collecting only playback information; user information, video information, and other information can be collected simultaneously each time and reported together with the playback information, which is not limited here.
[0028] In practical applications, under timed conditions, playback information corresponding to the target multimedia resource is collected at preset first time intervals, and the number of times playback information is collected is accumulated until a preset condition is met to obtain the total number of collections. Then, playback information is reported to the server at a preset second time interval. The first time interval, second time interval, and preset condition can be flexibly set according to actual needs. For example, the first time interval can be 10 seconds, the second time interval can be 1 minute, and the preset condition can include: ending the timed state, or reaching a preset number of collections. That is, the total number of collections is obtained each time the preset condition is met. If the preset condition is reaching a preset number, the total number of collections obtained when the preset condition is met is equal to the preset number. This case is used to indicate that a learning duration is determined every time the preset number is reached. Taking a preset number of 6 times as an example, assuming the first time interval is 10 seconds, the first learning duration is determined every 6 preset times (i.e., 1 minute), that is, the first learning duration is determined periodically under timed conditions. If the preset condition is ending the timed state, this case is used to indicate that the first learning duration is determined uniformly after the timed state ends. The above methods can be flexibly selected according to needs, and no restrictions are imposed here.
[0029] Step S104: Based on the first time interval, total number of collections, playback information, and the historical learning duration of the target multimedia resource to be acquired, determine the first learning duration corresponding to the target multimedia resource at present.
[0030] The historical learning duration can be understood as the existing learning duration determined before the current first learning duration of the target multimedia resource is determined, or it can be understood as the learning duration before the playback information collection operation is performed (i.e., the number of collections is 0). This learning duration can be the learning duration determined by the server based on the previous first learning duration and the previous second learning duration. Based on the known historical learning duration, in some implementation examples, the current new total duration can be determined based on the first time interval, the total number of collections, and the playback information. Then, the new total duration is added to the known historical learning duration to obtain the current first learning duration of the target multimedia resource.
[0031] Step S106: The first learning duration is reported to the server so that the server can determine the current learning duration of the target multimedia resource based on the first learning duration and the second learning duration; wherein, the second learning duration is determined by the server based on the received playback information.
[0032] The user terminal can report the first learning duration to the server each time it calculates the first learning duration. The server can determine the second learning duration based on the playback information it receives, and then comprehensively determine the current learning duration of the target multimedia resource based on the first learning duration reported by the user terminal and the second learning duration determined by the server. In some embodiments, the first learning duration can be determined by the user terminal itself according to the first algorithm, that is, the first learning duration is obtained according to step S104; the second learning duration can be determined by the server according to the second algorithm. The first algorithm and the second algorithm can be the same or different. For example, the second learning duration can be determined by the server directly based on the playback end time in the last received playback information; or the second learning duration can be determined by the server based on the received playback information, the second time interval for receiving the playback information reported by the user, and the total number of receptions corresponding to the playback information; or the second learning duration can be determined by the server based on the previously received first learning duration and combined with the timing result. This disclosure does not limit the method of determining the second learning duration. It is understood that the embodiments of this disclosure, by calculating the learning time separately for the user end and the server end, allow for evaluation of the learning time from multiple ends. The algorithms used by the user end and the server end may be the same or different. Even if the algorithms are the same, the differences in the obtained learning times may arise due to potential reporting delays or frame drops in the information sent from the user end to the server. Determining the final current learning time by combining the first and second learning times provides stronger fault tolerance and higher accuracy.
[0033] In some implementations, the current learning duration is the maximum of the first and second learning durations. This effectively ensures the accuracy of the obtained current learning progress and avoids situations where the determined current learning progress is lower than the user's actual learning progress, thus fully guaranteeing the user experience.
[0034] The technical solutions provided in this disclosure allow the user terminal to determine the first learning duration based on playback information, collection interval, total number of collections, and historical learning duration collected periodically during the timing state. The server terminal can also determine the second learning duration based on the playback information periodically reported by the user terminal. The first and second learning durations are combined to determine the current learning duration of the target multimedia resource, thereby effectively ensuring that the final learning duration is more accurate and reliable, and improving the user experience.
[0035] When the playback information includes a playback speed value, this embodiment of the disclosure also provides a specific implementation example for determining the first learning duration corresponding to the target multimedia resource based on a first time interval, total number of collections, playback information, and the historical learning duration of the pre-collected target multimedia resource. This can be performed with reference to the following steps one and two:
[0036] Step 1: Based on the playback speed value, the first time interval, and the total number of collections, obtain the new learning time.
[0037] When the playback information contains only one playback speed value, the additional learning time is obtained by multiplying the playback speed value, the first duration interval, and the total number of collections. Specifically, the playback speed value, the duration corresponding to the first duration interval (e.g., 10 seconds), and the total number of collections are multiplied to obtain the additional learning time. For example, assuming the playback speed value is 2, the first duration interval for collecting playback information is 10 seconds, and the total number of collections is 6, then the additional learning time is 2 * 10 * 6 = 120 seconds. This method fully considers the impact of playback speed on the learning time. Furthermore, by multiplying the first duration interval corresponding to the collected information by the total number of collections, the timing duration can be determined conveniently and quickly, unaffected by user actions such as dragging the progress bar, further ensuring the accuracy and reliability of the learning time, and ultimately determining a more reasonable additional learning time.
[0038] When the playback information contains multiple playback speed values, targeted processing can be performed based on the aforementioned preset conditions. This disclosure provides two exemplary methods: Case 1 and Case 2.
[0039] Scenario 1: The preset condition is that the number of collections reaches a preset number; in this case, step one above can be executed as follows: step a and step b:
[0040] Step a: Select the maximum value from multiple playback speed values as the target speed value. As mentioned earlier, under the preset condition of reaching a preset number of times, the total number of collections obtained when the preset condition is reached is actually equal to the preset number of times. This situation is used to characterize that a learning duration is determined every time the preset number of times is reached. For example, if the first time interval is 10 seconds and the preset number of times is set to 6, then the total number of collections is 6. The first learning duration is calculated every 6 times (that is, every 1 minute). If multiple playback speed values appear within 1 minute, such as if the user adjusts the playback speed once or multiple times within 1 minute, the maximum playback speed value within 1 minute is used as the target speed value for ease of calculation. This method is not only efficient and convenient, but also ensures that the calculated new learning duration is not less than the user's actual learning duration, effectively avoiding the situation where the calculated new learning duration is lower than the user's actual learning duration, resulting in a poor user experience.
[0041] Step b involves multiplying the target speed increase, the first time interval, and the total number of collections to obtain the new learning time. Specifically, the new learning time can be obtained by directly multiplying the target speed increase, the first time interval, and the total number of collections.
[0042] Scenario 2: The preset condition is the end of the timer; in this case, step one above can be executed as follows: Step A and Step B:
[0043] Step A: For each playback speed value, count the number of times the playback speed value is collected in the total number of collections. Multiply the playback speed value, the number of times the playback speed value is collected, and the first time interval to obtain the product result corresponding to the playback speed value.
[0044] Step B involves summing the product results corresponding to each playback speed value to obtain the additional learning time.
[0045] As mentioned earlier, under the preset condition of ending the timer, the first learning duration is uniformly determined after the timer ends. Therefore, the product result corresponding to each playback speed value can be uniformly calculated, which is the additional learning duration when playing at that playback speed value (i.e., the product result corresponding to the aforementioned playback speed values). Then, the additional learning durations corresponding to all playback speed values are added together to obtain the total additional learning duration. The above method can uniformly calculate the additional learning duration based on the playback speed value at the end of the final playback, which is not only efficient but also yields a more accurate final additional learning duration.
[0046] Step two involves summing the historical learning time and the newly added learning time to obtain the first learning time corresponding to the target multimedia resource. Through this summation method, the total learning time of the target multimedia resource currently being learned by the user can be directly determined. This time is determined by the user end; to distinguish it from the time determined by the server, the learning time determined by the user end is referred to as the first learning time, and the time determined by the server is referred to as the second learning time.
[0047] Furthermore, this disclosure provides a method for determining the second learning duration. In some embodiments, the method for determining the second learning duration can be similar to that for determining the first learning duration. For example, the server multiplies the playback speed value in the received playback information, the second time interval for receiving playback information reported by the user, and the total number of receptions corresponding to the playback information to determine the second learning duration. In other embodiments, the second learning duration is determined by the server based on the first received playback time information and the last received playback time information. The playback time information may include the current playback duration and / or the current time corresponding to the target multimedia resource. For example, if the total video duration is 10 minutes, and the user stops playback at the 6th minute, the user sends playback information to the server when the video has played for 1 minute. The first playback information received by the server includes that the video has played from 0 to 1 minute, that is, the current playback duration is 1 minute, and the current time is 10:20:00. When the user sends playback information to the server after 6 minutes of video playback, the last playback information received by the server includes the current playback time as 6 minutes (6 minutes total) and the current time as 10:26:00. The server can then directly determine the second learning duration as 6 minutes based on the difference between the current playback duration and the beginning and end times. However, if the user drags the progress bar midway through the video, from the 2-minute mark to the 6-minute mark and then stops, the last playback information received by the server will also include the current playback time as 6 minutes (6 minutes total) and the current time as 10:22:00. Assuming the playback speed remains at 1, the difference between the current playback duration and the beginning and end times does not match. In this case, the second learning duration can be directly determined as 2 minutes based on the difference between the beginning and end times. The above is only an example and is not intended to be specific. In practical applications, the server can also use other methods to determine the second learning duration, and then combine it with the first learning duration uploaded by the user to determine the current learning duration. This method can be as close as possible to the user's actual learning duration and is more reasonable and reliable.
[0048] Based on the foregoing, to facilitate understanding of the method for determining the learning duration provided in the embodiments of this disclosure, please refer to... Figure 2The diagram shown illustrates a method for determining learning duration. Figure 2 The diagram illustrates the relationship between the client (i.e., the user), the user, and the server. For example, when the user starts or continues playing a target multimedia resource, a timer is started, and the system is in a timing state. A start event is also reported to the server. When the user pauses or drags the target multimedia resource, the timer is paused to end the timing state. A pause event is also reported to the server when the user pauses playback. When the user finishes playing the target multimedia resource, the timer is stopped, and an end event is reported to the server. Figure 2 During the timing process, data is collected at the first time interval (also known as a heartbeat, such as 10 seconds / time), and data is reported once every second time interval (such as 1 minute, equivalent to 6 heartbeats). During the timing period, the user terminal keeps track locally and can determine the first learning duration using the formula HL + S * F * I, where HL is the historical learning duration, S is the playback speed value, F is the heartbeat time (i.e., the first time interval), and I is the number of heartbeats (i.e., the total number of collections when the preset conditions are met). For details, please refer to the aforementioned related content, which will not be repeated here. Through this method, the user terminal can reasonably calculate the learning duration of the target multimedia resource, and while considering playback speed, it can also minimize inaccuracies in the learning duration caused by user dragging or other factors.
[0049] Furthermore, this embodiment fully considers the possibility that the user terminal may fail to report data to the server due to network or other reasons. In order to ensure the success rate of data reporting and enable the server to obtain the playback information of the target multimedia resource in a timely manner and determine the current learning duration in a timely manner, thereby reducing the probability of the learning duration determined by the server being inaccurate due to reporting failure, this embodiment may also perform the following steps (1) and (2):
[0050] Step (1): If a successful reporting event is detected and there is still failure data corresponding to historical failed reporting events on the local machine, continue to report failure data. The failure data includes playback information from failed uploads and / or the first learning duration from failed uploads. For example, the user can report playback information to the server at a preset second time interval, and can also report the first learning duration. Each time playback information is reported, the success of the current report is checked. If a successful reporting event is detected, it is further determined whether there is still previously reported failed data (i.e., failure data corresponding to historical failed reporting events) on the local machine. In practical applications, if a report fails, the failed data can be cached locally for later reporting, ensuring that the server can receive all information and avoiding information omissions.
[0051] Step (2): Upon detecting a current reported failure event, the failure data corresponding to the current reported failure event is stored locally. Specifically, to avoid data redundancy, if historical failure data for reported failure events exists locally, the incremental failure data corresponding to the current reported failure event is stored locally based on this historical data; that is, the failure data corresponding to the current reported failure event is compared with the historical failure data, and only the newly added data is stored locally. If historical failure data does not exist locally, all failure data corresponding to the current reported failure event is stored locally; that is, all failure data corresponding to the current reported failure event is stored locally. This method effectively avoids redundant data storage, saving local cache and preventing duplicate data from being uploaded to the server, thus effectively improving data processing efficiency.
[0052] For easier understanding, please refer to the following: Figure 3 The diagram shown illustrates an information reporting process, which mainly includes the following steps S302 to S314:
[0053] Step S302: Report target data. The target data is the data that needs to be reported, including playback information and / or the first learning duration.
[0054] Step S304: Check if the currently reported target data was successfully submitted. If yes, proceed to step S306; otherwise, proceed to step S310.
[0055] Step S306: Determine if there is any historically reported failed data on the local machine. If yes, proceed to step S308; otherwise, end the process. Specifically, the current reported event ends, and the process can wait for a second time interval to execute the next reported event.
[0056] Step S308: Continue to report historically failed reports that exist locally.
[0057] Step S310: Determine if there is any historical failure data on the local machine. If yes, proceed to step S312; otherwise, proceed to step S314.
[0058] Step S312: Based on the historical failure data, incrementally store the target data locally.
[0059] Step S314: Store the target data in its entirety locally.
[0060] Regardless of whether the current reported target data is successful, it will determine whether there is historically reported failed data locally. That is, steps S306 and S310 are the same, but the purpose of the two determinations is different. If the current report is successful, the purpose of executing step S306 is to continue to report failed data if there is historically reported failed data, so as to ensure that the server can receive comprehensive information, avoid problems such as lost reported data, and further ensure the accuracy of the learning time determined by the server. If the current report fails, the purpose of executing step S310 is to determine the storage method (full or incremental) of the target data that is currently reported failed locally, so as to avoid data storage redundancy. The failed data stored locally can wait for subsequent re-reporting.
[0061] In summary, the learning duration determination method provided in this embodiment allows the user to determine a first learning duration based on playback information periodically collected during timing, the collection interval, the total number of collections, and historical learning durations. The server can also determine a second learning duration based on playback information periodically reported by the user. The first and second learning durations are then combined to determine the current learning duration of the target multimedia resource, effectively ensuring that the final learning duration is more accurate and reliable, thus improving the user experience. Furthermore, this embodiment fully considers information such as playback speed when determining the learning duration, further ensuring its rationality. Also, the above method is not affected by user actions such as dragging the progress bar, and is not simply based on the end playback time. Therefore, the learning duration ultimately determined by the above method provided in this embodiment can reasonably represent the user's actual learning duration, effectively ensuring its accuracy. Subsequent processing or evaluation based on the learning duration is also more reliable, further improving the user experience.
[0062] Corresponding to the aforementioned method for determining learning duration, this disclosure also provides a device for determining learning duration. Figure 4 This is a schematic diagram of a learning duration determination device provided in an embodiment of the present disclosure. The device can be implemented by software and / or hardware, and is generally integrated into the user terminal. Figure 4 As shown, the learning duration determination device 400 includes:
[0063] The collection and reporting module 402 is used to collect playback information corresponding to the target multimedia resource at a preset first time interval and accumulate the number of times the playback information is collected until a preset condition is met to obtain the total number of collections; and to report the playback information to the server at a preset second time interval.
[0064] The first learning duration determination module 404 is used to determine the first learning duration corresponding to the target multimedia resource based on the first time interval, the total number of collections, playback information, and the historical learning duration of the target multimedia resource to be acquired; wherein, the historical learning duration is the learning duration of the target multimedia resource before the timing state.
[0065] The current learning duration determination module 406 is used to report the first learning duration to the server so that the server can determine the current learning duration of the target multimedia resource based on the first learning duration and the second learning duration; wherein, the second learning duration is determined by the server based on the received playback information.
[0066] The device provided in this embodiment allows the user terminal to determine a first learning duration based on playback information, collection interval, total number of collections, and historical learning duration collected periodically during the timing state. The server terminal can also determine a second learning duration based on playback information periodically reported by the user terminal. The first and second learning durations are combined to determine the current learning duration of the target multimedia resource, thereby effectively ensuring that the final learning duration is more accurate and reliable, and improving the user experience.
[0067] In some embodiments, the device further includes a state determination module, configured to determine that the current state is a timing state if a first type of event is detected to have been triggered and a second type of event is not triggered; wherein the first type of event includes: a start event of the target multimedia resource, a continue playback event of the target multimedia resource, or an event to end the adjustment of the playback progress of the target multimedia resource; the second type of event includes: an end event of the target multimedia resource, a pause event of the target multimedia resource, or an event to start adjusting the playback progress of the target multimedia resource.
[0068] In some implementations, the preset conditions include: ending the timing state, or the number of collections reaching a preset number.
[0069] In some implementations, the playback information includes a playback speed value, and the first learning duration determination module 404 is specifically used to: obtain a new learning duration based on the playback speed value, the first time interval, and the total number of collections; and sum the historical learning duration and the new learning duration to obtain the first learning duration currently corresponding to the target multimedia resource.
[0070] In some implementations, the first learning duration determination module 404 is specifically used to: when the playback information contains only one playback speed value, perform product processing based on the playback speed value, the first duration interval, and the total number of collections to obtain the new learning duration.
[0071] In some implementations, the preset condition is that the number of collections reaches a preset number; the first learning duration determination module 404 is specifically used to: when the playback information contains multiple playback speed values, select the maximum value from the multiple playback speed values as the target speed value; and perform product processing based on the target speed value, the first time interval and the total number of collections to obtain the new learning duration.
[0072] In some implementations, the preset condition is the end of the timing state. The first learning duration determination module 404 is specifically used to: when the playback information contains multiple playback speed values, for each playback speed value, count the number of collections corresponding to that playback speed value in the total number of collections, multiply the playback speed value, the number of collections corresponding to that playback speed value, and the first time interval to obtain the product result corresponding to that playback speed value; and sum the product results corresponding to each playback speed value to obtain the new learning duration.
[0073] In some implementations, the playback information also includes playback time information, and the second learning duration is determined by the server based on the playback time information received for the first time and the playback time information received for the last time.
[0074] In some implementations, the current learning duration is the maximum value between the first learning duration and the second learning duration.
[0075] In some embodiments, the device further includes a reporting processing module, configured to continue reporting the failure data when a current successful reporting event is detected and failure data corresponding to historical failed reporting events still exists locally; wherein the failure data includes playback information of failed uploads and / or the first learning duration of failed uploads; and when a current failed reporting event is detected, the failure data corresponding to the current failed reporting event is stored locally.
[0076] In some implementations, the reporting processing module is further configured to: if failure data corresponding to historically reported failure events exists locally, incrementally store the failure data corresponding to the current reported failure event locally based on the failure data corresponding to the historically reported failure events; if failure data corresponding to historically reported failure events does not exist locally, store the failure data corresponding to the current reported failure event locally in its entirety.
[0077] The learning duration determination device provided in this disclosure can execute the learning duration determination method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.
[0078] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the above-described device embodiments can be referred to the corresponding process in the method embodiments, and will not be repeated here.
[0079] Exemplary embodiments of this disclosure also provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to cause the electronic device to perform a method according to an embodiment of this disclosure.
[0080] Exemplary embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a computer's processor, is used to cause the computer to perform a method according to embodiments of this disclosure.
[0081] Exemplary embodiments of this disclosure also provide a computer program product, including a computer program, wherein, when executed by a processor of a computer, the computer program is used to cause the computer to perform a method according to an embodiment of this disclosure.
[0082] The computer program product can be written in any combination of one or more programming languages to perform the operations of the embodiments of this disclosure. The programming languages include object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0083] Furthermore, embodiments of this disclosure can also be computer-readable storage media storing computer program instructions that, when executed by a processor, cause the processor to perform the method for determining the learning duration provided in embodiments of this disclosure. The computer-readable storage medium can be any combination of one or more readable media. A readable medium can be a readable signal medium or a readable storage medium. A readable storage medium can be, for example, including but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0084] refer to Figure 5 The present invention describes a structural block diagram of an electronic device 500 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0085] like Figure 5 As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. The RAM 503 may also store various programs and data required for the operation of the device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0086] Multiple components in electronic device 500 are connected to I / O interface 505, including: input unit 506, output unit 507, storage unit 508, and communication unit 509. Input unit 506 can be any type of device capable of inputting information to electronic device 500. Input unit 506 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device. Output unit 507 can be any type of device capable of presenting information and may include, but is not limited to, a display, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 508 may include, but is not limited to, disks and optical discs. Communication unit 509 allows electronic device 500 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, WiFi devices, WiMa5 devices, cellular communication devices, and / or the like.
[0087] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above. For example, in some embodiments, the method for determining the learning duration can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 500 via ROM 502 and / or communication unit 509. In some embodiments, the computing unit 501 can be configured to perform the method for determining the learning duration by any other suitable means (e.g., by means of firmware).
[0088] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0089] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0090] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0091] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0092] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0093] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
[0094] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0095] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for determining learning duration, applied to the user end, including: While in the current timed state, the playback information corresponding to the target multimedia resource is collected at a preset first time interval and the number of times the playback information is collected is accumulated until a preset condition is met to obtain the total number of collections; and the playback information is reported to the server at a preset second time interval. The playback information includes playback speed and playback time information; Based on the first time interval, the total number of collections, the playback speed value, and the historical learning duration of the target multimedia resource, the first learning duration corresponding to the target multimedia resource is determined. The first learning duration is reported to the server so that the server can determine the current learning duration of the target multimedia resource based on the first learning duration and the second learning duration; wherein, the second learning duration is determined by the server based on the first received playback time information and the last received playback time information, and the current learning duration is the maximum value of the first learning duration and the second learning duration.
2. The method for determining learning duration as described in claim 1, wherein, The method further includes: If the first type of event is detected to have been triggered and the second type of event is not triggered, then it is determined that the current state is a timer. The first type of event includes: the start event of the target multimedia resource, the continuation event of the target multimedia resource, or the event of ending the adjustment of the playback progress of the target multimedia resource; the second type of event includes: the end event of the target multimedia resource, the pause event of the target multimedia resource, or the event of starting the adjustment of the playback progress of the target multimedia resource.
3. The method for determining learning duration as described in claim 1, wherein, The preset conditions include: ending the timer state, or the number of collections reaching a preset number.
4. The method for determining learning duration as described in claim 1, wherein, The step of determining the first learning duration corresponding to the target multimedia resource based on the first time interval, the total number of collections, the playback speed value, and the historical learning duration of the pre-collected target multimedia resource includes: The new learning time is obtained based on the playback speed value, the first time interval, and the total number of collections; The historical learning duration and the newly added learning duration are summed to obtain the first learning duration corresponding to the target multimedia resource at present.
5. The method for determining learning duration as described in claim 4, wherein, The process of obtaining the new learning time based on the playback speed value, the first time interval, and the total number of collections includes: If the playback information contains only one playback speed value, the additional learning time is obtained by multiplying the playback speed value, the first time interval, and the total number of collections.
6. The method for determining learning duration as described in claim 4, wherein, The preset condition is that the number of collections reaches a preset number; The process of obtaining the new learning time based on the playback speed value, the first time interval, and the total number of collections includes: When the playback information contains multiple playback speed values, the maximum value among the multiple playback speed values is selected as the target speed value. The additional learning time is obtained by multiplying the target speed value, the first time interval, and the total number of collections.
7. The method for determining learning duration as described in claim 4, wherein, The preset condition is the end of the timer state. The process of obtaining the new learning time based on the playback speed value, the first time interval, and the total number of collections includes: When the playback information contains multiple playback speed values, for each playback speed value, the number of times the playback speed value is collected in the total number of collections is counted, and the playback speed value, the number of times the playback speed value is collected, and the first time interval are multiplied to obtain the product result corresponding to the playback speed value. The product results corresponding to each playback speed value are summed to obtain the additional learning time.
8. The method for determining learning duration as described in any one of claims 1 to 7, wherein, The method further includes: If a successful upload event is detected and there is still failure data corresponding to historical failed upload events on the local machine, the failure data will continue to be reported; wherein, the failure data includes playback information of the failed upload and / or the first learning duration of the failed upload. If a current reporting failure event is detected, the failure data corresponding to the current reporting failure event will be stored locally.
9. The method for determining learning duration as described in claim 8, wherein, The step of storing the failure data corresponding to the currently reported failure event locally includes: If there is historical failure data corresponding to reported failure events in the local storage, the failure data corresponding to the current reported failure event is incrementally stored locally based on the historical failure data corresponding to reported failure events. If no failure data corresponding to a historically reported failure event exists locally, all failure data corresponding to the currently reported failure event will be stored locally.
10. A device for determining learning duration, applied at a user end, comprising: The collection and reporting module is used to collect playback information corresponding to the target multimedia resource at a preset first time interval and accumulate the number of times the playback information is collected until a preset condition is reached to obtain the total number of collections; and to report the playback information to the server at a preset second time interval. The playback information includes playback speed and playback time information; The first learning duration determination module is used to determine the first learning duration corresponding to the target multimedia resource based on the first time interval, the total number of collections, the playback speed value, and the historical learning duration of the target multimedia resource that is pre-acquired; wherein, the historical learning duration is the learning duration of the target multimedia resource before the timing state; The current learning duration determination module is used to report the first learning duration to the server so that the server can determine the current learning duration of the target multimedia resource based on the first learning duration and the second learning duration; wherein, the second learning duration is determined by the server based on the first received playback time information and the last received playback time information, and the current learning duration is the maximum value of the first learning duration and the second learning duration.
11. An electronic device, comprising: processor; as well as Stored program memory, The program includes instructions that, when executed by the processor, cause the processor to perform the method for determining the learning duration according to any one of claims 1-9.
12. A computer-readable storage medium, wherein, The storage medium stores a computer program for executing the method for determining the learning duration as described in any one of claims 1-9.
Citation Information
Patent Citations
Data synchronization method
CN107347090A
Video effective playing duration statistical method and device, server and storage medium
CN112261447A
Method and device for acquiring video watching duration
CN113163235A
Resource playing duration determination method and device, electronic equipment and storage medium
CN113992990A