Remote teaching method and device based on signaling driving

By using a signaling-driven remote teaching method, efficient synchronization and page consistency between teacher and student clients were achieved, solving stability and interactivity issues in remote teaching, supporting diverse course content updates and interactions, and improving the teaching experience.

CN120935240APending Publication Date: 2025-11-11BEIJING YUNRONG MEICHUANG TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511084796.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-04
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

Existing remote teaching methods suffer from insufficient stability, compatibility, and fluency; course content is not updated in a timely manner; diversity is insufficient; and compatibility, synchronization, and interactivity cannot meet user needs.

Method used

A signaling-driven remote teaching method is adopted, which synchronizes the components and status signals between the teacher's client and the student's client, uses heartbeat signaling to maintain page consistency, and combines the base application scheduling sub-application to realize page synchronization between the teacher's and student's clients. The courseware editor supports animation arrangement and component editing.

Benefits of technology

It improves the stability and smoothness of remote teaching, enhances synchronization accuracy and interactive fun, supports timely updates of course content, and improves the compatibility and synchronization speed of courseware.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120935240A_ABST
    Figure CN120935240A_ABST
Patent Text Reader

Abstract

According to the signaling-driven remote teaching method and device, it is guaranteed that data transmission is very small in a signaling mode, and courses can be efficiently recovered; according to the method, point-to-point signaling, namely component-to-component signaling, is adopted, events do not need to be monitored at any time, the synchronization accuracy is high, and the synchronization speed is high; the base application schedules the sub-applications in the corresponding course content, so that the compatibility of the courseware can be improved; through heartbeat synchronization, heartbeat monitoring and comparison, action signaling and state signaling, the stability of a teaching scene can be ensured, smooth class experience is ensured, and the synchronism of remote teaching is ensured; the interestingness of classroom interaction can be realized through various components such as a text component, a picture component, a shape component and a video component. In addition, the course content can be updated in time through the courseware editor.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a signaling-driven distance learning method and device. Background Technology

[0002] Existing remote teaching methods suffer from instability, incompatibility, and insufficient fluency. Furthermore, current methods often lack timely updates and diversity in course content, and their compatibility, synchronization, and interactivity fail to meet user needs. Summary of the Invention

[0003] The purpose of this invention is to provide a signaling-driven remote teaching method and device.

[0004] To address the above problems, this invention provides a signaling-driven distance learning method, comprising:

[0005] The teacher client retrieves course content from the server; wherein, the course content includes various sub-applications; the teacher client obtains the current page switching operation for playing the course content; based on the current page switching operation, it schedules the corresponding sub-applications in the course content through the base application; the student client retrieves course content from the server; the teacher client and student client synchronize their pages based on the sub-applications in the course content, respectively.

[0006] The teacher client obtains the component operations on the rendered current page, generates all the corresponding component actions and first states on the current page based on the component operations, as well as the corresponding component action signaling and state signaling, and sends the action signaling and state signaling to the student client;

[0007] The teacher client sends a heartbeat signal to the student client at preset intervals. The heartbeat signal includes: the first state of all components on the current page of the teacher client; the student client retrieves the corresponding component from the course content based on the first state of the component in the heartbeat signal, displays it, and then updates the second state of all components on the current page of the student client.

[0008] The student client compares the first state of the component on the current page of the teacher client with the second state of the component on the current page of the student client. If they match, the corresponding component is retrieved from the course content based on action signaling and displayed. If this causes a state change, the second state of the component on the current page of the student client is updated. If they do not match, the corresponding component is retrieved from the locally stored course content based on state signaling and displayed. Then, the second state of the component on the current page of the student client is updated.

[0009] Furthermore, in the above method, before the teacher client retrieves the course content bound to the current lesson from the server, it also includes:

[0010] Teachers edit course content using the editor on their client devices and then publish the course content, which is linked to the corresponding lesson, to the server.

[0011] The teacher client retrieves course content from the server, including:

[0012] The teacher's client can retrieve the course content bound to the current lesson from the server in advance and save it locally, or retrieve the course content bound to the current lesson from the server in real time.

[0013] The student client retrieves course content from the server, including:

[0014] The student client can retrieve the course content bound to the current class from the server in advance and save it locally, or retrieve the course content bound to the current class from the server in real time.

[0015] Furthermore, in the above method, the types of sub-applications include: courseware content sub-applications and game content sub-applications;

[0016] The courseware content sub-applications include: courseware pages and video pages;

[0017] The game content sub-applications include: the game page;

[0018] The components of the courseware page include: text components, image components, and shape components; all of the text components, image components, and shape components support animation.

[0019] The components of the video page include: individual video components;

[0020] The components of the game page include: individual game components.

[0021] Furthermore, in the above method, the shape component is used to support dragging anchor points in the editor, so that the various shapes on the courseware page can be changed and switched.

[0022] Furthermore, in the above method, based on the sub-applications in the course content, page synchronization is performed separately for the teacher's client and the student's client, including:

[0023] The teacher client retrieves all components corresponding to the course content sub-application, renders the components in preview mode, displays the rendered page on the teacher client, and sends the corresponding page-turning signal to the student client.

[0024] Upon receiving a page-turning signal, the student client retrieves and displays the corresponding page from the course content, ensuring that the pages displayed on the teacher's and student's clients are on the same page.

[0025] Furthermore, in the above method, based on the page's playback operation, all corresponding component actions and first states of the components in the current page are generated, along with the corresponding component action signaling and state signaling, including:

[0026] If the playback operation triggers a state change, then all corresponding component actions and the first state of the component are generated; if the playback operation does not trigger a state change, then the corresponding component actions are generated; based on the component, the corresponding component action signaling is generated and sent to the student client; based on the component's first state, the corresponding component state signaling is generated and sent to the student client.

[0027] Furthermore, in the above method, the playback operation includes: video page playback operation and courseware page playback operation;

[0028] The video component operations on the video page include: clicking the play button, clicking the pause button, clicking the speed up button, and clicking the stop button after playback is complete.

[0029] The component operations of the courseware page include the triggering methods of the animation of the components arranged within the courseware page, including: automatically playing the courseware page, clicking the canvas in the courseware page, and clicking a component in the courseware page;

[0030] Correspondingly, among the component actions, video component actions include: actions such as clicking to play, pausing, speeding up, and stopping upon completion of playback; and component actions with choreographed animations include: actions such as automatic playback of animations, clicking the canvas to play, and clicking to play.

[0031] The component states include: video component states, video playback state, video paused playback state, video playback speed adjustment state, and video playback completed and stopped state; and animation component states, including: animation start playback state and animation completion playback state.

[0032] Furthermore, in the above method, the content of the action signaling includes: component type, action ID, action type, and action description; wherein, the component type includes one or any combination of text component, image component, shape component, and video component;

[0033] The status signaling includes: component type, component ID, status type and status description, wherein the component type includes one or any combination of text component, image component, shape component and video component.

[0034] According to another aspect of the present invention, a computer-readable storage medium is also provided, having stored thereon computer-executable instructions, wherein when executed by a processor, the computer-executable instructions cause the processor to perform the method as described in any of the preceding claims.

[0035] According to another aspect of the present invention, a calculator device is also provided, comprising:

[0036] Processor; and

[0037] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method described in any of the preceding descriptions.

[0038] Compared to existing technologies, current screen mirroring methods rely too heavily on bandwidth. This application ensures minimal data transmission through signaling, enabling efficient course recovery. Each published courseware item has an ID, such as "Video A". When the teacher's client clicks on "Video A", it triggers the playback of "Video A". The signaling channel captures this playback action, generates a playback signaling message, and sends it to the student's client. If the signaling channel of the student's client receives the signaling message and is interrupted, it will use a heartbeat to find the current page ID "Video A" on the teacher's client and can respond with the corresponding page based on the content in the signaling message.

[0039] This application relates to point-to-point signaling, i.e., component-to-component signaling. A teacher client has components A, B, C, and D, and a student client also has components A, B, C, and D. If the teacher client operates on component A, only component A on the student client can receive the operation; operations from components B, C, and D will not be received. Existing broadcast methods require all student client components B, C, and D to constantly monitor whether they have been called. If there are many components, such as 100, this existing broadcast method, due to the need for constant event monitoring, results in slow synchronization speed and consumes a lot of memory on the student client. The component-to-component signaling method of this invention has the advantages of high synchronization accuracy and fast synchronization speed.

[0040] This invention improves courseware compatibility by scheduling sub-applications within the corresponding course content through a base application. Existing screen projection methods cannot guarantee clarity, rely excessively on the network, and are prone to interruptions when the network is poor. Teachers with poor networks cannot attend classes, and students with poor networks miss lectures. This invention, through heartbeat synchronization, heartbeat monitoring and comparison, action signaling, and status signaling, ensures the stability of the teaching scenario, guarantees a smooth learning experience, and ensures the synchronization of remote teaching. Various components, such as text, image, shape, and video components, enhance the interactivity of the classroom. Furthermore, the courseware editor allows for timely updates of course content. Attached Figure Description

[0041] Figure 1 This is a flowchart of a signaling-driven remote teaching method according to an embodiment of the present invention. Detailed Implementation

[0042] The present invention will now be described in further detail with reference to the accompanying drawings.

[0043] In a typical configuration of this application, the terminal, the device of the service network, and the trusted party all include one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0044] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0045] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include non-transitory computer-readable media, such as modulated data signals and carrier waves.

[0046] like Figure 1 As shown, this invention provides a signaling-driven remote teaching method, the method comprising:

[0047] Step S1: Obtain the course content edited by the editor and publish the course content bound to the corresponding lesson to the server. The course content includes various sub-applications, and the types of sub-applications include: courseware content sub-applications and game content sub-applications.

[0048] Here, the course content player can determine whether it is the teacher's end or the student's end by setting roles. The content in the course content player can be downloaded and used as offline resources before class. If no offline resources are detected, it will automatically switch to online resources.

[0049] The component is in edit mode in the editor. After saving and publishing, the component is in preview mode during class.

[0050] The course content player adopts a micro-frontend architecture, with a scheduling application as the base application and two sub-applications: courseware and games.

[0051] In terms of course content arrangement, the concept of pages can be adopted. The content of the whole lesson consists of multiple pages, which can be divided into three categories: one is a regular page, which includes rich text, images, shape elements and combinations of these elements; another is a video page, which only includes video elements and is displayed using courseware applications; and the third is a game page, which only includes game elements and is displayed using game applications.

[0052] Preferably, the courseware content sub-application includes: courseware pages and video pages;

[0053] The game content sub-applications include: the game page;

[0054] The components of the courseware page include: text components, image components, and shape components; all of the text components, image components, and shape components support animation.

[0055] The video page components include: individual video components, wherein a video page contains only one video to ensure full-screen playback;

[0056] The components of the game page include: individual game components, wherein each game page contains only one game, ensuring full-screen playback.

[0057] Here, the courseware editor allows teachers to animate text, image, and shape components, enabling users to customize courseware content.

[0058] Specifically, the animation arrangement is used to determine what animations are configured on each component, and then to determine the triggering method and playback order of the configured animations;

[0059] Specifically, the playback order refers to the time sequence in which the animations can be arranged, including parallel, serial, and delayed playback. For example, it can be one animation following the next, or the previous animation and the next animation playing synchronously; it can also support delayed playback, where after the previous animation plays, there is a 2-second delay before the next animation begins; or it can play multiple animations synchronously after the previous animation finishes playing and there is a 2-second delay.

[0060] Preferably, the shape component can provide common shapes, such as straight lines (for highlighting on rich text), braces, triangles, and circles, which can be used to mark key points of knowledge; the shape can support dragging anchor points in the editor so that the shape can change and switch between different shapes on the courseware page.

[0061] Preferably, the arrangement of each component in the course content can be edited using an editor, then packaged and published to the server to obtain the edited course content. Subsequently, the component preview mode can be rendered into the classroom scene.

[0062] Step S2: The teacher client obtains course content from the server; wherein, the course content includes various sub-applications; the teacher client obtains the current page switching operation for playing the course content; based on the current page switching operation, the teacher client schedules the corresponding sub-applications in the course content through the base application; the student client obtains course content from the server; the teacher client and student client synchronize the pages of the teacher client and student client respectively based on the sub-applications in the course content.

[0063] Preferably, the teacher client obtains the course content from the server, including:

[0064] The teacher's client can retrieve the course content bound to the current lesson from the server in advance and save it locally, or retrieve the course content bound to the current lesson from the server in real time.

[0065] The student client retrieves course content from the server, including:

[0066] The student client can retrieve the course content bound to the current class from the server in advance and save it locally, or retrieve the course content bound to the current class from the server in real time.

[0067] Preferably, based on sub-applications within the course content, page synchronization is performed separately for teacher and student clients, including:

[0068] Step S21: Retrieve all components corresponding to the course content sub-application from the teacher client, render the components in preview mode to display the rendered page on the teacher client, and send the corresponding page-turning signal to the student client; based on the received page-turning signal, the student client retrieves the corresponding page from the course content and displays it, so that the pages displayed on the teacher client and the student client are on the same page.

[0069] Here, a base application and several sub-applications can be set up, based on the current page-switching operation of the teacher's client playing courseware content; based on the current page-switching operation, the base application can schedule the corresponding courseware content sub-applications and game content sub-applications in the course content.

[0070] If a courseware content sub-application is scheduled, the corresponding component of the courseware content sub-application will be retrieved from the course content stored in the teacher's client, and the component will be rendered in preview mode to display the rendered page on the teacher's client.

[0071] Specifically, it can be based on a micro-frontend architecture, with a base application and several sub-applications. The base application is like a socket with a standard access interface, and other applications can be sub-applications of this base application as long as they follow the standard access interface.

[0072] Base applications can serve three main functions: managing and scheduling sub-applications, preloading strategies, and communicating with sub-applications, which are isolated from each other.

[0073] Sub-applications can include courseware and games. Courseware is mainly used by teachers to explain course content, while games are used to check whether students can grasp the content explained by the teacher. The games themselves also have a certain degree of interactivity and fun.

[0074] First, you can initialize the player and initialize all the sub-applications.

[0075] Scheduling logic: If the current page content requires courseware display, bring the courseware application to the foreground; if the current page content requires game display, bring the game application to the foreground. Preloading is performed during scheduling.

[0076] Once the current page has finished scheduling, devices with remaining memory will intelligently preload the content of the previous (if any) and next (if any) pages according to the page-turning trend. After preloading, the game can be loaded in seconds (if there is no preloading, the game will load within 3 seconds).

[0077] After the teacher's client turns to page a, it can send a page-turning signal. The student's client receives the page-turning signal, parses the page-turning signal information, turns to page a, and performs the scheduling logic.

[0078] Step S3: Obtain the teacher's client's operations on the components in the current rendered page, and generate the component actions and first states in the page based on the component operations, as well as the corresponding component action signals and state signals;

[0079] Preferably, based on the page's playback operation, all corresponding component actions and first states of the components in the current page are generated, along with the corresponding component action signaling and state signaling, including:

[0080] Step S31: If the playback operation triggers a state change, generate all corresponding component actions and the first state of the component; if the playback operation does not trigger a state change, generate the corresponding component actions; generate the corresponding component action signaling based on the component and send it to the student client; generate the corresponding component state signaling based on the first state of the component and send it to the student client.

[0081] Here, if both action signaling and status signaling are generated, the interaction signaling and status signaling are sent to the student client together; if only interaction signaling is generated, only interaction signaling is sent to the student client.

[0082] Preferably, the playback operation includes: video page playback operation and courseware page playback operation;

[0083] The video component operations on the video page include: clicking the play button, clicking the pause button, clicking the speed up button, and clicking the stop button after playback is complete.

[0084] The component operations of the courseware page include the triggering methods of the animation of the components arranged within the courseware page, including: automatically playing the courseware page, clicking the canvas in the courseware page, and clicking a component in the courseware page;

[0085] Correspondingly, the video component actions include: actions such as clicking to play, pause, speed up, and stop playback upon completion; and actions for components with choreographed animations include: actions such as automatic playback, clicking the canvas to play, and clicking play again. Here, automatic playback means the animation plays automatically after switching to this courseware page. The canvas refers to the non-component area within the courseware page.

[0086] Component state refers to the state changes of a component triggered by or continuing after a component action. For video components, this includes: playback state, paused playback state, playback speed adjustment state, and playback completed and stopped state. For components with animations, this includes: animation start state, animation completion state, etc. The animation triggering methods can be diverse, such as playback after clicking the canvas, automatic playback, or playback after clicking a component on the canvas, etc.

[0087] The basic components of the courseware of this invention may include rich text, shapes, images, etc., and can support the combination of basic elements. To increase interactivity, it can support adding animations to element-based and combined elements, and has an independent animation engine. In addition, to make the courses more interesting, it can support videos.

[0088] The courseware data structure of this invention can be described based on JSON Schema and rendered uniformly according to the prescribed data specifications, avoiding compatibility issues caused by different system and kernel versions.

[0089] Specifically, both action and state signals originate from the teacher's client operations. When the teacher's client performs actions such as playback on the rendered page, it generates component actions (e.g., clicking to play an animation). If this triggers a component state change, it simultaneously generates the component state (the new state after the operation, such as "the animation on page 3 has started playing"). If no state change is triggered (e.g., the page's visual state remains unchanged), only the component action is generated. Based on these actions, corresponding action and state signals are then generated and sent to the student's client. State signals are the "result record" of the state after the action signal is executed, while action signals are the "behavioral instructions" that trigger state changes (or simple interactions). Only with actions can there be state changes, and thus corresponding state signals.

[0090] Preferably, the content of the action signaling includes:

[0091] Component type, such as one or any combination of text components, image components, shape components, and video components;

[0092] Action ID, such as A1;

[0093] Action types, such as click to play, pause, speed up, and stop when playback is complete for videos; and actions for animations, such as auto-play, clicking the canvas, and clicking to play.

[0094] Action descriptions, such as which video frame the animation starts playing from, the appearance of animated elements, and the disappearance of animated elements.

[0095] Preferably, the content of the status signaling includes:

[0096] Component type, such as one or any combination of text components, image components, shape components, and video components;

[0097] Component ID, such as B1;

[0098] Status types, such as video playback status, paused playback status, speed-up playback status, playback completed and stopped status; and animation start playback status, animation finish playback status.

[0099] Status descriptions, such as which video frame the animation starts playing from, the appearance of animated elements, and the disappearance of animated elements.

[0100] This invention can also support special game signaling:

[0101] 1) Start Game: The game is displayed on the student's end, but interaction is not supported by default. The teacher needs to send "Start Game" to the student's end, and only then can the game be interactive.

[0102] 2) Continue playing: Especially for multi-level games, the teacher demonstrates and explains the gameplay through the teaching terminal, and then sends "Continue playing". After receiving the message, the students can continue playing the game from where they left off.

[0103] 3) Play again: The teacher demonstrates and explains how to play the game through the teaching terminal, and then sends "Play again" to the student terminal.

[0104] Step S4: At preset intervals, the teacher client sends a heartbeat signal to the student client. The heartbeat signal includes: the first state of all components on the current page of the teacher client; based on the first state of the components in the heartbeat signal, the student client retrieves the corresponding components from the locally stored course content and displays them, and then updates the second state of all components on the current page of the student client to perform heartbeat synchronization.

[0105] In order to distinguish and compare the component states of the teacher client and the student client in the future, the component state of the teacher client can be defined as the first component state; and the component state of the student client can be defined as the second component state.

[0106] In a real-world scenario, steps S3 and S4 will be executed continuously in a loop. As the course content plays, the second state of all components on the current page received by the student client in step S3 and the second state of all components on the current page received in step S4 will continuously change as the current page on the teacher's client changes. Furthermore, the order of steps S3 and S4 can be reversed. That is, the heartbeat signal in step S4 might be generated first, allowing the second state of all components on the current page of the student client to be updated accordingly. Then, the loop continues until the action and status signals in step S3 are generated later. At this point, the second state of all components on the current page of the student client can be updated again based on the later generated action and status signals.

[0107] The teacher client can send the first state of the current page's components to the student client every 3 seconds. After the student client retrieves the corresponding page, it updates the second state of the current page's components accordingly to perform heartbeat synchronization.

[0108] The first state of the component on the current page of the teacher's client and the second state of the component on the current page of the student's client will change continuously as the courseware content is played. Generally, as long as the playback on the student's client is not interrupted, the first state of the component on the current page of the teacher's client and the second state of the component on the current page of the student's client will always remain consistent.

[0109] However, if playback is interrupted on the student client, there will be inconsistencies between the first state of the component on the current page of the teacher client and the second state of the component on the current page of the student client. At this time, the first state of the component on the current page of the teacher client is the new first state, while the second state of the component on the current page of the student client has not yet been updated according to the heartbeat signaling and is still the old second state. Therefore, the new first state and the old second state will be inconsistent.

[0110] The interruption here could be, for example, when a student client logs out and re-enters the remote teaching classroom of this invention, due to various reasons that may cause them to lose connection or log out and re-enter.

[0111] Step S5: Compare the first state of the component on the current page of the teacher's client with the second state of the component on the current page of the student's client. If they match, the action signaling can be consumed normally. Based on the action signaling, the corresponding component is retrieved from the locally stored course content and displayed. If this causes a state change, the second state of the component on the current page is updated to synchronize the state of all components on the current page of the teacher's client with the current page of the student's client. At this time, the state signaling is not consumed. Otherwise, if they do not match, the state signaling is consumed. Based on the state signaling, the corresponding component is retrieved from the locally stored course content and displayed. The second state of the component on the current page is updated to synchronize the state of all components on the current page of the teacher's client with the current page of the student's client.

[0112] Here, the action signaling and status signaling received by the student client can be in the same queue, where the action signaling can be at the front of the queue and the status signaling can be at the back of the queue.

[0113] If the action signaling from the teacher client is sent before the heartbeat synchronization signaling, and due to an interruption before the heartbeat synchronization time has elapsed, the second state of the component on the current page of the student client is still the old, unupdated second state, while the first state of the component on the current page of the teacher client is the new first state. This will cause the component state comparison results between the two to be inconsistent, so the action signaling will not be consumed, and only the state signaling will be consumed. If the action signaling is sent after the heartbeat synchronization, since the heartbeat synchronization has already occurred, the second state of the component on the current page of the student client is now the new, updated second state, causing the component state comparison results between the two to be consistent, so the action signaling can be consumed.

[0114] When discrepancies arise, because the second state of the student client component does not update with the first state of the teacher's component (e.g., playback interruption), the action signaling will malfunction when executed based on the old second state of the component. However, state signaling allows the student client to update to a new state consistent with the teacher's, ensuring page synchronization. Therefore, state signaling is consumed first, and action signaling is not consumed. Action signaling is processed only after the state is synchronized. Essentially, state calibration ensures the correctness of the interaction logic and maintains the synchronization order of the pages on both ends of the teaching process.

[0115] Specifically, in a normal synchronization scenario, when the component state of the student client is consistent with that of the teacher client, the action signaling can be consumed directly to execute instructions (such as pressing the action signaling "page turn", and the student client's courseware moves from page 2 to page 3). At this time, the state signaling does not need to be consumed because both ends are synchronized.

[0116] In scenarios with inconsistent states, if the student client's playback is interrupted, causing the component state to lag behind the teacher client's (the teacher client is in the new component's first state, while the student client is in the old component's second state), the action signaling will be "misaligned" when executed based on the old state. For example, the teacher client might be on page 3 (the new component state, corresponding to the state signaling "the first state of the component on page 3") due to a "page turning" action, but the student client is still on page 2 (the old component's second state). If the action signaling "trigger animation on page 3" is forcibly executed, the animation will be triggered incorrectly because the student client's current page is actually still on page 2. State signaling allows the student client's current page to be updated to the "page 3 state" (calibrating the component state). State signaling is a "prerequisite calibration tool" for the correct execution of action signaling. Consuming state signaling first to align the states ensures that the action signaling will not produce errors. The two have a dependency relationship of "ensuring state consistency first, then executing action interactions."

[0117] Simply put, action signaling controls "what interactive action to take," while state signaling controls "adjusting the state to a state that can correctly execute the action." State signaling provides basic state support for the accurate execution of action signaling, and collaboratively ensures the synchronization of page / component interactions between student clients and teacher clients.

[0118] Special video signaling may include:

[0119] 1) Start Playback: The teaching terminal sends a start playback signal to start playing the video, and the student terminal plays the video after receiving the signal;

[0120] 2) Pause playback: The teaching end pauses the video by sending a pause playback signal, and the student end receives the signal and the video pauses playback;

[0121] 3) Video progress synchronization: The teaching end sends heartbeat signals of video playback progress at regular intervals. The student end synchronizes the progress after receiving the signal, which serves as a backup strategy in case of loss of video start / pause interaction.

[0122] 4) Video playback speed adjustment: The teaching terminal selects different playback speeds for the video during playback and sends a video speed adjustment signal. The student terminal receives the speed adjustment signal and plays the video at the specified speed.

[0123] Special signaling for courseware may include:

[0124] 1) Animation playback: The editor arranges the animation timeline, combination method, triggering method, etc. of elements. The animation data is uniformly described. According to the triggering method, the teaching terminal sends a signal to play the animation. After receiving the signal, the student terminal plays the arranged animation.

[0125] 2) While the animation is playing, considering the possibility that the playback action may be lost, a status signal indicating the change in animation status will be sent later.

[0126] 3) Animation state change: The teaching end sends out an animation state change, and after receiving the state change, the student end synchronizes the state of the component corresponding to the animation to the group state corresponding to the teaching end.

[0127] In summary, existing screen mirroring methods rely too heavily on bandwidth. This application ensures minimal data transmission through signaling, enabling efficient recovery of live streams. Each published courseware item has an ID, such as "Video A". When the teacher's client clicks on "Video A", it triggers the playback of "Video A". The signaling channel captures this playback action, generates a playback signaling message, and sends it to the student's client. Upon receiving the signaling message, if the connection is interrupted, the student's client will use a heartbeat to locate the current page ID (Video A) on the teacher's end and can respond with the corresponding page based on the content of the signaling message.

[0128] This application relates to point-to-point signaling, i.e., component-to-component signaling. A teacher client has components A, B, C, and D, and a student client also has components A, B, C, and D. If the teacher client operates on component A, only component A on the student client can receive the operation; operations from components B, C, and D will not be received. Existing broadcast methods, where components B, C, and D all receive the operation, require constant monitoring to ensure they are being called. When there are many components, such as 100, this existing broadcast method, due to the need for constant event monitoring, results in slow synchronization speed and excessive memory consumption on the student client. The component-to-component signaling method of this invention offers the advantages of high synchronization accuracy and fast synchronization speed.

[0129] This invention improves courseware compatibility by scheduling sub-applications within the corresponding course content through a base application. Existing screen projection methods cannot guarantee clarity, rely excessively on the network, and are prone to interruptions when the network is poor. Teachers with poor networks cannot attend classes, and students with poor networks miss lectures. By using heartbeat synchronization, heartbeat monitoring and comparison, action signaling, and status signaling, the invention ensures the stability of the teaching scenario, guarantees a smooth learning experience, and ensures the synchronization of remote teaching. Various components, such as text, image, shape, and video components, enhance the interactivity of the classroom. Furthermore, a courseware editor allows for timely updates of course content. This invention supports various teaching scenarios, including live streaming, recorded lectures, and playback.

[0130] According to another aspect of the present invention, a computer-readable storage medium is also provided, having stored thereon computer-executable instructions, wherein when executed by a processor, the computer-executable instructions cause the processor to perform the method as described in any of the preceding claims.

[0131] According to another aspect of the present invention, a calculator device is also provided, comprising:

[0132] Processor; and

[0133] A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method described in any of the preceding descriptions.

[0134] For detailed descriptions of the various device embodiments of the present invention, please refer to the corresponding sections of the various method embodiments; they will not be repeated here.

[0135] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

[0136] It should be noted that the present invention can be implemented in software and / or a combination of software and hardware, for example, using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In one embodiment, the software program of the present invention can be executed by a processor to implement the steps or functions described above. Similarly, the software program of the present invention (including associated data structures) can be stored in a computer-readable recording medium, such as RAM memory, a magnetic or optical drive, a floppy disk, or similar devices. Furthermore, some steps or functions of the present invention can be implemented in hardware, for example, as circuitry that works with a processor to perform the various steps or functions.

[0137] Furthermore, a portion of this invention can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. The program instructions invoking the methods of the invention may be stored in a fixed or removable recording medium, and / or transmitted via a data stream in a broadcast or other signal-carrying medium, and / or stored in the working memory of a computer device operating according to the program instructions. Here, an embodiment of the invention includes an apparatus comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein, when the computer program instructions are executed by the processor, the apparatus is triggered to operate the methods and / or technical solutions based on the foregoing embodiments of the invention.

[0138] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above, and that the invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered illustrative and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description. Thus, all variations falling within the meaning and scope of equivalents of the claims are intended to be embraced within the present invention. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices recited in the apparatus claims may also be implemented by a single unit or device in software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any particular order.

Claims

1. A signaling-driven distance learning method, characterized in that, include: The teacher client retrieves course content from the server; wherein, the course content includes various sub-applications; the teacher client obtains the current page switching operation for playing the course content; based on the current page switching operation, it schedules the corresponding sub-applications in the course content through the base application; the student client retrieves course content from the server; the teacher client and student client synchronize their pages based on the sub-applications in the course content, respectively. The teacher client obtains the component operations on the rendered current page, generates all the corresponding component actions and first states on the current page based on the component operations, as well as the corresponding component action signaling and state signaling, and sends the action signaling and state signaling to the student client; The teacher client sends a heartbeat signal to the student client at preset intervals. The heartbeat signal includes: the first state of all components on the current page of the teacher client; based on the first state of the components in the heartbeat signal, the student client retrieves the corresponding components from the course content and displays them, and then updates the second state of all components on the current page of the student client.

2. The signaling-driven distance learning method as described in claim 1, characterized in that, Before the teacher client retrieves the course content bound to the current lesson from the server, it also includes: The course content edited in the editor is retrieved and then published to the server. The teacher client retrieves course content from the server, including: The teacher's client can retrieve the course content bound to the current lesson from the server in advance and save it locally, or retrieve the course content bound to the current lesson from the server in real time. The student client retrieves course content from the server, including: The student client can retrieve the course content bound to the current class from the server in advance and save it locally, or retrieve the course content bound to the current class from the server in real time.

3. The signaling-driven distance learning method as described in claim 1, characterized in that, The types of sub-applications include: courseware content sub-applications and game content sub-applications; The courseware content sub-applications include: courseware pages and video pages; The game content sub-applications include: the game page; The components of the courseware page include: text components, image components, and shape components; all of the text components, image components, and shape components support animation. The components of the video page include: individual video components; The components of the game page include: individual game components.

4. The signaling-driven distance learning method as described in claim 3, characterized in that, The shape component is used to support dragging anchor points in the editor, so that the various shapes can be changed and switched on the courseware page.

5. The signaling-driven distance learning method as described in claim 1 or 2, characterized in that, Based on the sub-applications within the course content, page synchronization is performed separately for the teacher's and student's clients, including: The teacher client retrieves all components corresponding to the course content sub-application, renders the components in preview mode, displays the rendered page on the teacher client, and sends the corresponding page-turning signal to the student client. Upon receiving a page-turning signal, the student client retrieves and displays the corresponding page from the course content, ensuring that the pages displayed on the teacher's and student's clients are on the same page.

6. The signaling-driven distance learning method as described in claim 1, characterized in that, Based on the page's playback operation, generate all corresponding component actions and first states on the current page, as well as the corresponding component action signaling and state signaling, including: If the playback operation triggers a state change, then all corresponding component actions and the first state of the component are generated; if the playback operation does not trigger a state change, then the corresponding component actions are generated. Based on the aforementioned components, corresponding action signaling is generated and sent to the student client; Based on the first state of the component, a corresponding state signaling is generated and sent to the student client.

7. The signaling-driven distance learning method as described in claim 1 or 6, characterized in that, The playback operations include: video page playback operations and courseware page playback operations; The video component operations on the video page include: clicking the play button, clicking the pause button, clicking the speed up button, and clicking the stop button after playback is complete. The component operations of the courseware page include the triggering methods of the animation of the components arranged within the courseware page, including: automatically playing the courseware page, clicking the canvas in the courseware page, and clicking a component in the courseware page; Correspondingly, among the component actions, video component actions include: actions such as clicking to play, pausing, speeding up, and stopping upon completion of playback; and component actions with choreographed animations include: actions such as automatic playback of animations, clicking the canvas to play, and clicking to play. Among the component states, the video component states include: video playback state, video paused playback state, video speed playback state, and video playback completed and stopped state; the component states with choreographed animations include: animation started playback state and animation completed playback state.

8. The signaling-driven distance learning method as described in claim 1 or 6, characterized in that, The content of the action signaling includes: component type, action ID, action type and action description; wherein, the component type includes: one or any combination of text component, image component, shape component and video component; The status signaling includes: component type, component ID, status type and status description, wherein the component type includes one or any combination of text component, image component, shape component and video component.

9. A computer-readable storage medium having stored thereon computer-executable instructions, wherein, When the computer-executable instructions are executed by the processor, the processor causes the processor to perform the method as described in any one of claims 1 to 8.

10. A calculator device, wherein, include: processor; as well as A memory configured to store computer-executable instructions, which, when executed, cause the processor to perform the method as described in any one of claims 1 to 8.