Data storage method and device applied to heterogeneous teaching data and readable medium

CN122884409APending Publication Date: 2026-10-09BEIJING STAR CUBE CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611111634.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-24
Publication Date
2026-10-09

AI Technical Summary

Technical Problem

然而,不同的教学数据在不同的周期内存在巨大的访问频次差异,常规的数据存储和清理模式,难以精细化地进行存储介质的高效利用,导致存储介质的使用效率低下

Benefits of technology

[0009]本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的应用于异构教学数据的数据存储方法,提高了存储介质的使用效率,保障了教学数据的高效存储。具体的,本公开首先,响应于接收到待存储教学数据,确定上述待存储教学数据对应的数据异构类型和数据元信息,其中,上述数据异构类型包括:视频型异构类型和文档型异构类型。其次,根据上述数据异构类型,对上述待存储教学数据进行数据分离,得到静态模板数据和动态填充数据。实践中,教学数据相较于一般的业务数据或用户数据,具有高度的模式重复性,若未经过数据分离,往往会产生大量的冗余存储,从而降低存储介质的使用效率,且教学数据具有明显的异构化特点,因此本公开通过结合数据异构类型进行分类型的数据分离,以此保障数据分离的鲁棒性,以及提高存储介质的使用效率。接着,确定上述静态模板数据是否存在对应的母板数据。进一步,响应于存在上述静态模板数据对应的母板数据,根据上述数据元信息和上述母板数据,分别确定上述静态模板数据和上述动态填充数据对应的数据冷热度,作为第一冷热度和第二冷热度。实践中,静态模板数据可以视为母板数据针对待存储教学数据的实例化,因此通过结合母板数据和数据元信息,以此分别量化静态模板数据和上述动态填充数据对应的数据冷热度,从而为进一步精细化存储介质利用提供指标基础。紧接着,根据第一冷热度和第二冷热度,生成上述静态模板数据和上述动态填充数据对应的数据关联信息。实践中,根据数据冷热度不同,静态模板数据和动态填充数据往往采用不同的存储介质,为了保障后续的读取效率,通过生成数据关联数据,以此构建静态模板数据和上述动态填充数据的存储关系约束。最后,对上述静态模板数据、上述动态填充数据和上述数据关联信息进行分层存储,以此实现不同类型存储介质的高效利用。综上,本公开提高了存储介质的使用效率,保障了教学数据的高效存储。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122884409A_ABST
    Figure CN122884409A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure disclose a data storage method, device and readable medium applied to heterogeneous teaching data. A specific implementation of the method comprises: determining a data heterogeneous type and data element information corresponding to the teaching data to be stored; performing data separation on the teaching data to be stored according to the data heterogeneous type, to obtain static template data and dynamic filling data; determining whether the static template data has corresponding motherboard data; in response to the existence of the static template data corresponding to the motherboard data, determining the data cold and hot degrees corresponding to the static template data and the dynamic filling data respectively according to the data element information and the motherboard data; generating data association information corresponding to the static template data and the dynamic filling data according to the first cold and hot degree and the second cold and hot degree; and performing hierarchical storage on the static template data, the dynamic filling data and the data association information. The implementation improves the use efficiency of the storage medium and guarantees the efficient storage of the teaching data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of this disclosure relate to the field of computer technology, particularly the field of data storage, and specifically to data storage methods, apparatus, and readable media applied to heterogeneous teaching data. Background Technology

[0002] With the deepening reform and advancement of educational informatization, the specifications of teaching data are growing exponentially. At the same time, the hardware cost of storage media is also increasing significantly. Currently, to address the storage needs of massive amounts of teaching data, a periodic cleanup model is often adopted to balance data storage requirements and hardware cost constraints. However, different teaching data exhibit significant differences in access frequency within different periods. Conventional data storage and cleanup models struggle to achieve efficient and refined utilization of storage media, resulting in low storage media utilization efficiency. Summary of the Invention

[0003] The summary portion of this disclosure is intended to provide a brief overview of the concepts, which will be described in detail in the detailed description portion. This summary portion is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions.

[0004] Some embodiments of this disclosure propose data storage methods, apparatuses, and readable media for heterogeneous teaching data to address the technical problems mentioned in the background section above.

[0005] In a first aspect, some embodiments of this disclosure provide a data storage method for heterogeneous teaching data. The method includes: in response to receiving teaching data to be stored, determining the data heterogeneity type and data metadata corresponding to the teaching data to be stored, wherein the data heterogeneity type includes: video-type heterogeneity type and document-type heterogeneity type; performing data separation on the teaching data to be stored according to the data heterogeneity type to obtain static template data and dynamically filled data; determining whether the static template data has corresponding master data; in response to the existence of master data corresponding to the static template data, determining the data hotness / coldness corresponding to the static template data and the dynamically filled data respectively, based on the data metadata and the master data, as a first hotness / coldness and a second hotness / coldness; generating data association information corresponding to the static template data and the dynamically filled data based on the first hotness / coldness and the second hotness / coldness; and performing hierarchical storage of the static template data, the dynamically filled data, and the data association information.

[0006] Secondly, some embodiments of this disclosure provide a data storage device for heterogeneous teaching data. The device includes: a first determining unit configured to, in response to receiving teaching data to be stored, determine the data heterogeneity type and data element information corresponding to the teaching data to be stored, wherein the data heterogeneity type includes: video heterogeneity type and document heterogeneity type; a data separation unit configured to, according to the data heterogeneity type, separate the teaching data to be stored to obtain static template data and dynamically filled data; a second determining unit configured to, determine whether the static template data has corresponding master data; a third determining unit configured to, in response to the existence of master data corresponding to the static template data, determine the data hotness / coldness corresponding to the static template data and the dynamically filled data respectively, based on the data element information and the master data, as a first hotness / coldness and a second hotness / coldness; a generating unit configured to, based on the first hotness / coldness and the second hotness / coldness, generate data association information corresponding to the static template data and the dynamically filled data; and a hierarchical storage unit configured to perform hierarchical storage of the static template data, the dynamically filled data, and the data association information.

[0007] Thirdly, some embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation of the first aspect above.

[0008] Fourthly, some embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in any of the implementations of the first aspect above.

[0009] The above embodiments of this disclosure have the following beneficial effects: The data storage method for heterogeneous teaching data, applied to some embodiments of this disclosure, improves the utilization efficiency of the storage medium and ensures efficient storage of teaching data. Specifically, this disclosure first, in response to receiving teaching data to be stored, determines the data heterogeneity type and data metadata corresponding to the teaching data to be stored, wherein the data heterogeneity type includes: video heterogeneity type and document heterogeneity type. Secondly, based on the data heterogeneity type, the teaching data to be stored is separated to obtain static template data and dynamically filled data. In practice, teaching data, compared to general business data or user data, has a high degree of pattern repetition. If data separation is not performed, it often results in a large amount of redundant storage, thereby reducing the utilization efficiency of the storage medium. Furthermore, teaching data has obvious heterogeneous characteristics. Therefore, this disclosure combines data heterogeneity type for categorized data separation to ensure the robustness of data separation and improve the utilization efficiency of the storage medium. Next, it is determined whether the static template data has corresponding master data. Furthermore, in response to the existence of master data corresponding to the aforementioned static template data, the data hotness / coldness corresponding to the aforementioned static template data and the aforementioned dynamically filled data are determined based on the aforementioned data element information and the aforementioned master data, respectively, as the first hotness / coldness and the second hotness / coldness. In practice, static template data can be regarded as an instantiation of master data for the teaching data to be stored. Therefore, by combining master data and data element information, the data hotness / coldness corresponding to the static template data and the aforementioned dynamically filled data are quantified respectively, thereby providing an indicator basis for further refined utilization of storage media. Next, based on the first hotness / coldness and the second hotness / coldness, data association information corresponding to the aforementioned static template data and the aforementioned dynamically filled data is generated. In practice, depending on the different data hotness / coldness, static template data and dynamically filled data often use different storage media. In order to ensure subsequent reading efficiency, data association data is generated to construct storage relationship constraints between static template data and the aforementioned dynamically filled data. Finally, the aforementioned static template data, the aforementioned dynamically filled data, and the aforementioned data association information are stored in layers to achieve efficient utilization of different types of storage media. In summary, this disclosure improves the utilization efficiency of storage media and ensures efficient storage of teaching data. Attached Figure Description

[0010] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and elements are not necessarily drawn to scale.

[0011] Figure 1 This is a flowchart of some embodiments of a data storage method for heterogeneous teaching data according to the present disclosure; Figure 2 This is a schematic diagram illustrating the process of determining the location of the switching point; Figure 3 This is a schematic diagram illustrating another process for determining the location of the switching point; Figure 4 This is a schematic diagram of the structure of some embodiments of a data storage device for heterogeneous teaching data according to the present disclosure; Figure 5 This is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. Detailed Implementation

[0012] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0013] It should also be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings. Unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other.

[0014] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0015] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0016] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0017] This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.

[0018] refer to Figure 1 The flowchart 100 illustrates some embodiments of a data storage method for heterogeneous teaching data according to the present disclosure. This data storage method for heterogeneous teaching data includes the following steps: Step 101: In response to receiving the teaching data to be stored, determine the data heterogeneity type and data element information corresponding to the teaching data to be stored.

[0019] In some embodiments, the execution subject (e.g., a computing device) of the data storage method applied to heterogeneous teaching data can determine the data heterogeneity type and data element information corresponding to the teaching data to be stored in response to receiving the teaching data to be stored.

[0020] The teaching data to be stored can be teaching-related data to be stored. Data heterogeneity type represents the data type of the teaching data to be stored. Data heterogeneity types include: video heterogeneity type and document heterogeneity type. Video heterogeneity type represents the video type. Document heterogeneity type represents the document type. For example, the teaching data to be stored in the video heterogeneity type could be a teaching video. Similarly, the teaching data to be stored in the document heterogeneity type could be a lesson plan. Data element information represents the data purpose and attribute description of the associated courses corresponding to the teaching data to be stored. Specifically, data element information can include: associated course type, associated course number, associated course status, associated course progress, associated editing object, and data application object. Among these, the associated course type represents the course type of the teaching course associated with the teaching data to be stored. For example, the associated course type can include: Chinese language course type and mathematics course type. The associated course number represents the course number of the teaching course associated with the teaching data to be stored. For example, the associated course number could be "YW202500001". The associated course status represents the course status of the teaching course associated with the teaching data to be stored. For example, the associated course status can include: in progress, not started, or completed. The associated course progress represents the teaching progress of the course associated with the teaching data to be stored. For example, the associated course progress could be "Chapter 3, Section 3". The associated editable object represents the editable data object corresponding to the teaching data to be stored. For example, the associated editable object could be "Teacher XX with teacher ID XXX". The data application object represents the teaching object corresponding to the course associated with the teaching data to be stored. For example, the data application object could be "All classes in Grade XX".

[0021] In practice, firstly, the aforementioned implementing entity can identify the suffixes of the teaching data to be stored to determine the corresponding data heterogeneity type. Next, the header file of the teaching data to be stored is parsed to obtain data metadata.

[0022] It should be noted that the aforementioned computing devices can be either hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster composed of multiple servers or terminal devices, or as a single server. When the computing device is software, it can be installed on the hardware devices listed above. It can be implemented as, for example, multiple software programs or software modules used to provide distributed services, or as a single software program or software module. No specific limitations are made here. In practice, the aforementioned execution entity can adopt a B / S (Browser / Server) architecture, that is, the aforementioned computing device can be configured with a data management page on the browser side, where the data management page can be used for uploading teaching data to be stored.

[0023] In some optional implementations of certain embodiments, the execution entity, in response to receiving teaching data to be stored, determines the data heterogeneity type and data metadata corresponding to the teaching data to be stored, including: Step S1: Determine the explicit declaration type corresponding to the teaching data to be stored.

[0024] Among them, the explicit type declaration represents the data type declared in the upload request parameters when the teaching data to be stored is uploaded.

[0025] In practice, the aforementioned executing entity can parse the upload request parameters corresponding to the teaching data to be stored, thereby determining the explicit declaration type of the teaching data to be stored. For example, the explicit declaration type can be determined by reading the value of the "Content-Type" field in the upload request parameters.

[0026] Step S2: Extract the data magic number corresponding to the teaching data to be stored.

[0027] The data magic number is a characteristic value representing the data type in the starting byte (file header or a specific offset position).

[0028] In practice, the teaching data to be stored is often transmitted to the aforementioned execution entity in the form of a binary byte stream. Therefore, the aforementioned execution entity can read a specific position or a specific offset position of the binary byte stream corresponding to the teaching data to be stored to obtain the data magic number.

[0029] Step S3: Perform magic number mapping on the above data magic number to obtain the file signature type corresponding to the above teaching data to be stored.

[0030] Among them, the file signature type represents the data type corresponding to the teaching data to be stored, which is obtained by the data magic number mapping.

[0031] In practice, since data magic numbers often have pre-defined data types, the data type corresponding to the data magic number can be determined by matching the data magic number with a magic number table, thus serving as the file signature type. The magic number table pre-stores the mapping relationship between data magic numbers and their corresponding data types. For example, a data magic number of "ftyp" corresponds to a file signature type of "MP4". Similarly, a data magic number of "1A 45 DF A3" corresponds to a file signature type of "MKV".

[0032] Step S4: Determine the data heterogeneity type based on the explicit declaration type and the file signature type mentioned above.

[0033] In practice, (1) in response to the above explicit declaration type being empty and the above file signature type being not empty, the above file signature type is mapped to a data heterogeneous type. Specifically, for video heterogeneous types and document heterogeneous types, the matching data types can be pre-set. For example, the data types that match video heterogeneous types can include, but are not limited to: MP4 (MPEG-4 Part 14) type, MKV (Matroska Video File) type. The data types that match document heterogeneous types can include, but are not limited to: Doc type, Docx type, WPS type. (2) in response to the above explicit declaration type being not empty, the above file signature type being not empty, and the above explicit declaration type and the above file signature type being inconsistent, the above file signature type is mapped to a data heterogeneous type. In practice, the explicit declaration type can be modified, while the file signature type, as a data fingerprint, is often tamper-proof. Therefore, when the explicit declaration type and the file signature type are inconsistent, the data heterogeneous type is mapped based on the file signature type.

[0034] Step S5: Determine the additional data information corresponding to the teaching data to be stored.

[0035] The data supplementary information represents the data purpose and attribute description of the associated course, set by the associated editing object corresponding to the teaching data to be stored. For example, the data supplementary information may include, but is not limited to: associated course type, associated course number, associated course status, associated course progress, associated editing object, data application object, data volume of the teaching data to be stored, and the last edit time of the data. In practice, when the associated editing object uploads the teaching data to be stored through the data management page, it can configure the data supplementary information corresponding to the teaching data to be stored on the data management page. Therefore, the aforementioned executing entity will also receive the data supplementary information at the same time as receiving the teaching data to be stored.

[0036] Step S6: Filter the above data supplementary information by meta-attributes to obtain data meta-information.

[0037] In practice, since data metadata is mainly used for subsequent data popularity ranking generation, attribute descriptions related to data popularity ranking generation can be pre-set to filter additional data information and obtain data metadata. For example, the subsequent mapping of the second popularity ranking mainly depends on course status and course progress, so at least the associated course status and associated course progress can be filtered out from the additional data information as data metadata.

[0038] Step 102: Based on the heterogeneous data type, perform data separation on the teaching data to be stored to obtain static template data and dynamically populated data.

[0039] In some embodiments, the aforementioned execution entity can perform data separation on the teaching data to be stored according to the data heterogeneity type, to obtain static template data and dynamically filled data.

[0040] Static template data represents static data in the teaching data to be stored. Dynamically populated data represents non-static data in the teaching data to be stored, excluding static template data.

[0041] As an example, when the data heterogeneity type is document-based, the data content in the teaching data to be stored can be read as dynamically populated data, and the configuration data related to the dynamically populated data can be read as static template data. For example, taking the teaching plan as the teaching data to be stored, the lesson plan (data) content can be read as dynamically populated data, and the configuration data related to the style (e.g., font size, font type) and outline structure (title structure) of the lesson plan content can be read as static template data.

[0042] As another example, when the data heterogeneity type is video heterogeneity, static video frames that have not changed can be extracted from the teaching data to be stored as static template data, and dynamic video frames that have changed can be extracted from the teaching data to be stored as dynamic fill data. For example, taking teaching videos as the teaching data to be stored, static video frames that have not changed in the teaching video (such as background video images) can be identified as static target data, and dynamic video frames (such as the difference image between video frames and background video images) can be identified in the teaching video as dynamic fill data.

[0043] In some optional implementations of certain embodiments, the execution entity performs data separation on the teaching data to be stored according to the aforementioned data heterogeneity type, obtaining static template data and dynamically filled data, including: Step S1: In response to the above data heterogeneity being a document-type heterogeneous type, perform the following first data separation processing step: Step S11: Extract the style configuration information corresponding to the teaching data to be stored.

[0044] The style configuration information represents the document style configuration corresponding to the teaching data to be stored. Specifically, the style configuration information may include, but is not limited to, font configuration parameters and paragraph configuration parameters. Font configuration parameters may include, but are not limited to, font size parameters, font style parameters, font color parameters, and font shading parameters. Paragraph configuration parameters may include, but are not limited to, paragraph indentation parameters, paragraph spacing parameters, and paragraph alignment parameters.

[0045] In practice, the style configuration information corresponding to the teaching data to be stored can be extracted using the python-docx library. Specifically, first, the document object corresponding to the teaching data to be stored can be loaded using the "Document()" function in the python-docx library. Then, the document styles corresponding to the document object can be traversed to obtain the style configuration information.

[0046] Step S12: Traverse the structure tags of the above teaching data to be stored to obtain the framework configuration information.

[0047] The framework configuration information represents the template framework used for the teaching data to be stored.

[0048] In practice, continuing to use the teaching data to be stored as a lesson plan as an example, the framework configuration information can represent the template framework of the corresponding lesson plan template. For example, the framework configuration information may include: course name, topic name, grade level, instructor, teaching time, visual schedule, textbook analysis, student learning analysis, teaching objective design, teaching process design, teaching methods, and teaching reflection. Specifically, firstly, the aforementioned executing entity can convert the teaching data to be stored into a tree structure in XML (Extensible Markup Language) format. Then, through string matching, keyword matching is performed on the teaching data to be stored in the tree structure to obtain the framework configuration information.

[0049] Step S13: Extract the text content from the above-mentioned teaching data to be stored to obtain dynamic text content.

[0050] Among them, dynamic text content represents the document content filled in by the associated editing object in the teaching data to be stored.

[0051] In practice, for XML-formatted tree structures, the visible document content is stored in... <w:t>Within the tag, therefore it can be read <w:t>The content within the tag is treated as dynamic text content.

[0052] Step S14: Based on the above style configuration information and the above framework configuration information, generate static template data and determine the above dynamic text content as dynamic fill data.

[0053] In practice, the aforementioned execution entity can define the style configuration information and the framework configuration information as static template data, and the dynamic text content as dynamically populated data. Specifically, the style configuration information and the framework configuration information can be converted into structured data in JSON (JavaScript Object Notation) format and used as static template data.

[0054] In some optional implementations of certain embodiments, the execution entity performs data separation on the teaching data to be stored according to the aforementioned data heterogeneity type, obtaining static template data and dynamically filled data, including: Step S2: In response to the above data heterogeneity type being video-based heterogeneous, the following second data separation processing step is performed: Step S21: Perform video frame segmentation on the above-mentioned teaching data to be stored to obtain a video image sequence.

[0055] The video images in the video image sequence are consecutive image frames from the teaching data to be stored. The video image sequence is an ordered image sequence.

[0056] In practice, the aforementioned implementing entity can perform video frame segmentation on the teaching data to be stored based on the video frame rate corresponding to the teaching data to be stored, thereby obtaining a video image sequence.

[0057] Step S22: Perform global image encoding on each frame of the above video image sequence to generate global video image features, and obtain a global video image feature sequence.

[0058] Among them, global video image features are the image feature representations corresponding to video images.

[0059] In practice, the aforementioned execution entity can perform global image encoding on video images using an encoding network consisting of three serially connected convolutional modules to obtain global video image features. The three serially connected convolutional modules are: convolutional module M1, convolutional module M2, and convolutional module M3. Convolutional module M1 consists of three serially connected convolutional layers: C11, C12, and C13. Convolutional module M2 consists of three serially connected convolutional layers: C21, C22, and C23. Convolutional module M3 consists of three serially connected convolutional layers: C31, C32, and C33. Convolutional layer C11 has a kernel size of 7×7, a stride of 2, and padding of 1. Convolutional layer C12 has a kernel size of 1×1, a stride of 1, and padding of 0. Convolutional layer C13 has a 1×1 kernel, a stride of 1, and 0 padding. Convolutional layer C21 has a 3×3 kernel, a stride of 2, and 1 padding. Convolutional layer C22 has a 1×1 kernel, a stride of 1, and 0 padding. Convolutional layer C23 has a 1×1 kernel, a stride of 1, and 0 padding. Convolutional layer C31 has a 3×3 kernel, a stride of 2, and 1 padding. Convolutional layer C32 has a 1×1 kernel, a stride of 1, and 0 padding. Convolutional layer C33 has a 1×1 kernel, a stride of 1, and 0 padding. Assume the video image size is H×W, and the global video image feature size is H / 8×W / 8. Specifically, a ReLU activation function is set between every two convolutional layers in convolutional modules M1, M2, and M3. In particular, global video images contain a large amount of low-level information. A large receptive field convolutional layer C11 is used to cover a larger image area, thereby capturing complete low-level information features and avoiding feature fragmentation. Secondly, each convolutional module has two convolutional layers with 1×1 kernels to achieve an autoencoder structure, thus eliminating redundant information. Next, the progressive network structure design avoids feature loss across leaps. Furthermore, the network structure is clear and easy to adjust modularly according to actual needs.

[0060] Step S23: Based on the above global video image feature sequence, determine the switching point positions corresponding to the above video image sequence to obtain a set of switching point positions.

[0061] The switching point position represents the image position of the video image in the video image sequence where a scene switching occurs.

[0062] In practice, assuming the number of video images in the video image sequence is K, for the i-th video image in the video image sequence, when i ≤ K / 2, calculate the feature similarity between the global video image features corresponding to the i-th video image and the global video image features corresponding to the (i+1)-th video image, the global video image features corresponding to the i-th video image and the global video image features corresponding to the (i+2)-th video image, and the global video image features corresponding to the i-th video image and the global video image features corresponding to the (i+3)-th video image. When there are at least two feature similarities that are all less than the similarity threshold, the image position of the i-th video image is taken as the switching point position. When i > K / 2, the feature similarity between the global video image features corresponding to the i-th video image and those corresponding to the (i-1)-th, (i-2)-th, and (i-3)-th video images is calculated. If at least two feature similarities are less than the similarity threshold, the image position of the i-th video image is used as the switching point position. Cosine similarity is used to calculate the feature similarity. Specifically, the global video image features of size H / 8 × W / 8 are mapped to a one-dimensional feature vector of size 1 × (H / 8 × W / 8) before feature similarity calculation.

[0063] As an example, see Figure 2 The diagram illustrates a process for determining the switching point location. Assuming i = 1, the feature similarity Sim12 between the global video image features corresponding to the 1st video image and those corresponding to the 2nd video image, the feature similarity Sim13 between the global video image features corresponding to the 1st video image and those corresponding to the 3rd video image, and the feature similarity Sim14 between the global video image features corresponding to the 1st video image and those corresponding to the 4th video image are calculated respectively. When at least two of the feature similarities Sim12, Sim13, and Sim14 are less than a similarity threshold, the image location of the 1st video image is taken as the switching point location.

[0064] As another example, see Figure 3 The diagram illustrates another process for determining the switching point location. Assuming i = K, the feature similarities SimKK-1 between the global video image features corresponding to the Kth video image and those corresponding to the (K-1)th video image, SimKK-2 between the Kth video image and those corresponding to the (K-2)th video image, and SimKK-3 between the Kth video image and those corresponding to the (K-3)th video image are calculated. When at least two of the feature similarities SimKK-1, SimKK-2, and SimKK-3 are less than a similarity threshold, the image position of the Kth video image is taken as the switching point location.

[0065] Step S24: Based on the above set of switching point locations, group the video images in the above video image sequence to obtain a video image group sequence.

[0066] In this context, the video image group sequence consists of multiple consecutive video images segmented by the switching point position.

[0067] In practice, the aforementioned execution entity can use the switching point as the dividing point to group the video images in the video image sequence to obtain a video image group sequence.

[0068] Step S25: For each video image group in the above video image group sequence, perform foreground and background separation on the above video image group to obtain a static background image and a dynamic foreground image group.

[0069] In this context, the static background image represents the image region in the video image that has not changed or has changed only slightly. The dynamic foreground image is the image difference between the video image and the static background image.

[0070] In practice, firstly, a Gaussian mixture model is used to statistically model the video image set. Next, for each pixel in the first video image, it is determined whether the multiple pixel values ​​corresponding to that pixel in the video image set conform to the Gaussian distribution corresponding to the Gaussian model, specifically characterized by small mean variation and small variance. If they conform, that pixel is used as a pixel in the static background image, thus obtaining the image mask corresponding to the static background image. Further, morphological operations (including erosion and dilation operations) and Gaussian filtering smoothing of the mask edges are performed on the image mask to obtain the static background image. Finally, the image difference between each video image in the video image set and the static background image is calculated, and this difference is used as the dynamic foreground image, resulting in the dynamic foreground image set.

[0071] In some optional implementations of certain embodiments, the execution entity performs foreground and background separation on the video image group to obtain a static background image and a dynamic foreground image group, including: Step S251: For each frame of video image in the above video image group, perform the following image processing steps: Step S2511: Based on the global video image features corresponding to the above video image, perform region segmentation on the above video image to obtain a segmentation region group, and determine the region label corresponding to each segmentation region in the above segmentation region group.

[0072] The region labels include dynamic foreground labels and static background labels. The segmented regions represent the local image regions obtained from semantic segmentation.

[0073] In practice, firstly, the global image features are upsampled to obtain the upsampled global image features. The feature size of the upsampled global image features is H×W. This upsampling can be achieved using an upsampling network symmetrical to convolutional modules M1, M2, and M3. Next, a binary classifier performs pixel-by-pixel classification. The classifier's labels include dynamic foreground and static background labels. Furthermore, adjacent pixels with the same classification label are grouped into segmentation regions, thus obtaining segmentation region groups.

[0074] Step S2512: Select the segmented regions whose corresponding region labels are static background labels from the obtained set of segmented regions and use them as candidate segmented regions to obtain a set of candidate segmented regions.

[0075] Among them, the candidate segmentation region is the segmentation region whose corresponding region label is a static background label.

[0076] Step S252: Generate a static background image based on the above candidate segmentation region set.

[0077] In practice, the aforementioned execution entity can use the intersection of candidate segmentation regions in the candidate segmentation region set as the static background image. In particular, the reason for not using the region union of the candidate segmentation region set is that when the foreground changes, image regions at the same location may be labeled with different region labels in different video images. If the union is used, image regions corresponding to dynamic foreground labels may be misjudged as part of the static background image, thus affecting subsequent image segmentation.

[0078] Step S253: Based on the above static background image, perform image segmentation on the video images in the above video image group to obtain a dynamic foreground image group.

[0079] In practice, for each video image in a video image group, the aforementioned execution entity can determine the image difference between the video image and the static background image, which serves as the dynamic foreground image, thus obtaining a dynamic foreground image group.

[0080] Step S3: Generate static template data based on the obtained set of static background images.

[0081] In practice, for each static background image in the static background image set, the image position of the corresponding video image group in the video image sequence is bound to obtain an image position list. The static background images and the corresponding image position list in the obtained static background image set are used as static template data.

[0082] Step S4: The obtained dynamic foreground image group sequence is determined as dynamic filling data.

[0083] Step 103: Determine whether the static template data has corresponding master board data.

[0084] In some embodiments, the aforementioned execution entity may determine whether the static template data has corresponding master data.

[0085] In this context, master template data represents the original template corresponding to static template data. Specifically, when the data heterogeneity type is document-based, master template data represents the original template configuration corresponding to static template data. For example, taking the teaching data to be stored as lesson plans, master template data represents the lesson plan template corresponding to static template data. When the data heterogeneity type is video-based, master template data represents the video background configuration corresponding to static template data. For example, taking the teaching data to be stored as teaching videos, master template data represents the video recording background corresponding to static template data.

[0086] In practice, when the data heterogeneity is document-based, the static template data is text-based configuration data. Therefore, the static template data can be hashed to obtain a hash identifier. This hash identifier is then matched with the hash identifiers of stored lesson plan templates. A successful match (e.g., the similarity between the two hash identifiers is greater than a preset similarity) indicates the existence of a corresponding master template data. A failed match indicates the absence of a corresponding master template data. Similarly, when the data heterogeneity is video-based, the static template data is static video frames in image format. Therefore, a machine learning model (e.g., ResNet50) can be used to compress the static template data into a one-dimensional feature vector. The similarity between this one-dimensional feature vector and the one-dimensional feature vector corresponding to the stored video recording background is calculated. A successful match (e.g., the similarity between the two one-dimensional feature vectors is greater than a preset similarity) indicates the existence of a corresponding master template data. A failed match indicates the absence of a corresponding master template data.

[0087] Step 104: In response to the existence of master data corresponding to static template data, determine the data hotness and coldness corresponding to static template data and dynamic filling data respectively based on data element information and master data, and use them as the first hotness and coldness and the second hotness and coldness.

[0088] In some embodiments, in response to the existence of master data corresponding to static template data, the aforementioned execution entity can determine the data hotness / coldness corresponding to the static template data and the dynamically filled data based on the data element information and the master data, respectively, as the first hotness / coldness and the second hotness / coldness.

[0089] The first "hotness / coldness" index represents the hotness / coldness of the data corresponding to the static template data. The second "hotness / coldness" index represents the hotness / coldness of the data corresponding to the dynamically populated data. The hotness / coldness index is a metric representing the activity level of the data. The hotness / coldness index is directly proportional to the activity level of the data.

[0090] In practice, when the teaching data to be stored is stored for the first time, it is impossible to directly calculate the access frequency and timeliness of the static template data. However, considering that the static template data can be regarded as an instantiation of the master data, the access frequency and timeliness of the master data can be relied upon to calculate the first "hot / cold" index of the static template data. Furthermore, since the data metadata includes associated course status and associated course progress, the associated course status and associated course progress can be mapped to obtain the second "hot / cold" index corresponding to the dynamically populated data. Specifically, firstly, for the access frequency and timeliness of the master data, a discrete mapping method can be used to determine the baseline data "hot / cold" index corresponding to the access frequency and timeliness. Then, the two baseline data "hot / cold" indices are weighted and summed to obtain the first "hot / cold" index. Secondly, for the data metadata, corresponding baseline data "hot / cold" indices can be preset for different status values ​​and different progress values ​​corresponding to associated course status and associated course progress. Then, the two baseline data "hot / cold" indices are weighted and summed to obtain the second "hot / cold" index.

[0091] In some optional implementations of certain embodiments, the execution entity, in response to the existence of master data corresponding to the static template data, determines the data hotness / coldness corresponding to the static template data and the dynamically filled data, respectively, as a first hotness / coldness and a second hotness / coldness, based on the data element information and the master data, including: Step S1: Determine the frequency of access to and use of the master data within the target teaching cycle.

[0092] The aforementioned target teaching cycle refers to the teaching cycle in which the teaching course corresponding to the aforementioned teaching data to be stored is located.

[0093] In practice, the access frequency and usage frequency of the master data and its corresponding instantiation within the target teaching cycle can be statistically analyzed and used as the master data access frequency and master data usage frequency.

[0094] Step S2: Based on the access frequency and usage frequency of the master data, perform a hot / cold mapping to obtain the first hot / cold value corresponding to the static template data.

[0095] In practice, firstly, different data access frequencies and usage frequencies of the master board data are pre-set with corresponding data hot / cold values. Therefore, the data hot / cold value corresponding to the master board data access frequency and the data hot / cold value corresponding to the aforementioned master board data usage frequency can be determined through value mapping. Next, the executing entity can use the weighted sum of the two data hot / cold values ​​corresponding to the master board data access frequency and the aforementioned master board data usage frequency (where the default is average weighting) as the first hot / cold value.

[0096] Step S3: Based on the above data element information, determine the course status and course progress of the teaching courses corresponding to the above teaching data to be stored.

[0097] In practice, data element information can be parsed to obtain the course status and progress of the teaching courses corresponding to the teaching data to be stored.

[0098] Step S4: Based on the course status and course progress mentioned above, perform a hot / cold mapping to obtain the second hot / cold rating corresponding to the dynamically filled data.

[0099] In practice, firstly, both the course status and the course progress are pre-set with corresponding data hotness / coldness levels. Therefore, the data hotness / coldness levels corresponding to the course status and the course progress can be determined through value mapping. Next, the executing entity can use the weighted sum of the two data hotness / coldness levels (where the default is average weighting) as the second hotness / coldness level.

[0100] Step 105: Based on the first and second hot / cold indices, generate data association information corresponding to the static template data and the dynamically filled data.

[0101] In some embodiments, the execution entity may generate data association information corresponding to static template data and dynamically filled data based on the first hotness and the second hotness.

[0102] Among them, the data association information is used to associate the storage location of static template data, the storage location of dynamically populated data, and the teaching data to be stored, so as to facilitate quick access to the data in the future.

[0103] In practice, firstly, the storage locations of static template data and dynamically populated data can be determined based on the first and second levels of popularity. Next, the data identifier of the teaching data to be stored, the location index of the static template data, and the location index of the dynamically populated data can be used as a triple to obtain the data association information.

[0104] In some optional implementations of certain embodiments, the execution entity generates data association information corresponding to the static template data and the dynamically filled data based on the first hot / cold index and the second hot / cold index, including: Step S1: Based on the first temperature index, determine the storage medium type corresponding to the static template data, and use it as the first storage medium type.

[0105] The storage media types include: hot storage media, warm storage media, and cold storage media. Hot storage media represents memory cache media. Warm storage media represents high-speed solid-state drives (SSDs). Cold storage media represents hard disk drives (HDDs). Specifically, for different storage media types, corresponding data hot / cold mapping ranges are set. The data hot / cold mapping range for hot storage media is larger than that for warm storage media, and vice versa.

[0106] In practice, the data hotness and coldness mapping range can be determined based on the value of the first hotness and coldness, and the corresponding storage medium type can be determined as the first storage medium type.

[0107] Step S2: Based on the second temperature index, determine the storage medium type corresponding to the dynamically filled data, and use it as the second storage medium type.

[0108] In practice, similar to the method for determining the first storage medium type, the data hot / coldness mapping range can be determined based on the value of the second hot / coldness index, thereby determining the corresponding storage medium type, which is then used as the second storage medium type.

[0109] Step S3: Apply for storage areas from the storage media corresponding to the first storage medium type and the storage media corresponding to the second storage medium type, respectively, as the first storage area and the second storage area.

[0110] In practice, the first storage area represents the requested storage area used for storing static template data. The second storage area represents the requested storage area used for storing dynamically populated data. Specifically, the executing entity can apply for contiguous storage areas from the storage medium corresponding to the first storage medium type and the storage medium corresponding to the second storage medium type, respectively, based on the amount of static template data and the amount of dynamically populated data, to serve as the first storage area and the second storage area.

[0111] Step S4: Generate the region association information corresponding to the first storage region and the second storage region.

[0112] Among them, the regional association information represents the relationship between the data stored in the first storage area and the second storage area.

[0113] In practice, the region index of the first storage region and the region index of the second storage region can be combined into a tuple as region association information.

[0114] Step S5: Generate data association information based on the above data element information and the above regional association information.

[0115] In practice, data element information and regional association information can be combined into a binary tuple as data association information.

[0116] Step 106: Store static template data, dynamically populated data, and data association information in a hierarchical manner.

[0117] In some embodiments, the aforementioned execution entity may store static template data, dynamically populated data, and data association information in a hierarchical manner.

[0118] In practice, the aforementioned implementing entity can store static template data in the first storage area, dynamically populated data in the second storage area, and data association information in a memory cache medium. Specifically, after the static template data and dynamically populated data corresponding to the teaching data to be stored are stored, the first and second "hot / cold" rankings can be dynamically updated (recalculated) based on the access and usage frequency of the teaching data to be stored. This adjusts the storage method of the static template data and dynamically populated data, thereby ensuring efficient storage and fast data access.

[0119] The above embodiments of this disclosure have the following beneficial effects: The data storage method for heterogeneous teaching data, applied to some embodiments of this disclosure, improves the utilization efficiency of the storage medium and ensures efficient storage of teaching data. Specifically, this disclosure first, in response to receiving teaching data to be stored, determines the data heterogeneity type and data metadata corresponding to the teaching data to be stored, wherein the data heterogeneity type includes: video heterogeneity type and document heterogeneity type. Secondly, based on the data heterogeneity type, the teaching data to be stored is separated to obtain static template data and dynamically filled data. In practice, teaching data, compared to general business data or user data, has a high degree of pattern repetition. If data separation is not performed, it often results in a large amount of redundant storage, thereby reducing the utilization efficiency of the storage medium. Furthermore, teaching data has obvious heterogeneous characteristics. Therefore, this disclosure combines data heterogeneity type for categorized data separation to ensure the robustness of data separation and improve the utilization efficiency of the storage medium. Next, it is determined whether the static template data has corresponding master data. Furthermore, in response to the existence of master data corresponding to the aforementioned static template data, the data hotness / coldness corresponding to the aforementioned static template data and the aforementioned dynamically filled data are determined based on the aforementioned data metadata and the aforementioned master data, respectively, as the first hotness / coldness and the second hotness / coldness. In practice, static template data can be regarded as an instantiation of master data for the teaching data to be stored. Therefore, by combining master data and data metadata, the data hotness / coldness corresponding to the static template data and the aforementioned dynamically filled data are quantified respectively, thereby providing an indicator basis for further refined utilization of storage media. Next, based on the aforementioned first hotness / coldness and the aforementioned second hotness / coldness, data association information corresponding to the aforementioned static template data and the aforementioned dynamically filled data is generated. In practice, depending on the different data hotness / coldness, static template data and dynamically filled data often use different storage media. In order to ensure subsequent reading efficiency, data association data is generated to construct storage relationship constraints between static template data and the aforementioned dynamically filled data. Finally, the aforementioned static template data, the aforementioned dynamically filled data, and the aforementioned data association information are stored in layers to achieve efficient utilization of different types of storage media. In summary, this disclosure improves the efficiency of storage media and ensures the efficient storage of teaching data.

[0120] Further reference Figure 4 As an implementation of the methods shown in the above figures, this disclosure provides some embodiments of a data storage device for heterogeneous teaching data, which are similar to... Figure 1 Corresponding to the method embodiments shown, this data storage device for heterogeneous teaching data can be specifically applied to various electronic devices.

[0121] like Figure 4 As shown, a data storage device 400 for heterogeneous teaching data in some embodiments includes: a first determining unit 401, a data separation unit 402, a second determining unit 403, a third determining unit 404, a generating unit 405, and a hierarchical storage unit 406, wherein, The first determining unit 401 is configured to, in response to receiving teaching data to be stored, determine the data heterogeneity type and data element information corresponding to the teaching data to be stored, wherein the data heterogeneity type includes: video heterogeneity type and document heterogeneity type; the data separation unit 402 is configured to, according to the data heterogeneity type, perform data separation on the teaching data to be stored to obtain static template data and dynamically filled data; the second determining unit 403 is configured to, determine whether the static template data has corresponding master data; the third determining unit 404 is configured to, in response to the existence of master data corresponding to the static template data, determine the data hotness / coldness corresponding to the static template data and the dynamically filled data respectively, based on the data element information and the master data, as the first hotness / coldness and the second hotness / coldness; the generating unit 405 is configured to, based on the first hotness / coldness and the second hotness / coldness, generate data association information corresponding to the static template data and the dynamically filled data; and the hierarchical storage unit 406 is configured to, hierarchically store the static template data, the dynamically filled data, and the data association information.

[0122] It is understandable that the units and references recorded in the data storage device 400 applied to heterogeneous teaching data are... Figure 1 The steps in the described method correspond to each other. Therefore, the operations, features, and beneficial effects described above for the method are also applicable to the data storage device 400 and the units contained therein used for heterogeneous teaching data, and will not be repeated here.

[0123] The following is for reference. Figure 5 It shows a schematic diagram of the structure of an electronic device (e.g., a computing device) 500 suitable for implementing some embodiments of the present disclosure. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments of this disclosure.

[0124] like Figure 5 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory 502 or a program loaded from a storage device 508 into a random access memory 503. The random access memory 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, the read-only memory 502, and the random access memory 503 are interconnected via a bus 504. An input / output interface 505 is also connected to the bus 504.

[0125] Typically, the following devices can be connected to the input / output interface 505: input devices 506 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 507 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 508 including, for example, magnetic tape, hard disk, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively. Figure 5 Each box shown can represent a device or multiple devices as needed.

[0126] In particular, according to some embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a read-only memory 502. When the computer program is executed by the processing device 501, it performs the functions defined above in the methods of some embodiments of this disclosure.

[0127] It should be noted that, in some embodiments of this disclosure, the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In some embodiments of this disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In some embodiments of this disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0128] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks ("LANs"), wide area networks ("WANs"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.

[0129] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently without being assembled into the electronic device. The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to: perform data separation on the teaching data to be stored according to the aforementioned data heterogeneity type, obtaining static template data and dynamically filled data; determine whether the aforementioned static template data has corresponding master data; in response to the existence of master data corresponding to the aforementioned static template data, determine the data hotness / coldness corresponding to the aforementioned static template data and the aforementioned dynamically filled data according to the aforementioned data element information and the aforementioned master data, respectively, as a first hotness / coldness and a second hotness / coldness; generate data association information corresponding to the aforementioned static template data and the aforementioned dynamically filled data according to the aforementioned first hotness / coldness and the aforementioned second hotness / coldness; and perform hierarchical storage of the aforementioned static template data, the aforementioned dynamically filled data, and the aforementioned data association information.

[0130] Computer program code for performing operations of some embodiments of this disclosure can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and Python, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0131] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0132] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0133] The above description is merely a selection of preferred embodiments of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in the embodiments of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features with similar functions disclosed in the embodiments of this disclosure.< / w:t> < / w:t>

Claims

1. A data storage method for heterogeneous teaching data, characterized in that, include: In response to receiving teaching data to be stored, the data heterogeneity type and data metadata corresponding to the teaching data to be stored are determined, wherein the data heterogeneity type includes: video heterogeneity type and document heterogeneity type; Based on the data heterogeneity type, the teaching data to be stored is separated to obtain static template data and dynamically filled data; Determine whether the static template data has corresponding master board data; In response to the existence of motherboard data corresponding to the static template data, the data hotness and coldness corresponding to the static template data and the dynamic filling data are determined according to the data element information and the motherboard data, respectively, as the first hotness and coldness and the second hotness and coldness; Based on the first temperature and the second temperature, generate data association information corresponding to the static template data and the dynamically filled data; The static template data, the dynamically filled data, and the data association information are stored in a hierarchical manner.

2. The data storage method for heterogeneous teaching data according to claim 1, characterized in that, The step of responding to receiving teaching data to be stored and determining the data heterogeneity type and data metadata corresponding to the teaching data to be stored includes: Determine the explicit declaration type corresponding to the teaching data to be stored; Extract the magic number corresponding to the teaching data to be stored; The magic number of the data is mapped to a magic number to obtain the file signature type corresponding to the teaching data to be stored; The data heterogeneity type is determined based on the explicit declaration type and the file signature type; Determine the additional data information corresponding to the teaching data to be stored; Meta-attribute filtering is performed on the data supplementary information to obtain data meta-information.

3. The data storage method for heterogeneous teaching data according to claim 2, characterized in that, In response to the existence of master data corresponding to the static template data, the method of determining the data hotness / coldness corresponding to the static template data and the dynamically filled data based on the data element information and the master data, respectively, as the first hotness / coldness and the second hotness / coldness, includes: Determine the access frequency and usage frequency of the master data within the target teaching cycle, wherein the target teaching cycle is the teaching cycle in which the teaching course corresponding to the teaching data to be stored is located; Based on the access frequency and usage frequency of the master board data, a hot / cold index mapping is performed to obtain the first hot / cold index corresponding to the static template data; Based on the data element information, determine the course status and course progress of the teaching course corresponding to the teaching data to be stored; Based on the course status and course progress, a hot / cold index mapping is performed to obtain the second hot / cold index corresponding to the dynamically filled data.

4. The data storage method for heterogeneous teaching data according to claim 3, characterized in that, The step of generating data association information corresponding to the static template data and the dynamically filled data based on the first and second hot / cold indices includes: Based on the first temperature, the storage medium type corresponding to the static template data is determined as the first storage medium type, wherein the storage medium type includes: hot storage medium type, warm storage medium type and cold storage medium type; Based on the second temperature, the storage medium type corresponding to the dynamically filled data is determined and used as the second storage medium type; Apply for storage regions from the storage medium corresponding to the first storage medium type and the storage medium corresponding to the second storage medium type, respectively, as the first storage region and the second storage region; Generate region association information corresponding to the first storage region and the second storage region; Data association information is generated based on the data element information and the regional association information.

5. The data storage method for heterogeneous teaching data according to claim 4, characterized in that, The step of separating the teaching data to be stored according to the data heterogeneity type to obtain static template data and dynamically filled data includes: In response to the fact that the data heterogeneity type is a document-type heterogeneous type, the following first data separation processing step is performed: Extract the style configuration information corresponding to the teaching data to be stored; The structural tags of the teaching data to be stored are traversed to obtain the framework configuration information. The text content of the teaching data to be stored is extracted to obtain dynamic text content; Based on the style configuration information and the framework configuration information, static template data is generated, and the dynamic text content is determined as dynamically filled data.

6. The data storage method for heterogeneous teaching data according to claim 5, characterized in that, The step of separating the teaching data to be stored according to the data heterogeneity type to obtain static template data and dynamically filled data includes: In response to the fact that the data heterogeneity type is a video heterogeneity type, the following second data separation processing step is performed: The teaching data to be stored is divided into video frames to obtain a video image sequence; Global image encoding is performed on each frame of the video image sequence to generate global video image features, resulting in a global video image feature sequence; Based on the global video image feature sequence, the switching point positions corresponding to the video image sequence are determined, and a set of switching point positions is obtained; Based on the set of switching point locations, the video images in the video image sequence are grouped to obtain a video image group sequence; For each video image group in the video image group sequence, the video image group is separated into foreground and background to obtain a static background image and a dynamic foreground image group; Based on the obtained set of static background images, generate static template data; The resulting sequence of dynamic foreground images is determined as dynamic fill data.

7. The data storage method for heterogeneous teaching data according to claim 6, characterized in that, The step of separating the foreground and background of the video image group to obtain a static background image and a dynamic foreground image group includes: For each frame of video image in the video image group, perform the following image processing steps: Based on the global video image features corresponding to the video image, the video image is segmented into regions to obtain a group of segmented regions, and a region label is determined for each segmented region in the group of segmented regions. The region label includes: dynamic foreground label and static background label. From the obtained set of segmented regions, the segmented regions whose corresponding region labels are static background labels are selected as candidate segmented regions, and a set of candidate segmented regions is obtained. A static background image is generated based on the set of candidate segmentation regions; Based on the static background image, the video images in the video image group are segmented to obtain a dynamic foreground image group.

8. A data storage device for heterogeneous teaching data, characterized in that, include: The first determining unit is configured to, in response to receiving teaching data to be stored, determine the data heterogeneity type and data metadata corresponding to the teaching data to be stored, wherein the data heterogeneity type includes: video heterogeneity type and document heterogeneity type; The data separation unit is configured to separate the teaching data to be stored according to the data heterogeneity type to obtain static template data and dynamically filled data; The second determining unit is configured to determine whether the static template data has corresponding motherboard data. The third determining unit is configured to, in response to the existence of motherboard data corresponding to the static template data, determine the data hotness / coldness corresponding to the static template data and the dynamic filling data respectively, based on the data element information and the motherboard data, as the first hotness / coldness and the second hotness / coldness; The generation unit is configured to generate data association information corresponding to the static template data and the dynamically filled data based on the first hotness and coldness and the second hotness and coldness. The hierarchical storage unit is configured to store the static template data, the dynamically filled data, and the data association information in a hierarchical manner.

9. An electronic device, characterized in that, include: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1 to 7.

10. A computer-readable medium, characterized in that, It stores a computer program thereon, wherein the computer program, when executed by a processor, implements the method as described in any one of claims 1 to 7.