A method, device, and storage medium for pushing out student course selection information to classrooms.

By combining local computation on the user end with collaborative computation on the server, the problem of server crashes in traditional course selection systems has been solved, thereby improving the network throughput performance of the course selection system and the number of available classes for users.

CN117171434BActive Publication Date: 2026-03-06HUNAN QIANGZHI TECH DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311076317.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-24
Publication Date
2026-03-06
Estimated Expiration
2043-08-24

AI Technical Summary

Technical Problem

In schools with limited hardware resources, traditional student course selection systems often crash due to excessive computational load, making it difficult for users to select satisfactory courses.

Method used

By performing local computations on the user end, the computational load on the server and the network transmission pressure are reduced. Combined with collaborative computation between the server and the user end, optional classes can be pushed.

Benefits of technology

Within limited environmental resources, we can reduce network bandwidth pressure, improve the throughput performance of course selection servers and networks, and ensure that users always have enough available classes to choose from.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117171434B_ABST
    Figure CN117171434B_ABST
Patent Text Reader

Abstract

This application relates to the field of intelligent course selection technology, and particularly to a method, device, and storage medium for pushing classroom options for student course selection. When a first number of available classrooms is received from the server, they are displayed and stored locally. When the server needs to push again, a second number is generated and sent to the server, so the server only needs to calculate the second number of available classrooms. When the server receives the second number of available classrooms pushed again, a third number of available classrooms is selected from the local cache, and the second and third numbers are displayed together on the interface, ensuring that the first number of available classrooms is always displayed on the visual interface to assist the user in course selection. This method, by combining local user-side computation with server computation, reduces the computational pressure on the server and improves the throughput performance of the course selection server and the network within limited environmental resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent course selection technology, and in particular to a method, device and storage medium for pushing classroom course selection information to students. Background Technology

[0002] Traditional student course selection involves filtering classes based on students' available options, then allowing students to choose courses. This process involves massive amounts of data transmission between servers and users. For some schools, limited hardware resources increase the computational burden on servers, often leading to server crashes and problems with student course selection. Even after accessing the course selection center, finding satisfactory courses can be extremely difficult. Summary of the Invention

[0003] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.

[0004] The main objective of this disclosure is to provide a method, device, and storage medium for pushing classroom information on student course selection.

[0005] To achieve the above objectives, a first aspect of this disclosure provides a method for pushing classroom information on student course selection to a user terminal. The method includes the following steps:

[0006] The system receives a set of classes containing a preset first number of optional classes pushed by the server, displays all optional classes in the set on a visual interface, and stores the set locally; wherein, the optional classes in the set are predicted by the server based on the initial optional classes browsed by the user on the visual interface;

[0007] When a user browses the available classrooms in the classroom set on the visual interface, a second number is generated and sent to the server so that the server can predict the second number of available classrooms based on the available classrooms currently being browsed by the user.

[0008] The system receives the second number of optional classes pushed by the server and retrieves a third number of optional classes from the locally stored set of classes; wherein the sum of the second number and the third number is equal to the first number.

[0009] The second number of selectable classes and the third number of selectable classes are displayed on the visual interface.

[0010] In some embodiments, after the second number of selectable classes and the third number of selectable classes are displayed on the visual interface, the method for pushing classes to students for course selection further includes:

[0011] The first number of selectable classes currently displayed on the visual interface are stored in the class set, overwriting all previously stored classes, and the class set is stored locally;

[0012] When a user browses the available classrooms in the classroom set on the visual interface, a fourth number is generated and sent to the server so that the server can predict the fourth number of available classrooms based on the available classrooms currently being browsed by the user.

[0013] Upon receiving the fourth number of selectable classes pushed by the server, a fifth number of selectable classes are retrieved from the locally stored set of classes, and the fourth and fifth number of selectable classes are displayed on the visual interface; wherein the sum of the fourth and fifth numbers is equal to the first number.

[0014] In some embodiments, the second quantity is equal to the fourth quantity, and the first quantity is twice the second quantity.

[0015] In some embodiments, the second quantity is generated in the following manner:

[0016] F = min + Radom(X) {F ≤ N / 2}

[0017] Where Radom is a random generation function, min is a preset minimum value, N is the first quantity, F is the second quantity, and X ranges from [1, N / 2-1].

[0018] In some embodiments, the step of predicting the first number of selectable classes based on the initial selectable classes viewed by the user on the visual interface includes:

[0019] A piecewise regression equation is constructed based on the basic characteristics of users' course selection and the course characteristics of available classrooms;

[0020] The piecewise regression equation was trained using historical course selection data from the school to obtain the trained prediction model;

[0021] Based on the trained prediction model, a first number of selectable classrooms are predicted according to the course characteristics of the initial selectable classrooms.

[0022] In some embodiments, the course features include course categories, course types, and course attributes; the piecewise regression equation includes:

[0023]

[0024] Where, x i Let b be the basic characteristics of a user's course selection, and w be the bias matrix. TLet θ be the piecewise function to be computed during training. i Let α be a dictionary function for the course category. i β is a dictionary function for the course category. i m is a dictionary function for the course attributes. n For θ i α i ,β i Weight matrices of the three course feature dictionaries.

[0025] In some embodiments, predicting a first number of selectable classrooms based on the course characteristics of the initially selectable classrooms using the trained prediction model includes:

[0026] Based on the trained prediction model, a certain number of selectable classrooms are predicted according to the course category, course type, and course attribute of the initial selectable classrooms.

[0027] The first number of optional classrooms are randomly selected from a certain number of optional classrooms corresponding to the course category, course type, and course attribute.

[0028] To achieve the above objectives, a second aspect of this disclosure provides a method for pushing classroom information on student course selection to a server. The method includes:

[0029] Obtain the initial selectable classes that the user is browsing in the user's visual interface;

[0030] Calculate the first number of selectable classrooms based on the initial selectable classrooms;

[0031] The first number of selectable classes are sent to the user terminal, so that the user terminal displays the first number of selectable classes on the visual interface and stores the first number of selectable classes as a class set locally on the user terminal.

[0032] Receive the second number generated by the user terminal, and calculate the second number of selectable classrooms based on the selectable classrooms of the classroom set currently being viewed by the user on the visual interface;

[0033] The second number of optional classes is sent to the user terminal, so that the user terminal can call up a third number of optional classes from the locally stored set of classes, and display the second number of optional classes and the third number of optional classes on the visual interface; wherein the sum of the second number and the third number is equal to the first number.

[0034] To achieve the above objectives, a third aspect of the present disclosure provides an electronic device including at least one memory;

[0035] At least one processor;

[0036] At least one computer program;

[0037] The computer program is stored in the memory, and the processor executes the at least one computer program to achieve:

[0038] The classroom push method for student course selection as described in any of the embodiments of the first aspect.

[0039] To achieve the above objectives, a fourth aspect of this disclosure also provides a computer-readable storage medium storing computer-executable instructions for causing a computer to perform:

[0040] The classroom push method for student course selection as described in any of the embodiments of the first aspect.

[0041] The first aspect of this application provides a method for pushing classroom options to students during course selection. When a user receives the first number of available classrooms pushed by the server, it displays them and stores them locally. When a second push is needed, the user calculates a second number of available classrooms, eliminating the need for the server to recalculate the first number and reducing computational load and pressure on the campus network. When the user receives the second number of available classrooms pushed by the server, it selects a third number from the locally cached list. Finally, the second and third numbers of available classrooms are displayed together on the interface, ensuring that the first number of available classrooms is always available for the user's course selection. This method, through a combination of local user-side computation and server computation, significantly reduces network bandwidth limitations and improves the throughput performance of the course selection server and network within limited environmental resources.

[0042] It is understood that the beneficial effects of the second to fourth aspects compared with the related technologies are the same as the beneficial effects of the first aspect compared with the related technologies. Please refer to the relevant description in the first aspect above, which will not be repeated here. Attached Figure Description

[0043] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0044] Figure 1This is a schematic diagram of a system architecture for a classroom push method for student course selection provided in one embodiment of this application;

[0045] Figure 2 This is a flowchart illustrating a classroom push method for student course selection provided in one embodiment of this application;

[0046] Figure 3 Based on Figure 2 A schematic diagram of the subsequent steps in the middle section;

[0047] Figure 4 yes Figure 2 The flowchart for step S120 in the process of predicting the first number of optional classrooms is shown below;

[0048] Figure 5 This is a flowchart illustrating a classroom push method for student course selection provided in another embodiment of this application;

[0049] Figure 6 This is a schematic diagram of the structure of an electronic device provided in one embodiment of this application. Detailed Implementation

[0050] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0051] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, and the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0053] Currently, course selection is a crucial part of university teaching activities, especially in comprehensive universities. The course selection module of academic management software is a key component supporting this process. With a focus on student-centered learning and personalized needs, improving course selection performance, reducing student dwell time, and ensuring satisfactory course selection have become key research areas.

[0054] Traditional student course selection involves filtering classes based on students' available options, then allowing students to choose courses. This process involves a large amount of data being transmitted between servers and users. For some schools, due to limited hardware resources, server crashes and student course selection issues frequently occur, making it difficult to find satisfactory courses even after accessing the course selection center.

[0055] Currently, the mainstream solution for schools is to adopt horizontal scaling, which improves the smoothness of student course selection and ensures uninterrupted service by increasing server computing resources or network bandwidth. After all, schools have limited environmental resources and need to provide students with the best possible service within controllable computing and network bandwidth capabilities.

[0056] General Description of Embodiments in this Disclosure

[0057] like Figure 1 As shown, the system architecture used in one embodiment of this disclosure includes the following:

[0058] Client and server;

[0059] (1) The user terminal can be the computer or mobile terminal (such as a mobile phone) of the user (i.e., the student) for course selection. The user can browse relevant information through the APP set on the user terminal, such as entering the course selection program and browsing the classes.

[0060] (2) Server, i.e., server, is mainly used for data calculation, etc.

[0061] Classroom recommendations refer to the suggestions of similar or suitable available classes when users browse class information on the app. Similar to the list of related products recommended when browsing products on a shopping platform, pushing classes to users can improve the efficiency of course selection.

[0062] Classroom push notifications require pre-calculation of available classes to be pushed, and then the push notifications are sent. Currently, the data calculation is usually done by the server. Since course selections are concentrated in a certain period of time, the number of user clicks surges, while the processing efficiency of the school's basic equipment is limited. This can lead to network crashes, and users will not be able to select satisfactory classes.

[0063] In this embodiment, the calculation and push of the maximum number of selectable classes that can be pushed at one time is not solely performed by the server. Instead, the user terminal participates in the push of selectable classes. Each time a push is made, the server reduces the calculation of selectable classes, and the user terminal completes the recommendation of the remaining selectable classes. This reduces the computational pressure on the server and the transmission pressure between the server and the user terminal. In a limited environment, it greatly reduces network bandwidth and improves the throughput performance of the course selection server and the network.

[0064] Detailed Description of Embodiments in This Disclosure

[0065] Reference Figure 2 One embodiment of this application provides a method for sending class information to users regarding their course selections. This method includes the following steps:

[0066] Step S110: Receive a set of classrooms containing a preset first number of optional classrooms pushed by the server, display all optional classrooms in the classroom set on the visual interface, and store the classroom set locally; wherein, the optional classrooms in the classroom set are predicted by the server based on the initial optional classrooms browsed by the user on the visual interface.

[0067] Step S120: When a user browses the available classrooms in the classroom set on the visual interface, a second number is generated and sent to the server so that the server can predict the second number of available classrooms based on the available classrooms currently being browsed by the user.

[0068] Step S130: Receive a second number of optional classes pushed by the server, and call a third number of optional classes from the locally stored set of classes; wherein the sum of the second number and the third number is equal to the first number.

[0069] Step S140: Display the second and third number of selectable classrooms on the visual interface.

[0070] In step S110 of this embodiment, "selectable classrooms" refers to the classrooms that users participating in course selection can choose. Here, we use "College English" as an example to illustrate the relationship between classrooms and courses: the course is College English, and the classroom refers to the number of classes offered by the school. College English offers four classrooms, each taught by a corresponding teacher. The "first quantity" is a preset number, meaning that when a user browses a selectable classroom on the APP's visual interface, a first quantity of selectable classrooms will be displayed as recommended classrooms at a certain point on the visual interface (below). The first quantity is not specifically limited here. The first quantity of selectable classrooms is calculated by the server and sent to the user's end. The user only needs to receive these, displaying them on the visual interface for viewing, and also storing them locally, such as in a cookie (browser) or the local APP. The purpose of storing them is so that when pushed again later, the corresponding classrooms can be directly retrieved from the local cache. The server calculates this based on the user browsing an initial selectable classroom on the visual interface. Since recommendation calculation is a common technique, it is not specifically limited here; it will be described in detail in subsequent embodiments. In step S110 of this embodiment, a classroom set is set up. After receiving a certain number of selectable classrooms, they will be stored in the form of a set.

[0071] In step S120 of this embodiment, since the above steps have already obtained a certain number of selectable classes transmitted by the server and displayed on the visual interface, as long as the user clicks on any of the pushed selectable classes, further pushes are needed for course selection. In traditional technology, the server needs to recalculate and push a corresponding number (i.e., a pre-set first number) of selectable classes. This embodiment makes an adjustment: the user terminal generates a second number, which is less than the first number. The user terminal sends the second number to the server. At this time, the server will not calculate the first number of classes, but only the second number of selectable classes. This reduces the number of calculations and the transmission pressure, which is usually high when there is a lot of data. The embodiment of the server calculating selectable classes will be described later and will not be repeated here.

[0072] In step S130 of this embodiment, after the user receives the second number of selectable classes pushed by the server, normally the classes pushed by the server need to be displayed on the visual interface. However, at this time, the number of pushable selectable classes is less than the first number. Therefore, a third number of selectable classes are retrieved from the locally stored set of classes. In this way, the user can select the third number of selectable classes from the first number of selectable classes saved in step S110 above, and display the third number of selectable classes and the second number of classes pushed by the server on the visual interface. It should be noted that the selection of the third number of selectable classes from the locally stored set is not limited here; see subsequent embodiments for details.

[0073] The final step is to display the received and accessed optional classes on the interface.

[0074] In this embodiment, when the user receives the first number of available classes pushed by the server, it displays them and stores them locally. When another push is needed, the user calculates a second number, eliminating the need for the server to recalculate the first number of classes, thus reducing computational load and pressure on the campus network. When the user receives the second number of available classes pushed by the server, it selects a third number of available classes from the locally cached list. Finally, the second and third numbers of available classes are displayed together on the interface, ensuring that the first number of available classes is always available for the user to choose courses. This method, by combining local user-side computation with server computation, significantly reduces network bandwidth and improves the throughput performance of the course selection server and network within limited environmental resources.

[0075] Reference Figure 3In one embodiment of this application, the above steps implement the process of the server's initial push and subsequent push. Since it is also necessary to calculate how to reduce the server's computational load, this method further includes the following steps S150-S170:

[0076] Step S150: Store the first number of selectable classes currently displayed on the visual interface in the class set and overwrite all previously stored classes, and store the class set locally.

[0077] Step S160: When a user browses the available classrooms in the classroom set on the visual interface, a fourth number is generated and sent to the server so that the server can predict the fourth number of available classrooms based on the available classrooms currently being browsed by the user.

[0078] Step S170: After receiving the fourth number of optional classes pushed by the server, retrieve the fifth number of optional classes from the locally stored class set, and display the fourth and fifth number of optional classes on the visual interface; wherein, the sum of the fourth and fifth numbers is equal to the first number.

[0079] First, this embodiment applies to all push scenarios after the first push and subsequent pushes described in the above embodiment.

[0080] In step S150 of this embodiment, the first number of selectable classes currently displayed on the visual interface are stored locally for subsequent retrieval processing. Since a class set has been set up, the local storage still contains selectable classes previously pushed by the server; therefore, the previously stored classes need to be overwritten to avoid being affected by previous classes. Of course, the previously stored classes can be transferred to a database; this is not limited here.

[0081] In step S160 of this embodiment, when the user is browsing the previously pushed optional classes, the user's client calculates and generates a fourth quantity, which is then sent to the server so that the server can predict the fourth quantity of optional classes based on the user's currently browsing optional classes. This fourth quantity can be different from or the same as the second quantity, depending on the current network conditions, or it can be randomly selected.

[0082] In step S170 of this embodiment, after receiving the fourth number of optional classes pushed by the server, it is still not enough to reach the first number. Therefore, it is necessary to call the fifth number of optional classes from the locally stored class set and display the fourth and fifth number of optional classes on the visual interface so that the visual interface has a total of the first number of optional classes.

[0083] This embodiment reduces the amount of computation on the server and the pressure on campus network transmission with each push.

[0084] In some embodiments of this application, the server initially pushes a first number of selectable classes, and each subsequent push pushes a second number of selectable classes, meaning the second number equals the fourth number. This eliminates the need for the user to calculate the number of classes to be pushed each time. After the initial push and receiving the second number to be pushed again, the server records the second number. Subsequent pushes only require predicting and sending the second number of selectable classes.

[0085] In some embodiments of this application, the first quantity is twice the second quantity. In this embodiment, the first quantity of optional classes, which was originally calculated by the server, is divided into half calculated by the server and the remaining half calculated by the user.

[0086] In some embodiments of this application, the second quantity is generated in the following manner:

[0087] F1 = min + Radom(Z) {F1 ≤ N / 2}

[0088] Where Radom is a random generation function, mmin is a preset minimum value (default is 1), N is the first quantity, F1 is the second quantity, and X ranges from [1, N / 2-1].

[0089] In some embodiments of this application, when the second quantity differs from the fourth quantity, the fourth quantity is generated in the following manner:

[0090] F2 = min + Radom(X) {F2 ≤ N / 2}

[0091] Where Radom is a random generation function, min is a preset minimum value (default is 1), N is the first quantity, F2 is the second quantity, and X ranges from [1, N / 2-1].

[0092] The following is an introduction to the optional classroom for server selection:

[0093] Reference Figure 4 In some embodiments of this application, the step S120 above, which predicts the first number of selectable classrooms based on the initial selectable classrooms browsed by the user on the visual interface, includes steps S1210-S1230:

[0094] Step S1210: Construct a piecewise regression equation based on the user's basic course selection characteristics and the course characteristics of the available classrooms.

[0095] Step S1220: Train the piecewise regression equation using the school's historical course selection data to obtain the trained prediction model.

[0096] Step S1230: Based on the trained prediction model, predict the first number of selectable classrooms according to the course characteristics of the initially selectable classrooms.

[0097] In step S1210 of this embodiment, a targeted improvement is made to the logistic regression method. Specifically, a piecewise regression equation is proposed based on the course characteristics of selectable classes. Compared to deep learning solutions, this equation inherits the advantages of logistic regression, such as simple implementation, low computational cost, and high speed, making it particularly suitable for resource-limited environments like campuses. Furthermore, adaptive modifications are made to address the specific scenario of student course selection, thereby improving the accuracy of predicted classes. In step S1210, the basic characteristics of user course selection and the course characteristics of selectable classes are selected to jointly construct the piecewise regression equation, emphasizing the correlation between these two different sub-types of characteristics. The basic characteristics of user course selection include, but are not limited to: department, major, class, gender, tutor, selected courses, age, credits, and class hours. These basic characteristics can be determined in advance based on user information. The course characteristics of selectable classes include, but are not limited to: required professional courses, basic professional courses, professional elective courses, theory-based experiments, physical education courses, required, limited elective, and optional courses, etc., specifically as specified by the school.

[0098] In some embodiments, the above-mentioned course characteristics are divided into: course categories, course types, and course attributes. The piecewise regression equation includes the following:

[0099]

[0100] Where, x i Let b be the basic characteristics of a user's course selection, and w be the bias matrix. T Let θ be the piecewise function to be computed during training. i For a dictionary function of course categories, α i A dictionary function for course categories, β i A dictionary function for course attributes, m n For θ i α i ,β i Weight matrices of the three course feature dictionaries.

[0101] Since course categories, course types, and course attributes are set in dictionary form, their content can be modified or adjusted. This embodiment divides the course characteristics of the optional classrooms into three categories—course categories, course types, and course attributes—to increase the number of classroom classification types, thereby improving the accuracy of model predictions. The specific content of course categories, course types, and course attributes is not limited here; they can be pre-set by the system management based on the college's situation. For example, course categories include, but are not limited to: required professional courses, basic professional courses, and elective professional courses; course attributes include, but are not limited to: required, limited elective, and optional.

[0102] In the above function g(x) i In ), θ is set i α i ,β i Three dictionaries were used, and a summation formula was constructed, namely, in g(x) i Three piecewise equations were constructed in the model, fully considering θ. i α i ,β i x i The correlation between these four types of features is used to improve the prediction accuracy of available classrooms. Because m n For θ i, α i ,β i The weight matrices of the three course feature dictionaries are pre-set values, θ. i α i ,β i x i Both b and are known in advance, therefore the function w needs to be calculated. T w T It refers to a piecewise function.

[0103] In step S1220 of the embodiment, a piecewise regression equation is trained using historical course selection data from the school, and w is calculated. T This yields the trained prediction model.

[0104] In step S1230 of this embodiment, by knowing the initial selectable classrooms, the course category, course type, and course attributes (due to g(x)) of the initial selectable classrooms can be determined. i The system constructs three piecewise equations, which can then predict multiple optional classes belonging to the course category, course type, and course attribute, respectively. Finally, a certain number of optional classes are selected from each sub-category to form the first set of optional classes, which will be pushed to the user for the first time.

[0105] It should be noted that a certain number of selectable classes can be calculated for each subcategory, and then randomly selected.

[0106] It should also be noted that this embodiment only describes an example of the server calculating the first number of selectable classes during the initial push. Subsequent pushes will follow the same method, except that the training model does not need to reach the first number of selectable classes.

[0107] Reference Figure 5 In some embodiments of this application, a method for pushing classroom information for student course selection is provided, for use by a server:

[0108] Step S210: Obtain the initial selectable classrooms that the user browses in the user's visual interface.

[0109] Step S220: Calculate the first number of selectable classrooms based on the initial selectable classrooms.

[0110] Step S230: Send the first number of selectable classes to the user terminal so that the user terminal can display the first number of selectable classes on the visual interface and store the first number of selectable classes as a class set locally on the user terminal.

[0111] Step S240: Receive the second number generated by the user terminal, and calculate the second number of selectable classrooms based on the selectable classrooms in the currently viewed classroom set on the visual interface.

[0112] Step S250: Send the second number of optional classes to the user terminal so that the user terminal can call the third number of optional classes from the locally stored class set and display the second number of optional classes and the third number of optional classes on the visual interface; wherein, the sum of the second number and the third number is equal to the first number.

[0113] It should be noted that the content executed by the server in this embodiment is based on the same inventive concept as the above embodiment, and therefore the content is the same. Therefore, the specific details will not be described in detail.

[0114] In some embodiments of this application, a method for pushing classroom information on student course selection is provided, the method including the following steps S310-S390.

[0115] Step S310: Initialization, the server constructs a piecewise regression equation:

[0116]

[0117] In x i In the Chinese curriculum, the following information is used: department, major, class, gender, tutor, and selected courses are coded using one-hot encoding, while age, credits, and class hours are coded using segmented encoding.

[0118] Step S320: Using historical school data, the gradient descent method is applied to the function g(x)i Training and verification are conducted to determine a suitable w. T .

[0119] Step S330: Server first push;

[0120] When each user browses the details of an available class on the user-side app, based on the previously trained g(x)... i Based on the course category, class type, and course attributes of the current class, the system calculates the top N most likely classes that students are to choose, assisting students in course selection. The function retrieves the top N+1 available classes from three consecutive dictionary segmentation functions, merges them into a set of (N+1)*3 records, and then randomly selects N classes from this set. In this embodiment, N is set to 10 by default.

[0121] The server returns a set of N selectable classes and pushes it to the user's client.

[0122] Step S340, User-side display and storage:

[0123] The user's client displays N selectable classes on a visual interface and stores them in the user's local app.

[0124] Step S350: The user terminal calculates an F value based on the situation;

[0125] In one scenario, a user-local script uses a random function to calculate the number of available classes that need to be pushed by the server. The random function is as follows:

[0126] F = min + Radom(X) {F ≤ N / 2}

[0127] In one scenario, the user can select the optimal F value based on the current network conditions. For example, first set an optimal F value according to different network conditions (such as throughput), and then select the corresponding optimal F value when the current network conditions are met.

[0128] Step S360: The user sends the F value to the server;

[0129] Step S370: The server calculates F optional classes based on the currently viewed optional classes on the user's end, and sends the F optional classes to the user's end.

[0130] Step S380: After the user receives the service return value, a script is used to combine the F available classes from this session with the available classes cached in the local APP and display them together in the APP.

[0131] The calculation function is as follows:

[0132] R = Radom(before) + current

[0133] `before` refers to the N available classes stored in the local app last time, from which `NF` records are randomly selected; `current` refers to the current server return value, i.e., F available classes. The latest set `R` (N available classes) is pushed to the user to assist in course selection.

[0134] Step S390: The user terminal stores the currently displayed batch of R sets in the local APP, overwriting the previously stored records, for use in the next server push process.

[0135] This embodiment combines local client-side computing with server-side computing to significantly reduce network bandwidth and improve the throughput performance of the course selection server and the network within limited environmental resources.

[0136] This application provides a classroom push device for student course selection in some embodiments. The classroom push device for student course selection includes: a first receiving unit, a quantity generation unit, and a second receiving unit, wherein:

[0137] The first receiving unit is configured to receive a set of classrooms containing a preset first number of optional classrooms pushed by the server, display all optional classrooms in the classroom set on a visual interface, and store the classroom set locally; wherein, the optional classrooms in the classroom set are predicted by the server based on the initial optional classrooms browsed by the user on the visual interface;

[0138] The quantity generation unit is used to generate a second quantity when a user browses the selectable classrooms in the classroom set on the visual interface, and send the second quantity to the server so that the server can predict the second quantity of selectable classrooms based on the selectable classrooms currently browsed by the user.

[0139] The second receiving unit is used to receive a second number of optional classes pushed by the server, retrieve a third number of optional classes from the locally stored set of classes, and display the second and third number of optional classes on the visual interface; wherein the sum of the second and third numbers is equal to the first number.

[0140] It should be noted that the student course selection classroom push device in this application embodiment is based on the same inventive concept as the aforementioned student course selection classroom push method. Therefore, the student course selection classroom push device in this application embodiment corresponds to the aforementioned student course selection classroom push method. For the specific implementation process, please refer to the aforementioned student course selection classroom push method, which will not be repeated here.

[0141] This application provides a classroom push device for student course selection in some embodiments. The classroom push device for student course selection includes: a first calculation unit, a first push unit, a second calculation unit, and a second push unit, wherein:

[0142] The first calculation unit is used to obtain the initial selectable classes that the user browses on the user's visual interface; and to calculate the first number of selectable classes based on the initial selectable classes.

[0143] The first push unit is used to send a first number of selectable classes to the user terminal, so that the user terminal can display the first number of selectable classes on the visual interface and store the first number of selectable classes as a class set locally on the user terminal.

[0144] The second calculation unit is used to receive the second number generated by the user terminal and calculate the second number of selectable classrooms based on the selectable classrooms in the currently viewed classroom set on the visual interface.

[0145] The second push unit is used to send a second number of optional classes to the user terminal, so that the user terminal can call a third number of optional classes from the locally stored class set, and display the second number of optional classes and the third number of optional classes on the visual interface; wherein, the sum of the second number and the third number is equal to the first number.

[0146] It should be noted that the student course selection classroom push device in this application embodiment is based on the same inventive concept as the aforementioned student course selection classroom push method. Therefore, the student course selection classroom push device in this application embodiment corresponds to the aforementioned student course selection classroom push method. For the specific implementation process, please refer to the aforementioned student course selection classroom push method, which will not be repeated here.

[0147] This application also provides an electronic device, which includes:

[0148] At least one memory;

[0149] At least one processor;

[0150] At least one program;

[0151] The program is stored in memory, and the processor executes at least one program to implement the above-described student course selection classroom push method of this disclosure.

[0152] This electronic device can be any smart terminal, including mobile phones, tablets, personal digital assistants (PDAs), and in-vehicle computers.

[0153] The following is combined with Figure 6 The electronic devices described in the embodiments of this application will be described in detail.

[0154] like Figure 6 , Figure 6 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes:

[0155] The processor 1600 can be implemented using a general-purpose central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this disclosure.

[0156] The memory 1700 can be implemented as a read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory 1700 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1700 and is called and executed by the processor 1600 to execute the student course selection classroom push method of the embodiments of this disclosure.

[0157] The input / output interface 1800 is used to implement information input and output.

[0158] The communication interface 1900 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0159] Bus 2000 transmits information between various components of the device (e.g., processor 1600, memory 1700, input / output interface 1800, and communication interface 1900);

[0160] The processor 1600, memory 1700, input / output interface 1800 and communication interface 1900 communicate with each other within the device via bus 2000.

[0161] This disclosure also provides a storage medium, which is a computer-readable storage medium storing computer-executable instructions for causing a computer to execute the above-described student course selection classroom push method.

[0162] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, which can be linked to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0163] The embodiments described in this disclosure are for the purpose of more clearly illustrating the technical solutions of this disclosure and do not constitute a limitation on the technical solutions provided by this disclosure. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by this disclosure are also applicable to similar technical problems.

[0164] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this disclosure, and may include more or fewer steps than shown, or combine certain steps, or different steps.

[0165] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0166] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.

[0167] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. 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 apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0168] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0169] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication links shown or discussed may be through some interfaces; the indirect coupling or communication links between apparatuses or units may be electrical, mechanical, or other forms.

[0170] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0171] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0172] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause an electronic device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0173] The above is a detailed description of the preferred embodiments of this application. However, the embodiments of this application are not limited to the above-described implementation methods. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of the embodiments of this application. All such equivalent modifications or substitutions are included within the scope defined by the claims of the embodiments of this application.

Claims

1. A class pushing method for student course selection, characterized in that, The classroom pushing method for student course selection comprises the following steps for a user end: receiving a classroom set containing a preset first number of selectable classrooms pushed by a server, displaying all the selectable classrooms in the classroom set on a visual interface, and storing the classroom set locally; wherein the selectable classrooms in the classroom set are predicted by the server according to initial selectable classrooms browsed by the user on the visual interface; generating a second number when the user browses the selectable classrooms in the classroom set on the visual interface, and sending the second number to the server so that the server predicts the second number of selectable classrooms according to the currently browsed selectable classrooms by the user; receiving the second number of selectable classrooms pushed by the server, and calling a third number of selectable classrooms from the classroom set stored locally; wherein the sum of the second number and the third number is equal to the first number; displaying the second number of selectable classrooms and the third number of selectable classrooms on the visual interface.

2. The method of claim 1, wherein, After displaying the second number of selectable classrooms and the third number of selectable classrooms on the visual interface, the classroom pushing method for student course selection further comprises: storing a total of the first number of selectable classrooms currently displayed on the visual interface in the classroom set and covering all the previously stored classrooms, and storing the classroom set locally; generating a fourth number when the user browses the selectable classrooms in the classroom set on the visual interface, and sending the fourth number to the server so that the server predicts the fourth number of selectable classrooms according to the currently browsed selectable classrooms by the user; after receiving the fourth number of selectable classrooms pushed by the server, calling a fifth number of selectable classrooms from the classroom set stored locally, and displaying the fourth number of selectable classrooms and the fifth number of selectable classrooms on the visual interface; wherein the sum of the fourth number and the fifth number is equal to the first number.

3. The method of claim 2, wherein, The second number is equal to the fourth number, and the first number is twice the second number.

4. The method of claim 1, wherein, The second number is generated by the following methods: wherein, is a randomly generated function, is a predetermined minimum value, is the first number, is the second number and , the range of is [1, N / 2-1].

5. The method of claim 1, wherein, the first number of selectable classrooms is predicted according to the initial selectable classrooms browsed by the user on the visual interface, comprising: constructing a segmented regression equation according to the basic characteristics of the user's course selection and the course characteristics of the selectable classrooms; training the segmented regression equation using historical course selection data of the school to obtain a trained prediction model; predicting the first number of selectable classrooms according to the course characteristics of the initial selectable classrooms based on the trained prediction model.

6. The method of claim 5, wherein, The course characteristics include course category, course type and course attribute; the segmented regression equation comprises: wherein, is a user's basic feature of course selection, is a bias matrix, is a segmented function to be trained computation, is a dictionary function of the course major, is a dictionary function of the course category, is a dictionary function of the course attribute, is a weight matrix of three course feature dictionaries.

7. The method of claim 6, wherein, predicting the first number of selectable classrooms according to the course characteristics of the initial selectable classrooms based on the trained prediction model, comprising: predicting a certain number of selectable classrooms according to the course category, course type and course attribute of the initial selectable classrooms respectively based on the trained prediction model; Randomly select the first number of optional classrooms from the certain number of optional classrooms corresponding to the course category, the course type and the course attribute respectively.

8. A method for class push of student enrollment, characterized in that, The classroom pushing method for the server includes: Obtain the initial optional classrooms browsed by the user on the visual interface of the user terminal; Calculate the first number of optional classrooms according to the initial optional classrooms; Send the first number of optional classrooms to the user terminal, so that the user terminal displays the first number of optional classrooms on the visual interface and stores the first number of optional classrooms in a classroom set in the local of the user terminal; Receive the second number generated by the user terminal and calculate the second number of optional classrooms according to the optional classrooms currently browsed by the user on the visual interface of the classroom set; Send the second number of optional classrooms to the user terminal, so that the user terminal calls the third number of optional classrooms from the classroom set stored in the local and displays the second number of optional classrooms and the third number of optional classrooms on the visual interface; wherein the sum of the second number and the third number is equal to the first number.

9. An electronic device, comprising: comprise: at least one memory; at least one processor; at least one computer program; The computer program is stored in the memory, and the processor executes the at least one computer program to realize: The classroom pushing method for the student to select courses according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer executable instructions for making the computer execute: The classroom pushing method for the student to select courses according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Course selecting method and system

    CN104680452A

  • Conference reservation processing method and device

    CN111798013A