Course Data Processing Methods and Devices
By identifying the course system type and calling or creating a parser to process course data, the compatibility and data parsing efficiency issues between academic affairs systems are resolved, achieving efficient and accurate course data processing.
Patent Information
- Application Number
- CN202610100568.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-23
- Publication Date
- 2026-05-26
AI Technical Summary
Existing technologies struggle to effectively handle complex and diverse course data, particularly regarding compatibility and data parsing efficiency across different academic affairs systems.
By obtaining the course access link, the course system type is identified, and a third-party system parser is called in a traversal manner to perform data parsing and verification. If the verification fails, course image recognition is performed based on the display adaptation status, or a personalized parser is created to adapt to the self-developed system.
It improves the accuracy and efficiency of course data processing, adapts to the compatibility differences of different academic affairs systems, ensures data integrity and logical rationality, and enhances the user interaction experience.
Smart Images

Figure CN122087213A_ABST
Abstract
Description
Technical Field
[0001] This document relates to the field of data processing technology, and in particular to a method and apparatus for processing course data. Background Technology
[0002] With the continuous development and popularization of Internet technology, efficient processing of course data has become an important way to improve the efficiency of school course management and users' learning efficiency. Among them, the data processing technology of importing course data into applications has been widely used. By importing course data into applications, the efficiency of users viewing courses and schools managing courses is improved. On this basis, with the increasing complexity and diversity of course data, how to better process course data has become a focus of attention for all parties. Summary of the Invention
[0003] This specification provides one or more embodiments of a course data processing method applied to a server. The method includes: obtaining a course access link corresponding to a school identifier; accessing a course webpage based on the course access link and obtaining structured course data; determining the course system type corresponding to the course webpage based on the school identifier; if the course system type is a third-party system type, using a traversal approach to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data; if the verification fails, performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage to obtain target course data.
[0004] This specification provides one or more embodiments of another course data processing method applied to a subroutine. The method includes: obtaining a school identifier submitted by a user during a course import interaction and uploading it to a server to access a course webpage; obtaining structured course data based on a course collection command submitted by the user through the course interaction page and uploading it to the server; and using a traversal approach to call the corresponding course parsers of various third-party systems to perform data parsing and course verification on the structured course data; if a course query command submitted by the user is received, obtaining target course data from the server and displaying it; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation state of the course webpage.
[0005] This specification provides one or more embodiments of a course data processing device, running on a server. The device includes: a data acquisition module configured to acquire a course access link corresponding to a school identifier, access a course webpage based on the course access link, and acquire structured course data; a parsing and verification module configured to determine the course system type corresponding to the course webpage based on the school identifier, and if the course system type is a third-party system type, to iterate through and call the corresponding course parsers of each third-party system to perform data parsing and course verification on the structured course data; and a course recognition module configured to, if verification fails, perform course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage to obtain target course data.
[0006] This specification provides one or more embodiments of another course data processing apparatus, running in a subroutine. The apparatus includes: an identifier acquisition module configured to acquire a school identifier submitted by a user during a course import interaction and upload it to a server to access a course webpage; an instruction acquisition module configured to acquire structured course data based on a course collection instruction submitted by the user through the course interaction page and upload it to the server, using a traversal approach to call the corresponding course parsers of various third-party systems to perform data parsing and course verification on the structured course data; and a course data display module configured to, upon receiving a course query instruction submitted by the user, acquire target course data from the server and display it; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation state of the course webpage.
[0007] This specification provides one or more embodiments of a course data processing device, including: a processor; and a memory configured to store computer-executable instructions, which, when executed, cause the processor to: acquire a school identifier submitted by a user during a course import interaction and upload it to a server to access a course webpage; acquire structured course data based on a course acquisition instruction submitted by the user through the course interaction page and upload it to the server, and use a traversal approach to call the corresponding course parsers of various third-party systems to perform data parsing and course verification on the structured course data; if a course query instruction submitted by the user is received, acquire target course data from the server and display it; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation state of the course webpage.
[0008] This specification provides one or more embodiments of another course data processing device, including: a processor; and a memory configured to store computer-executable instructions, which, when executed, cause the processor to: acquire a school identifier submitted by a user during a course import interaction and upload it to a server to access a course webpage; acquire structured course data based on a course acquisition instruction submitted by the user through the course interaction page and upload it to the server, and use a traversal approach to call the corresponding course parsers of various third-party systems to perform data parsing and course verification on the structured course data; if a course query instruction submitted by the user is received, acquire target course data from the server and display it; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation state of the course webpage.
[0009] This specification provides one or more embodiments of a computer-readable storage medium for storing computer-executable instructions. When executed, these instructions implement the following process: obtaining a course access link corresponding to a school identifier; accessing a course webpage based on the course access link and obtaining structured course data; determining the course system type corresponding to the course webpage based on the school identifier; if the course system type is a third-party system type, using a traversal approach to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data; if verification fails, performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage to obtain target course data.
[0010] This specification provides one or more embodiments of another computer-readable storage medium for storing computer-executable instructions, which, when executed, implement the following process: Obtaining a school identifier submitted by a user during a course import interaction and uploading it to a server to access a course webpage; obtaining structured course data based on the course collection instruction submitted by the user through the course interaction page and uploading it to the server; using a traversal approach to call the corresponding course parsers of each third-party system to perform data parsing and course verification on the structured course data; if a course query instruction submitted by the user is received, obtaining target course data from the server and displaying it; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation state of the course webpage. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in one or more embodiments of this specification or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Figure 1 A schematic diagram illustrating the implementation environment of a course data processing method provided in one or more embodiments of this specification; Figure 2 A flowchart illustrating a course data processing method provided in one or more embodiments of this specification; Figure 3 A flowchart illustrating a course data processing method applied to a course import scenario, provided for one or more embodiments of this specification; Figure 4 A flowchart illustrating another course data processing method provided in one or more embodiments of this specification; Figure 5 A schematic diagram of an embodiment of a course data processing device provided for one or more embodiments of this specification; Figure 6 A schematic diagram of another embodiment of a course data processing apparatus provided in one or more embodiments of this specification; Figure 7 A schematic diagram of the structure of a course data processing device provided for one or more embodiments of this specification; Figure 8 This is a schematic diagram of another course data processing device provided in one or more embodiments of this specification. Detailed Implementation
[0012] To enable those skilled in the art to better understand the technical solutions in one or more embodiments of this specification, the technical solutions in one or more embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the protection scope of this document.
[0013] The course data processing method provided in one or more embodiments of this specification can be applied to the implementation environment of a course import system. (Refer to...) Figure 1 The implementation environment includes at least: Subroutine 101, Server 102, Parser Resource Library 103; Subroutine 101 is used to obtain the course access link corresponding to the school identifier and access the course webpage to obtain structured course data, upload the structured course data to the server 102, receive the timetable data sent by the server and display it as the target course data; Subroutine 101 can run on a user terminal, which can be a mobile phone, personal computer, tablet computer, e-book reader, wearable device, device for information interaction based on AR (Augmented Reality) / VR (Virtual Reality), and laptop computer, etc.
[0014] Server 102 is used to receive structured course data uploaded by subroutine 101, determine the course system type according to the school identifier and call the corresponding course parser to parse and verify the structured course data. If the verification fails, image recognition is performed based on the display adaptation status to obtain the target course data and return it to subroutine 101. Server 102 can run on one or more servers, a server cluster consisting of several servers, or a cloud server of a cloud computing platform.
[0015] The parser resource library 103 is deployed on the server 102 to store course parsers corresponding to third-party systems and personalized systems, and to return the corresponding course parser according to the request from the server 102.
[0016] In this implementation environment, during the user's course data processing, subroutine 101 first obtains the school identifier submitted by the user through input or selection, and then uploads the school identifier to server 102. Server 102 queries the corresponding course access link based on the school identifier and returns the course access link to subroutine 101. Subroutine 101 loads the course access link through the host application and accesses the course webpage, extracts the structured course data from the course webpage, and then uploads the structured course data to server 102. Server 102 determines the course system type corresponding to the course webpage based on the school identifier. If the course system type is a third-party system type, it uses a traversal method to call the corresponding course parser of each third-party system to perform data parsing and course verification of the structured course data. If the verification fails after traversing all parsers, it determines the corresponding course recognition method based on the display adaptation status of the course webpage and performs course recognition on the course image to obtain the target course data. Finally, it returns the target course data to subroutine 101, and subroutine 101 displays the target course data after receiving it, thereby realizing the processing and import of course data.
[0017] This specification provides one or more embodiments of a course data processing method as follows: Reference Figure 2The course data processing method provided in this embodiment can be applied to the server. The method specifically includes steps S202 to S206.
[0018] Step S202: Obtain the course access link corresponding to the school identifier, access the course webpage based on the course access link, and obtain structured course data.
[0019] The course access link refers to the access path that establishes a unique mapping relationship with the school identifier and enables targeted access to the course webpage of the target school. Each course access link corresponds to a school identifier. The course webpage refers to the webpage obtained after loading and parsing through the course access link. Specifically, the course webpage can be the timetable page of the school's academic affairs management system, the display page of a student's personal timetable, or the course details page.
[0020] In practice, during the process of accessing the course webpage, the system first obtains the school identifier submitted by the user, and then accesses the course webpage based on the course access link corresponding to the school identifier to obtain the structured course data in the course webpage.
[0021] In the specific execution process, users can submit by entering the school identifier or selecting the target school identifier from a list of school identifiers consisting of multiple school identifiers. The school identifier can be a name field used to represent the target school, the standardized full name of the school, or the standardized abbreviation of the school. Furthermore, based on the obtained school identifier, the course webpage is accessed via the course access link corresponding to the school identifier. Different implementations may exist for obtaining the course access link to adapt to different system architectures and data interaction scenarios. To improve the flexibility and adaptability of querying course access links and accessing course webpages, the course access link can be queried and the course webpage accessed by calling a preset interface. Alternatively, the course webpage link can be queried and the course webpage accessed based on the school identifier. In one optional implementation provided in this embodiment, obtaining the course access link corresponding to the school identifier and accessing the course webpage based on the course access link includes: The system can either use the school identifier to call a preset interface to query course access links and access course webpages, or use the school identifier to query course access links and access course webpages based on those links.
[0022] The preset interface refers to a data interaction interface pre-configured on the server side for querying the mapping relationship between school identifiers and course access links. This preset interface receives the school identifier as an input parameter and returns the matched course access link for web page access.
[0023] Furthermore, after accessing the course webpage, structured course data is extracted from the webpage. This structured course data can be obtained through the host application and sent by the host application to the subroutine for uploading to the server. In one optional implementation of this embodiment, the structured course data is obtained in the following way: The browser framework deployed by the host application loads the course access link and parses the webpage to obtain structured course data. The structured course data is then sent to the subroutine for uploading to the server.
[0024] Among them, the browser framework refers to the web page loading and parsing component integrated into the host application. It has functions such as web page rendering and data structure analysis, and can adapt to the technical architecture of course web pages of different schools to ensure the normal loading of course web pages and the extraction of structured course data. The structured course data refers to course data with structured characteristics obtained by parsing course web pages. Specifically, structured course data can be basic course data, including course name, instructor, class time, credits, course code and / or teaching location, or course structure data, including hierarchical classification data of the course list, row and column data of the course list and / or data of the course details page.
[0025] In the specific execution process, the host application first receives the course access link issued by the server and inputs the link into the browser frame. The browser frame fully renders the course webpage pointed to by the course access link based on the preset webpage loading rules, extracts the course data from the rendered course webpage in a structured manner, and obtains structured course data. Then, the host application sends the structured course data to the subroutine, which uploads it to the server for subsequent course system type determination.
[0026] Step S204: Determine the course system type corresponding to the course webpage based on the school identifier. If the course system type is a third-party system type, use a traversal method to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data.
[0027] In practice, to improve the accuracy of course data parsing, after obtaining the school identifier and structured data, the server first determines the course system type corresponding to the course webpage based on the school identifier. If the course system type is a third-party system type, the server uses a traversal method to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data.
[0028] The course system type refers to the course system architecture or platform type corresponding to the course webpage, which is used by the server to select the corresponding parsing and verification strategies. Specifically, the course system type includes third-party system type and personalized system type. The third-party system type can be a standardized academic affairs system provided by a third-party vendor and used by multiple schools. The personalized system type can be a non-standardized academic affairs system type that is self-developed or customized by the school. Different system types correspond to different course data structures and different course parsers. The course parser refers to a parsing component that has a mapping relationship with different course systems and is used to parse structured course data.
[0029] In practical applications, when determining the course system type based on the school identifier, the course system type can be determined by querying a preset mapping table. In one optional implementation provided in this embodiment, determining the course system type corresponding to the course webpage based on the school identifier includes: Query the course system type mapped to the school identifier in the preset school identifier and system type mapping table.
[0030] In the specific execution process, after receiving the school identifier, the server queries the school identifier-system type mapping table to obtain the course system type corresponding to the school identifier. If the system type obtained is a third-party system type, the server calls the course parser of the third-party system to perform data parsing and course verification on the structured course data. If the system type obtained is a personalized system type, the server checks whether there is a course parser built for the personalized system of the course webpage in the parser resource library. The school identifier-system type mapping table is a mapping table established by the server based on the correspondence between the school identifier and the course system type.
[0031] Furthermore, if the course system type corresponding to the course webpage is determined to be a third-party system type, a course parser can be invoked to extract the structured course data to obtain the course data to be verified, and course element detection and course logic verification can be performed on the course data to be verified. In one optional implementation method provided in this embodiment, a traversal approach is used to invoke the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data, including: Call any course parser of the third-party system type to extract node data from the structured course data to obtain the course data to be verified. Perform course element detection on the course data to be verified, and execute course logic verification after the detection is passed.
[0032] Among them, node data extraction refers to the process of locating key nodes of course data in structured course data based on the parsing rules corresponding to the parser and extracting the data under the key nodes. Accordingly, the course data to be verified can be the data of key nodes of structured course data, such as course name, instructor, class time, etc.
[0033] In the specific execution process, the server sequentially calls the corresponding course parsers of each third-party system. For each course parser, node data extraction is performed first, followed by course element detection and course logic verification. When any parser passes the verification, it is determined that the parser is the target parser and the corresponding target course data is output. When the verification still fails after traversal, the result of the verification failure is returned and the subsequent course recognition process based on the course image is triggered.
[0034] Furthermore, to improve the accuracy and comprehensiveness of course element detection during the process, element integrity detection can be performed on the course data to be verified based on preset key dimensions of the course. In one optional implementation method provided in this embodiment, course element detection is implemented in the following way: Extract course element data from the course data to be verified, identify key fields of the course element data based on preset key dimensions of the course to obtain the fields to be verified, perform element integrity detection on the fields to be verified, and obtain the course element detection results.
[0035] Among them, course element data refers to the data related to the completeness of course information in the course data to be verified, and course key dimensions refer to multiple important dimensions in course information. Specifically, course key dimensions include time dimension, subject dimension, spatial dimension and / or identification dimension.
[0036] In the specific execution process, after obtaining the course data to be verified, the course element data is extracted from the course data to be verified. Based on the preset key dimensions of the course, the key fields of the course element data are identified and the fields to be verified are obtained. The fields to be verified are checked from multiple dimensions to see if they are complete, missing, or have the correct format. After the checks are completed, the course element detection results are obtained.
[0037] In practical applications, the course data to be verified may contain inherent logical contradictions, such as class times conflicting with other courses taught by the same instructor, or mismatches between credit values and course type standards. Directly importing this data may lead to problems such as a chaotic timetable display. Therefore, to ensure the logical rationality and reliability of the course data to be verified and to avoid problems in subsequent data application, course logic verification can be performed by calculating the confidence level of logical features. In one optional implementation method provided in this embodiment, course logic verification is implemented in the following way: Logical features are extracted from the course data to be verified to obtain course logical features. The course logical features are then input into the logic detection model for logic verification to obtain the course logic confidence score. Based on the course logic confidence score, the course logic verification result is generated.
[0038] In the specific execution process, the above process can be performed through a logic detection model. Specifically, the course data to be verified can be encoded by a logic feature encoder. The logic feature encoder can be a structure encoder that integrates an attention mechanism. By inputting the course data to be verified into the structure encoder for encoding, course encoded data is obtained. Then, logical features are extracted from the course encoded data to obtain course logical features. Furthermore, the logical encoding features are input into the confidence calculation network of the logic detection model to calculate the confidence level. This confidence calculation network can be a lightweight decision network based on a decoder. The course logic features are input into the confidence calculation network, where the attention fusion layer first performs weighted fusion of the course logic features. Then, a fully connected subnetwork performs dimensionality compression and nonlinear transformation on the fused logic features. Finally, the transformed features are mapped to a probability range of 0-1. The confidence level of the course logic of the course data to be verified is calculated and output. Based on a preset confidence threshold, a course logic verification result is generated. If the confidence level is higher than the threshold, the logic of the course data to be verified is considered reasonable, and the verification passes. If the confidence level is lower than the threshold, the logic of the course data to be verified is considered abnormal, and the verification fails.
[0039] For example, in the course data submitted by the user, the teaching location of the university physics course is classroom 301, which has a capacity of 50 people and 65 students enrolled. The course credit is 2.0. However, the actual course type of university physics is a required course for the major, and the credit range for required courses is 3.0-4.0. In the logic detection model, the abnormal weights of the venue capacity matching feature and the credit adaptation feature are increased, which directly affects the calculation of the logic confidence. As a result, the final logic confidence is 0.28, which is lower than the preset threshold of 0.8. The system determines that the course data to be verified has a logical anomaly, and the verification fails.
[0040] It should be noted that directly determining the course system type after obtaining structured course data may result in invalid processing. For example, if a user only wants to preview the course webpage content and not collect course data, or accidentally accesses the course webpage, determining the course system type in this case may generate course data that the user does not need, affecting user experience and system processing efficiency. In this situation, to improve the convenience of user interaction and the efficiency of course data processing, after obtaining the course access link corresponding to the school identifier, accessing the course webpage based on the course access link, and obtaining structured course data, before determining the course system type corresponding to the course webpage based on the school identifier, this embodiment provides an optional implementation method that further includes: Receive course collection instructions uploaded by the subroutine. The course collection instructions are generated in the following manner: The course webpage and the interactive page of the subroutine are combined and spliced to generate the course interactive page and the corresponding course data collection control. When the user triggers the course data collection control, a course data collection command is generated.
[0041] The course interaction page refers to a composite page formed by combining the course webpage content with the data collection interaction interface on the same screen or layering them. It is used to display course information and configure course data collection controls. The course data collection controls are triggerable interactive elements configured in the course interaction page to receive users' active data collection operations. Specifically, the course data collection controls can be buttons, gesture recognition areas, or voice recognition controls.
[0042] In the specific execution process, after receiving the structured course sent by the host application, the subroutine combines the course webpage with the subroutine's interactive interface to obtain the course interactive page, and renders the course collection control on the course interactive page. When the user clicks the course collection control, the subroutine generates a course collection instruction and uploads it to the server. After receiving the instruction, the server performs an operation to determine the course system type, thereby improving the efficiency of system processing and the convenience of user interaction.
[0043] It should be noted that during the above traversal process, if any course parser obtains course data that passes the course verification through data parsing, then the course data obtained by that course parser is used as the target course data. Conversely, if the verification fails, the step of obtaining the target course data by performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage can be replaced by: The course data to be verified, obtained by parsing the course parser through course verification, is used as the target course data.
[0044] Step S206: If the verification fails, the course image of the structured course data is used to perform course recognition based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
[0045] The display adaptation state mentioned in this embodiment refers to the compatibility state of the course webpage when it is displayed. Specifically, the display adaptation state can be the degree of compatibility of the course webpage in the subroutine interface, the degree of compatibility of the course webpage displayed on the user terminal, or the degree of compatibility of the course webpage displayed on the user terminal and the subroutine.
[0046] In practice, after receiving the result of failure to verify, the server first determines the current display adaptation status of the course webpage, then determines the corresponding course recognition method based on the display adaptation status, and then performs course recognition on the course image of the structured course data according to the corresponding course recognition method to finally obtain the target course data. Among them, the course recognition method refers to the set of recognition strategies that have a mapping relationship with the display adaptation state. Different display adaptation states correspond to different course recognition methods, so as to recognize courses in course images generated by different methods. The course image refers to the visualized image data containing course information. Specifically, the course image can be a course content image generated by rendering the rendering features of structured data, or a screenshot of the course webpage obtained by taking a screenshot of the course webpage.
[0047] In practical applications, the display adaptation states of different school academic affairs systems often vary. Some systems may have better compatibility, allowing course webpages to be fully rendered and displayed in the terminal or subprograms, while others have poor compatibility, only achieving normal loading of partial elements or abnormal scaling. If a uniform course recognition method is used for course recognition, it may lead to problems such as incomplete course data extraction and recognition bias. In this case, to improve the success rate and accuracy of course data processing, if the display adaptation state of the course webpage is partial, the target course data can be obtained by performing image recognition on the course content image generated based on the rendered structured course data. In one optional implementation of this embodiment, the target course data is obtained by performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage, including: The display adaptation status of the course webpage is determined based on the rendering parameters of the course webpage within the subroutine. If the display adaptation state is a partial adaptation state, the structured course data is subjected to rendering feature extraction to obtain structural rendering features and data rendering features. The structural rendering features and data rendering features are then rendered to generate the course content image. Image recognition is then performed on the course content image to obtain the target course data.
[0048] Among them, rendering and display parameters refer to the parameters obtained by the subroutine when loading the course webpage to characterize the completeness of page rendering. Specifically, rendering and display parameters include the proportion of visible content area, font adaptation status, layout adaptation parameters, and / or page load completion rate. The server can determine the display adaptation status of the course webpage based on the rendering and display parameters. The display adaptation status includes global adaptation status and local adaptation status. Specifically, global adaptation status means that the content of the course webpage can be rendered and displayed normally in the subroutine or terminal, and the overall page layout is neat and interactive controls can respond normally. Local adaptation status means that a local area of the course webpage can be rendered and displayed normally in the subroutine or terminal, but the overall page layout or some interactive elements have display abnormalities or are missing. Structural rendering features refer to the feature data extracted from structured course data that represents visual information such as the layout, row and column structure, and / or unit position of the course webpage. Data rendering features refer to the feature data extracted from structured data that represents textual content such as course name, teacher, and time. By recombining and rendering structural rendering features and data rendering features, a complete course content image can be generated, thereby avoiding the local rendering defects of the original course webpage in subroutines or terminals. In the specific execution process, the server first receives and parses the rendering and display parameters reported by the subroutine. When it is determined that the display adaptation state is a partial adaptation state, it extracts the structural rendering features and data rendering features from the structured course data. Then, it renders the above features and generates course content images. Finally, it performs image recognition on the course content images and obtains the structured target course data.
[0049] Furthermore, if the display adaptation state of the course webpage is global, to improve the success rate of course data processing, the target course data can be obtained by taking a screenshot of the course webpage and performing image recognition. In an optional implementation of this embodiment, after the step of determining the display adaptation state of the course webpage based on the rendering display parameters of the course webpage within the subroutine is executed, the method further includes: If the adaptation status is global adaptation status, take a screenshot of the course webpage displayed in the subroutine to obtain a screenshot of the course webpage, perform image recognition on the screenshot of the course webpage to obtain initial course data, and perform structured processing on the initial course data based on the webpage structure features of the course webpage to obtain target course data.
[0050] Among them, a course webpage screenshot refers to an image obtained by capturing the currently displayed course webpage through a subroutine or user terminal screenshot interface. Initial course data can be obtained by performing image recognition on the course webpage screenshot. Specifically, initial course data refers to the unstructured raw data set obtained after performing image recognition on the course webpage screenshot.
[0051] In the specific execution process, after the server determines that it is in a global adaptation state based on the rendering and display parameters, it first calls the screenshot interface to take a screenshot of the currently displayed course webpage to obtain a screenshot of the course webpage. Then, it performs image recognition on the course webpage screenshot to obtain initial course data. After that, it performs structured processing on the initial course data based on the webpage structure features, and finally generates structured target course data.
[0052] Furthermore, in practice, some schools' course system types may not be third-party system types; that is, the course system type may be a personalized system type. Specifically, a personalized system type can be a self-developed system or a customized system. Due to the non-standard nature of such systems, using a course parser corresponding to a third-party system to parse course webpages may lead to abnormal parsing results. Therefore, the server can first check whether a course parser built for personalized system course webpages exists. If not, the server extracts and identifies the course and creates and stores a personalized course parser. In an optional implementation of this embodiment, after the operation of determining the course system type corresponding to the course webpage based on the school identifier is executed, the following steps are also included: If the course system type is a personalized system type, query the parser resource library to see if there is a course parser built for the personalized system of the course webpage; If the target course data is not found, the structured course data is extracted and identified to obtain the target course data. A personalized course parser corresponding to the personalized system is then created and stored in the parser resource library.
[0053] Among them, the parser resource library refers to the database maintained by the server to store various course parsers, including course parsers from third-party systems and personalized course parsers; personalized course parsers are dedicated parsers built for school-developed or customized course systems, whose parsing rules are configured based on the page structure and data characteristics of the personalized course system, and can extract course data from the personalized course system.
[0054] In the specific execution process, after determining that the course system type is a personalized system type, the server first queries the parser resource library for a corresponding course parser based on the school identifier. If no results are found, the server extracts and identifies the course data based on the display adaptation status of the course webpage to obtain the target course data, and creates a personalized course parser corresponding to the personalized system, storing it in the parser resource library. In this case, the course system type corresponding to the course webpage is determined based on the school identifier. If the course system type is a third-party system type, the step of calling the corresponding course parsers of each third-party system in a traversal manner to perform data parsing and course verification of the structured course data can be replaced by: If the course system type is the personalized system type, query the parser resource library to see if there is a course parser built for the personalized system of the course webpage.
[0055] Furthermore, to improve the adaptability and reusability of the personalized course parser, after the target course data has been validated and passed, a personalized course parser can be constructed and stored based on the course recognition method. In one optional implementation of this embodiment, the target course data is obtained by extracting and recognizing courses from structured course data, creating a personalized course parser corresponding to the personalized system, and storing it in the parser resource library, including: Determine the display adaptation status of the course webpage and perform course recognition on the structured course data based on the corresponding course recognition method to obtain the target course data; Perform course verification on the target course data. If the verification passes, build a personalized course parser based on the course identification method and store it in the parser resource library.
[0056] In the specific execution process, the server determines the corresponding course recognition method based on the display adaptation status of the course webpage, and performs course recognition on the structured course data in the course webpage based on the corresponding course recognition method to obtain the target course data. Then, the target course data is validated. For the specific course recognition method, please refer to the above content. If the validation is successful, a personalized course storage is built based on the course recognition method and stored in the parser resource library, thereby completing the construction of the personalized course parser and its subsequent reuse.
[0057] Furthermore, in practical applications, some personalized systems may have pre-built corresponding personalized course parsers. In this case, to improve reuse efficiency, the corresponding personalized course parser can be directly called to perform course identification on the structured course data to obtain the target course data. Based on this, if a personalized course parser built by a system for a course webpage exists in the parser resource library, this embodiment provides an optional implementation method that further includes: The personalized course parser corresponding to the personalized system is invoked, and the structured course data is identified based on the corresponding parsing rules to obtain the target course data; wherein, course identification includes image recognition of course images based on the display adaptation status of the course webpage.
[0058] In the specific execution process, when a corresponding personalized course parser is found to exist in the parser resource library, the server directly loads the personalized course parser and parses the current structured course data to finally obtain the target course data. This ensures a rapid response capability to the adapted system and improves the adaptability and reusability of course recognition.
[0059] It should be noted that after obtaining the target course data and performing the operation, in order to ensure the accuracy of the data and the display effect on the user end, course verification can also be performed on the target course data. The specific course verification process is described above. In one optional implementation of this embodiment, after obtaining the target course data, the following steps are also included: Perform course element checks on the target course data, and execute course logic verification after the checks pass.
[0060] The course element assessment is implemented using the following methods: Extract course element data from the target course data, identify key fields of the course element data based on preset key dimensions of the course to obtain the fields to be verified, perform element integrity detection on the fields to be verified, and obtain the course element detection results.
[0061] The course logic validation is implemented in the following way: Logical features are extracted from the target course data to obtain course logical features. These features are then input into a logic detection model for logic verification to obtain course logic confidence. Finally, course logic verification results are generated based on the course logic confidence.
[0062] Furthermore, after successfully verifying the target course data, the target course data is format-adapted, and the adapted timetable data is sent to the subroutine for display. Therefore, after the operation of obtaining the target course data by recognizing the course image of the structured course data based on the course webpage display adaptation status is executed, an optional implementation method provided in this embodiment further includes: Perform course validation on the target course data. If the validation is successful, import the target course data into the preset course template for format adaptation and obtain the timetable data. Then, send the timetable data to the subroutine for display.
[0063] The course template is a standardized timetable template pre-configured on the server side, which includes the format specifications and arrangement rules of course name, instructor, class time, class location, week and / or period. Timetable data can be obtained by importing the target course data into the course template. Timetable data refers to a standardized set of course data that meets the requirements of the course template after format adaptation, and can be directly used for subroutine rendering and user viewing.
[0064] In the specific execution process, after obtaining the target course data, the server performs course element detection and course logic verification on the target course data. After the verification is passed, the target course data is mapped to the corresponding fields of the course template to complete the standardization conversion of the data format. Finally, the server sends the course table data to the subroutine. After receiving the course table data, the subroutine displays the course table data as the target course data.
[0065] In summary, the course data processing method provided in this embodiment first obtains the course access link corresponding to the school identifier and accesses the course webpage based on the course access link to obtain structured course data during the course data processing process; then, it determines the course system type corresponding to the course webpage based on the school identifier. If the course system type is a third-party system type, it uses a traversal method to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data. On this basis, if the verification fails, it determines the corresponding course recognition method based on the display adaptation status of the course webpage and performs course recognition on the course image based on the course recognition method to obtain the target course data, thereby improving the success rate and accuracy of course recognition. Furthermore, in the process of course data parsing, in order to adapt to the compatibility differences of different school academic affairs systems and improve the success rate of recognition, a mechanism for image recognition based on the display adaptation status can be introduced after verification failure. For local adaptation status, the method of rendering feature extraction and generating course content images is adopted, while for global adaptation status, the method of taking a screenshot of the course webpage is adopted. This balances the recognition accuracy of abnormal scenarios with the processing efficiency of complete scenarios. At the same time, for the type of personalized system developed or customized by schools, the success rate of course recognition and reuse efficiency can be improved by creating and storing corresponding personalized course parsers.
[0066] Steps S202 to S206 provided in this embodiment can be executed by the server. It should be noted that the steps S202 to S206 executed by the server and steps S402 to S406 executed by the server in the following embodiments can cooperate with each other during execution. Therefore, when reading this embodiment, please refer to the corresponding content of steps S402 to S406 provided in the following method embodiments, and when reading the following method embodiments, please refer to the corresponding content of steps S202 to S206 provided in this embodiment.
[0067] The following example uses a course data processing method provided in this embodiment applied to the server in a course import scenario, combined with... Figure 3 The course data processing method provided in this embodiment will be further explained below. See [link to documentation]. Figure 3 The course data processing method applied to course import scenarios specifically includes the following steps: Step S306: Receive the school identifier uploaded by the subroutine, determine the course access link based on the school identifier, and access the corresponding course webpage.
[0068] Step S308: Upload the course access link to the host application to access the webpage and obtain structured course data.
[0069] Step S314: Determine the course system type corresponding to the course webpage based on the school identifier.
[0070] Step S316: If the course system type is a third-party system type, the course parser corresponding to each third-party system is called in a traversal manner to parse the structured course data, and the course element detection and course logic detection are performed on the parsed course data to be verified.
[0071] Step S318: If the verification fails, determine the display adaptation status based on the rendering display parameters of the course webpage, and perform course recognition based on the course recognition method corresponding to the display adaptation status.
[0072] Alternatively, steps S316 and S318 can be skipped, and steps S320 to S324 can be executed instead.
[0073] Step S320: If the course system type is a personalized system type, query the parser resource library to see if there is a course parser built for the personalized system of the course webpage.
[0074] Step S322: If it does not exist, determine the display adaptation status based on the rendering display parameters of the course webpage, and extract and identify the structured course data to obtain the target course data according to the course recognition method corresponding to the display adaptation status.
[0075] Step S324: Perform course verification on the target course data. If the verification passes, construct a personalized course parser based on the course identification method and store it in the parser resource library.
[0076] Step S326: Perform course verification on the obtained target course data. If the verification is successful, import the target course data into the preset course template for format adaptation and obtain the course schedule data.
[0077] Step S328: Send the course schedule data to the subroutine for display.
[0078] In this embodiment, steps S306, S308, S314 to S328 are executed by the server. It should be noted that the steps S306, S308, S314 to S328 executed by the server can cooperate with steps S302, S304, S310, S312, and S330 executed by the subroutine in the following embodiments. Therefore, when reading this embodiment, please refer to the corresponding content of steps S302, S304, S310, S312, and S330 provided in the following method embodiments. When reading the following method embodiments, please refer to the corresponding content of steps S306, S308, S314 to S328 provided in this embodiment.
[0079] It should be noted that any one or more of steps S306, S308, and S314 to S328 can be combined with any one or more of steps S202 to S206 to form a new implementation method according to the needs of implementation and deployment. In addition, any one or more technical features in steps S306, S308, and S314 to S328 can be selected and combined with any one or more technical features provided in steps S202 to S206 to form a new implementation method according to the actual deployment needs. Alternatively, any one or more technical features in steps S306, S308, and S314 to S328 can also be replaced with any one or more technical features provided in steps S202 to S206 to form a new implementation method according to the actual deployment needs. These will not be elaborated on here.
[0080] One or more embodiments of another course data processing method provided in this specification are as follows: Reference Figure 4 The course data processing method provided in this embodiment can be applied to a subroutine, and the method specifically includes steps S402 to S406.
[0081] Step S402: Obtain the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage.
[0082] In practice, the subroutine first obtains the school identifier submitted by the user in the application interface, and then uploads the school identifier to the server. After receiving the school identifier, the server accesses the course webpage according to the course access link corresponding to the school identifier and extracts the structured course data from the course webpage.
[0083] The course access link refers to the access path that establishes a unique mapping relationship with the school identifier and enables targeted access to the course webpage of the target school. Each course access link corresponds to a school identifier. The course webpage refers to the webpage obtained after loading and parsing through the course access link. Specifically, the course webpage can be the timetable page of the school's academic affairs management system, the display page of a student's personal timetable, or the course details page.
[0084] In the specific execution process, users can submit by entering the school identifier or selecting the target school identifier from a list of school identifiers consisting of multiple school identifiers. The school identifier can be a name field used to represent the target school, the standardized full name of the school, or the standardized abbreviation of the school. The school identifier mentioned in this embodiment refers to the identifier information that can identify the target school. Specifically, the school identifier can be a unique official identifier such as the school's official name or official image, or it can be a characteristic information that is easy for users to input or select, such as the name or abbreviation that the school registers in the application. When submitting the school identifier, the user can input the school identifier or select the school identifier from the preset school identifier library. Furthermore, based on the obtained school identifier, the course webpage is accessed via the course access link corresponding to the school identifier. Different implementations may exist for obtaining the course access link to adapt to different system architectures and data interaction scenarios. To improve the flexibility and adaptability of querying course access links and accessing course webpages, the course access link can be queried and the course webpage accessed by calling a preset interface. Alternatively, the course webpage link can be queried and the course webpage accessed based on the school identifier. In one optional implementation provided in this embodiment, obtaining the course access link corresponding to the school identifier and accessing the course webpage based on the course access link includes: The system can either use the school identifier to call a preset interface to query course access links and access course webpages, or use the school identifier to query course access links and access course webpages based on those links.
[0085] The preset interface refers to a data interaction interface pre-configured on the server side for querying the mapping relationship between school identifiers and course access links. This preset interface receives the school identifier as an input parameter and returns the matched course access link for web page access.
[0086] Furthermore, after accessing the course webpage, structured course data is extracted from the webpage. This structured course data can be obtained through the host application and sent by the host application to the subroutine for uploading to the server. In one optional implementation of this embodiment, the structured course data is obtained in the following way: The browser framework deployed by the host application loads the course access link and parses the webpage to obtain structured course data. The structured course data is then sent to the subroutine for uploading to the server.
[0087] Among them, the browser framework refers to the web page loading and parsing component integrated into the host application. It has functions such as web page rendering and data structure analysis, and can adapt to the technical architecture of course web pages of different schools to ensure the normal loading of course web pages and the extraction of structured course data. The structured course data refers to course data with structured characteristics obtained by parsing course web pages. Specifically, structured course data can be basic course data, including course name, instructor, class time, credits, course code and / or teaching location, or course structure data, including hierarchical classification data of the course list, row and column data of the course list and / or data of the course details page.
[0088] In the specific execution process, the host application first receives the course access link issued by the server and inputs the link into the browser frame. The browser frame fully renders the course webpage pointed to by the course access link based on the preset webpage loading rules, extracts the course data from the rendered course webpage in a structured manner, and obtains structured course data. Then, the host application sends the structured course data to the subroutine, which uploads it to the server for subsequent course system type determination.
[0089] Step S404: Based on the course collection command submitted by the user through the course interaction page, obtain structured course data and upload it to the server. Then, use a traversal method to call the corresponding course parser of each third-party system to perform data parsing and course verification on the structured course data.
[0090] The course data collection instruction mentioned in this embodiment refers to the control instruction generated by the subroutine and uploaded to the server to trigger subsequent course data processing. The course interaction page refers to a composite page formed by combining the course webpage content and the data collection interaction interface on the same screen or layering them. It is used to display course information and configure course data collection controls. The course data collection controls are triggerable interactive elements configured in the course interaction page to receive the user's active data collection operation. Specifically, the course data collection controls can be buttons, gesture recognition areas, or voice recognition controls.
[0091] In practice, after the subroutine loads the course webpage through the browser framework, it first displays the course webpage in preview form on the course interaction page and configures the course collection control on the course interaction page. When the user clicks the course collection control, the subroutine generates a course collection instruction and uploads it to the server. After receiving the instruction, the server determines the corresponding course system type based on the school identifier.
[0092] In practical applications, the transmission path of structured course data can be flexibly adjusted according to the system architecture. To reduce the data processing burden on subroutines and improve data transmission efficiency, the server can directly obtain structured course data from the host application without uploading it through subroutines. In this case, the step of obtaining structured course data based on the course collection command submitted by the user through the course interaction page and uploading it to the server can be replaced by: Obtain the course collection instructions submitted by the user through the course interaction page and upload them to the server.
[0093] If the course system type corresponding to the course webpage is determined to be a third-party system type, a course parser can be invoked to extract the structured course data to obtain the course data to be verified. Course element detection and course logic verification are then performed on the course data to be verified. In one optional implementation of this embodiment, a traversal approach is used to invoke the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data, including: Call any course parser of the third-party system type to extract node data from the structured course data to obtain the course data to be verified. Perform course element detection on the course data to be verified, and execute course logic verification after the detection is passed.
[0094] Among them, node data extraction refers to the process of locating key nodes of course data in structured course data based on the parsing rules corresponding to the parser and extracting the data under the key nodes. Accordingly, the course data to be verified can be the data of key nodes of structured course data, such as course name, instructor, class time, etc.
[0095] In the specific execution process, the server sequentially calls the corresponding course parsers of each third-party system. For each course parser, node data extraction is performed first, followed by course element detection and course logic verification. When any parser passes the verification, it is determined that the parser is the target parser and the corresponding target course data is output. When the verification still fails after traversal, the result of the verification failure is returned and the subsequent course recognition process based on the course image is triggered.
[0096] Furthermore, to improve the accuracy and comprehensiveness of course element detection during the process, element integrity detection can be performed on the course data to be verified based on preset key dimensions of the course. In one optional implementation method provided in this embodiment, course element detection is implemented in the following way: Extract course element data from the course data to be verified, identify key fields of the course element data based on preset key dimensions of the course to obtain the fields to be verified, perform element integrity detection on the fields to be verified, and obtain the course element detection results.
[0097] Among them, course element data refers to the data related to the completeness of course information in the course data to be verified, and course key dimensions refer to multiple important dimensions in course information. Specifically, course key dimensions include time dimension, subject dimension, spatial dimension and / or identification dimension.
[0098] In the specific execution process, after obtaining the course data to be verified, the course element data is extracted from the course data to be verified. Based on the preset key dimensions of the course, the key fields of the course element data are identified and the fields to be verified are obtained. The fields to be verified are checked from multiple dimensions to see if they are complete, missing, or have the correct format. After the checks are completed, the course element detection results are obtained.
[0099] In practical applications, the course data to be verified may contain inherent logical contradictions, such as class times conflicting with other courses taught by the same instructor, or mismatches between credit values and course type standards. Directly importing this data may lead to problems such as a chaotic timetable display. Therefore, to ensure the logical rationality and reliability of the course data to be verified and to avoid problems in subsequent data application, course logic verification can be performed by calculating the confidence level of logical features. In one optional implementation method provided in this embodiment, course logic verification is implemented in the following way: Logical features are extracted from the course data to be verified to obtain course logical features. The course logical features are then input into the logic detection model for logic verification to obtain the course logic confidence score. Based on the course logic confidence score, the course logic verification result is generated.
[0100] In the specific execution process, the above process can be performed through a logic detection model. Specifically, the course data to be verified can be encoded by a logic feature encoder. The logic feature encoder can be a structure encoder that integrates an attention mechanism. By inputting the course data to be verified into the structure encoder for encoding, course encoded data is obtained. Then, logical features are extracted from the course encoded data to obtain course logical features. Furthermore, the logical encoding features are input into the confidence calculation network of the logic detection model to calculate the confidence level. This confidence calculation network can be a lightweight decision network based on a decoder. The course logic features are input into the confidence calculation network, where the attention fusion layer first performs weighted fusion of the course logic features. Then, a fully connected subnetwork performs dimensionality compression and nonlinear transformation on the fused logic features. Finally, the transformed features are mapped to a probability range of 0-1. The confidence level of the course logic of the course data to be verified is calculated and output. Based on a preset confidence threshold, a course logic verification result is generated. If the confidence level is higher than the threshold, the logic of the course data to be verified is considered reasonable, and the verification passes. If the confidence level is lower than the threshold, the logic of the course data to be verified is considered abnormal, and the verification fails.
[0101] For example, in the course data submitted by the user, the teaching location of the university physics course is classroom 301, which has a capacity of 50 people and 65 students enrolled. The course credit is 2.0. However, the actual course type of university physics is a required course for the major, and the credit range for required courses is 3.0-4.0. In the logic detection model, the abnormal weights of the venue capacity matching feature and the credit adaptation feature are increased, which directly affects the calculation of the logic confidence. As a result, the final logic confidence is 0.28, which is lower than the preset threshold of 0.8. The system determines that the course data to be verified has a logical anomaly, and the verification fails.
[0102] Furthermore, in practice, some schools' course system types may not be third-party system types; that is, the course system type may be a personalized system type. Specifically, a personalized system type can be a self-developed system or a customized system. Due to the non-standard nature of such systems, using a course parser corresponding to a third-party system to parse course webpages may lead to abnormal parsing results. Therefore, the server can first check whether a course parser built for personalized system course webpages exists. If not, the server extracts and identifies the course and creates and stores a personalized course parser. In an optional implementation of this embodiment, after the operation of determining the course system type corresponding to the course webpage based on the school identifier is executed, the following steps are also included: If the course system type is a personalized system type, query the parser resource library to see if there is a course parser built for the personalized system of the course webpage; If the target course data is not found, the structured course data is extracted and identified to obtain the target course data. A personalized course parser corresponding to the personalized system is then created and stored in the parser resource library.
[0103] Among them, the parser resource library refers to the database maintained by the server to store various course parsers, including course parsers from third-party systems and personalized course parsers; personalized course parsers are dedicated parsers built for school-developed or customized course systems, whose parsing rules are configured based on the page structure and data characteristics of the personalized course system, and can extract course data from the personalized course system.
[0104] In the specific execution process, after determining that the course system type is a personalized system type, the server first queries the parser resource library for a corresponding course parser based on the school identifier. If no results are found, the server extracts and identifies the course data based on the display adaptation status of the course webpage to obtain the target course data, and creates a personalized course parser corresponding to the personalized system, storing it in the parser resource library. In this case, the course system type corresponding to the course webpage is determined based on the school identifier. If the course system type is a third-party system type, the step of calling the corresponding course parsers of each third-party system in a traversal manner to perform data parsing and course verification of the structured course data can be replaced by: If the course system type is the personalized system type, query the parser resource library to see if there is a course parser built for the personalized system of the course webpage.
[0105] Furthermore, to improve the adaptability and reusability of the personalized course parser, after the target course data has been validated and passed, a personalized course parser can be constructed and stored based on the course recognition method. In one optional implementation of this embodiment, the target course data is obtained by extracting and recognizing courses from structured course data, creating a personalized course parser corresponding to the personalized system, and storing it in the parser resource library, including: Determine the display adaptation status of the course webpage and perform course recognition on the structured course data based on the corresponding course recognition method to obtain the target course data; Perform course verification on the target course data. If the verification passes, build a personalized course parser based on the course identification method and store it in the parser resource library.
[0106] In the specific execution process, the server determines the corresponding course recognition method based on the display adaptation status of the course webpage, and performs course recognition on the structured course data in the course webpage based on the corresponding course recognition method to obtain the target course data. Then, the target course data is validated. For the specific course recognition method, please refer to the above content. If the validation is successful, a personalized course storage is built based on the course recognition method and stored in the parser resource library, thereby completing the construction of the personalized course parser and its subsequent reuse.
[0107] Furthermore, in practical applications, some personalized systems may have pre-built corresponding personalized course parsers. In this case, to improve reuse efficiency, the corresponding personalized course parser can be directly called to perform course identification on the structured course data to obtain the target course data. Based on this, if a personalized course parser built by a system for a course webpage exists in the parser resource library, this embodiment provides an optional implementation method that further includes: The personalized course parser corresponding to the personalized system is invoked, and the structured course data is identified based on the corresponding parsing rules to obtain the target course data; wherein, course identification includes image recognition of course images based on the display adaptation status of the course webpage.
[0108] In the specific execution process, when a corresponding personalized course parser is found to exist in the parser resource library, the server directly loads the personalized course parser and parses the current structured course data to finally obtain the target course data. This ensures a rapid response capability to the adapted system and improves the adaptability and reusability of course recognition.
[0109] It should be noted that after obtaining the target course data and performing the operation, in order to ensure the accuracy of the data and the display effect on the user end, course verification can also be performed on the target course data. The specific course verification process is described above. In one optional implementation of this embodiment, after obtaining the target course data, the following steps are also included: Perform course element checks on the target course data, and execute course logic verification after the checks pass.
[0110] The course element assessment is implemented using the following methods: Extract course element data from the target course data, identify key fields of the course element data based on preset key dimensions of the course to obtain the fields to be verified, perform element integrity detection on the fields to be verified, and obtain the course element detection results.
[0111] The course logic validation is implemented in the following way: Logical features are extracted from the target course data to obtain course logical features. These features are then input into a logic detection model for logic verification to obtain course logic confidence. Finally, course logic verification results are generated based on the course logic confidence.
[0112] Furthermore, after successfully verifying the target course data, the target course data is format-adapted, and the adapted timetable data is sent to the subroutine for display. Therefore, after the operation of obtaining the target course data by recognizing the course image of the structured course data based on the course webpage display adaptation status is executed, an optional implementation method provided in this embodiment further includes: Perform course validation on the target course data. If the validation is successful, import the target course data into the preset course template for format adaptation and obtain the timetable data. Then, send the timetable data to the subroutine for display.
[0113] The course template is a standardized timetable template pre-configured on the server side, which includes the format specifications and arrangement rules of course name, instructor, class time, class location, week and / or period. Timetable data can be obtained by importing the target course data into the course template. Timetable data refers to a standardized set of course data that meets the requirements of the course template after format adaptation, and can be directly used for subroutine rendering and user viewing.
[0114] In the specific execution process, after obtaining the target course data, the server performs course element detection and course logic verification on the target course data. After the verification is passed, the target course data is mapped to the corresponding fields of the course template to complete the standardization conversion of the data format. Finally, the server sends the course table data to the subroutine. After receiving the course table data, the subroutine displays the course table data as the target course data.
[0115] Step S406: If a course query instruction submitted by the user is received, the target course data is obtained from the server and displayed; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
[0116] The course query command refers to the command triggered by the user in the subprogram interface to request to view the obtained course schedule. Specifically, the course query command can be clicking the course schedule query button, a gesture to view the course schedule, or a voice query command. The display adaptation status refers to the compatibility status of the course webpage when it is displayed. Specifically, the display adaptation status can be the degree of compatibility of the course webpage in the subprogram interface, the degree of compatibility of the course webpage displayed on the user terminal, or the degree of compatibility of the course webpage displayed on the user terminal and the subprogram.
[0117] In practice, after the subroutine displays the course interaction page, when it detects that the user has triggered a course query command, it sends a course query command to the server. After receiving the command, the server sends the target course data to the subroutine for display.
[0118] Among them, the course recognition method refers to the set of recognition strategies that have a mapping relationship with the display adaptation state. Different display adaptation states correspond to different course recognition methods, so as to recognize courses in course images generated by different methods. The course image refers to the visualized image data containing course information. Specifically, the course image can be a course content image generated by rendering the rendering features of structured data, or a screenshot of the course webpage obtained by taking a screenshot of the course webpage.
[0119] In practical applications, the display adaptation status of different school academic affairs systems often varies. Some systems may have better compatibility, allowing course webpages to be fully rendered and displayed in the terminal or subprograms, while others have poor compatibility, only achieving normal loading of partial elements or abnormal scaling. If a uniform course recognition method is used for course recognition, it may lead to problems such as incomplete course data extraction and recognition bias. In this case, if the display adaptation status of the course webpage is partial, the target course data can be obtained by performing image recognition on the course content image generated based on the rendered structured course data. In one optional implementation of this embodiment, the target course data is obtained by performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation status of the course webpage, including: The display adaptation status of the course webpage is determined based on the rendering parameters of the course webpage within the subroutine. If the display adaptation state is a partial adaptation state, the structured course data is subjected to rendering feature extraction to obtain structural rendering features and data rendering features. The structural rendering features and data rendering features are then rendered to generate the course content image. Image recognition is then performed on the course content image to obtain the target course data.
[0120] Among them, rendering and display parameters refer to the parameters obtained by the subroutine when loading the course webpage to characterize the completeness of page rendering. Specifically, rendering and display parameters include the proportion of visible content area, font adaptation status, layout adaptation parameters, and / or page load completion rate. The server can determine the display adaptation status of the course webpage based on the rendering and display parameters. The display adaptation status includes global adaptation status and local adaptation status. Specifically, global adaptation status means that the content of the course webpage can be rendered and displayed normally in the subroutine or terminal, and the overall page layout is neat and interactive controls can respond normally. Local adaptation status means that a local area of the course webpage can be rendered and displayed normally in the subroutine or terminal, but the overall page layout or some interactive elements have display abnormalities or are missing. Structural rendering features refer to the feature data extracted from structured course data that represents visual information such as the layout, row and column structure, and / or unit position of the course webpage. Data rendering features refer to the feature data extracted from structured data that represents textual content such as course name, teacher, and time. By recombining and rendering structural rendering features and data rendering features, a complete course content image can be generated, thereby avoiding the local rendering defects of the original course webpage in subroutines or terminals. In the specific execution process, the server first receives and parses the rendering and display parameters reported by the subroutine. When it is determined that the display adaptation state is a partial adaptation state, it extracts the structural rendering features and data rendering features from the structured course data. Then, it renders the above features and generates course content images. Finally, it performs image recognition on the course content images and obtains the structured target course data.
[0121] Furthermore, if the display adaptation state of the course webpage is global, the target course data can be obtained by taking a screenshot of the course webpage and performing image recognition. In an optional implementation of this embodiment, after the step of determining the display adaptation state of the course webpage based on the rendering display parameters of the course webpage within the subroutine is executed, the method further includes: If the adaptation status is global adaptation status, take a screenshot of the course webpage displayed in the subroutine to obtain a screenshot of the course webpage, perform image recognition on the screenshot of the course webpage to obtain initial course data, and perform structured processing on the initial course data based on the webpage structure features of the course webpage to obtain target course data.
[0122] Among them, a course webpage screenshot refers to an image obtained by capturing the currently displayed course webpage through a subroutine or user terminal screenshot interface. Initial course data can be obtained by performing image recognition on the course webpage screenshot. Specifically, initial course data refers to the unstructured raw data set obtained after performing image recognition on the course webpage screenshot.
[0123] In the specific execution process, after the server determines that it is in a global adaptation state based on the rendering and display parameters, it first calls the screenshot interface to take a screenshot of the currently displayed course webpage to obtain a screenshot of the course webpage. Then, it performs image recognition on the course webpage screenshot to obtain initial course data. After that, it performs structured processing on the initial course data based on the webpage structure features, and finally generates structured target course data.
[0124] It should be noted that after obtaining the target course data and executing the operation, to ensure the accuracy of the data and the display effect on the user end, course verification can also be performed on the target course data. After successful verification, the target course data is adapted to the format, and the adapted timetable data is sent to the subroutine for display. Therefore, after obtaining the target course data by performing course recognition on the course image of the structured course data based on the course webpage display adaptation status and executing the operation, this embodiment provides an optional implementation method that further includes: Perform course validation on the target course data. If the validation is successful, import the target course data into the preset course template for format adaptation and obtain the timetable data. Then, send the timetable data to the subroutine for display.
[0125] The course template is a standardized timetable template pre-configured on the server side, which includes the format specifications and arrangement rules of course name, instructor, class time, class location, week and / or period. Timetable data can be obtained by importing the target course data into the course template. Timetable data refers to a standardized set of course data that meets the requirements of the course template after format adaptation, and can be directly used for subroutine rendering and user viewing.
[0126] In the specific execution process, after obtaining the target course data, the server performs course element detection and course logic verification on the target course data. After the verification is passed, the target course data is mapped to the corresponding fields of the course template to complete the standardization conversion of the data format. Finally, the server sends the course table data to the subroutine. After receiving the course table data, the subroutine displays the course table data as the target course data.
[0127] The following example uses a course data processing method provided in this embodiment applied to a subroutine in a course import scenario, combined with... Figure 3 The course data processing method provided in this embodiment will be further explained below. See [link to documentation]. Figure 3 The course data processing method applied to course import scenarios specifically includes the following steps: Step S302: Obtain the school identifier submitted by the user during the course import interaction on the course interaction page.
[0128] Step S304: Upload the school identifier to the server.
[0129] Step S310: Obtain the structured course data of the course webpage issued by the host application.
[0130] Step S312: Upload the structured course data to the server.
[0131] Step S330: Receive the course schedule data sent by the server and display the course schedule data as the target course data.
[0132] It should be noted that any one or more of steps S302, S304, S310, S312, and S330 can be combined with any one or more of steps S402 and S406 above to form a new implementation method according to the needs of implementation and deployment. In addition, any one or more technical features in steps S302, S304, S310, S312, and S330 can be selected according to the actual deployment needs and combined with any one or more technical features provided in steps S402 and S406 above to form a new implementation method. Alternatively, any one or more technical features in steps S302, S304, S310, S312, and S330 can also be replaced with any one or more technical features provided in steps S402 and S406 above to form a new implementation method according to the actual deployment needs. These will not be elaborated on here.
[0133] This manual provides an embodiment of a course data processing device as follows: In the above embodiments, a course data processing method is provided, and correspondingly, a course data processing device is also provided, which runs on the server side, and will be described below with reference to the accompanying drawings.
[0134] Reference Figure 5 The diagram illustrates an embodiment of a course data processing device provided in this embodiment.
[0135] Since the apparatus embodiments correspond to the method embodiments, the descriptions are relatively simple. For relevant parts, please refer to the corresponding descriptions of the method embodiments provided above. The apparatus embodiments described below are merely illustrative.
[0136] This embodiment provides a course data processing device, which runs on a server. The device includes: The data acquisition module 502 is configured to acquire the course access link corresponding to the school identifier, access the course webpage based on the course access link, and acquire structured course data. The parsing and verification module 504 is configured to determine the course system type corresponding to the course webpage based on the school identifier. If the course system type is a third-party system type, the module uses a traversal method to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data. The course recognition module 506 is configured to, if the verification fails, perform course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
[0137] For ease of description, the above devices are described by dividing them into various modules or units based on their functions. Of course, when implementing one or more of these specifications, the functions of each module or unit can be implemented in the same or different software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
[0138] Another embodiment of the course data processing device provided in this manual is as follows: In the above embodiments, another course data processing method is provided, and correspondingly, another course data processing device is also provided, which will be described below with reference to the accompanying drawings.
[0139] Reference Figure 6 This illustration shows a schematic diagram of another embodiment of the course data processing device provided in this embodiment.
[0140] Since the apparatus embodiments correspond to the method embodiments, the descriptions are relatively simple. For relevant parts, please refer to the corresponding descriptions of the method embodiments provided above. The apparatus embodiments described below are merely illustrative.
[0141] This embodiment provides a course data processing device, which runs in a subroutine. The device includes: The identifier acquisition module 602 is configured to acquire the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; The instruction acquisition module 604 is configured to acquire structured course data based on the course acquisition instruction submitted by the user through the course interaction page and upload it to the server, so as to use a traversal method to call the corresponding course parser of each third-party system to perform data parsing and course verification on the structured course data; The course data display module 606 is configured to, upon receiving a course query instruction submitted by the user, obtain target course data from the server and display it; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
[0142] For ease of description, the above devices are described by dividing them into various modules or units based on their functions. Of course, when implementing one or more of these specifications, the functions of each module or unit can be implemented in the same or different software and / or hardware, or a module that performs the same function can be implemented by a combination of multiple sub-modules or sub-units, etc. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.
[0143] This manual provides an example of a course data processing device as follows: Corresponding to the course data processing method described above, based on the same technical concept, one or more embodiments of this specification also provide a course data processing device for executing the course data processing method provided above. Figure 7 This is a schematic diagram of the structure of a course data processing device provided for one or more embodiments of this specification.
[0144] This embodiment provides a course data processing device, including: like Figure 7As shown, device 700 mainly consists of a communication interface 702, a user interface 704, a processor 706, and a data storage 708. These components are interconnected and communicate with each other via a system bus, network, or other connection mechanism 710. Communication interface 702 enables device 700 to communicate with other devices, access networks, and transmission networks via analog or digital modulation. For example, communication interface 702 may include a chipset and antenna for wireless communication with a radio access network or access point. Furthermore, communication interface 702 can be a wired interface such as Ethernet, Token Ring, or USB port, or a wireless interface such as Wi-Fi, Bluetooth, Global Positioning System (GPS), or wide area wireless interface (e.g., WiMAX or LTE). Of course, communication interface 702 can also support other forms of physical layer interfaces and standard or proprietary communication protocols. Communication interface 702 may also include multiple physical communication interfaces, such as Wi-Fi, Bluetooth, and wide area wireless interfaces. User interface 704 includes receiving user input and providing output to the user. Therefore, user interface 704 may include input components such as a keypad, keyboard, touch-sensitive or presence-sensitive panel, computer mouse, trackball, joystick, microphone, still camera, and video camera, and output components such as a display screen (which may be combined with a touch-sensitive panel), CRT, LCD, LED, display using DLP technology, printer, and other similar devices known or developed in the future. User interface 704 may also generate auditory output via speakers, speaker jacks, audio output ports, audio output devices, headphones, and other similar devices known or developed in the future. In some embodiments, user interface 704 may include software, circuitry, or other forms of logic capable of transmitting data to and receiving data from external user input / output devices. Additionally or alternatively, device 700 may support remote access from other devices via communication interface 702 or another physical interface (not shown). User interface 704 may be configured to receive user input, the position and movement of which may be indicated by indicators or cursors described herein. User interface 704 may also be configured as a display device for rendering or displaying text fragments.
[0145] Processor 706 may include one or more general-purpose processors and / or special-purpose processors. Data storage 708 may include one or more volatile and / or non-volatile storage components, and may be integrated wholly or partially with processor 706. Data storage 708 may include removable and non-removable components.
[0146] Processor 706 is capable of executing program instructions 718 (e.g., compiled or uncompiled program logic and / or machine code) stored in data storage 708 to perform the various functions described herein. Data storage 708 may comprise a non-transitory computer-readable medium on which program instructions are stored, which, when executed by device 700, enable device 700 to perform any methods, processes, or functions disclosed in this specification and / or the accompanying drawings. Execution of program instructions 718 by processor 706 may result in processor 706 using data 712. For example, program instructions 718 may include an operating system 722 (e.g., an operating system kernel, device drivers, and / or other modules) installed on device 700 and one or more subroutines 720 (e.g., a browser, social application, or game application). Similarly, data 712 may include operating system data 716 and application data 714. Operating system data 716 is primarily accessible to operating system 722, while application data 714 is primarily accessible to one or more subroutines 720. Application data 714 may reside in a file system visible or hidden from the user of device 700. Subroutine 720 can communicate with operating system 712 through one or more application programming interfaces (APIs). These APIs facilitate subroutine 720 reading and / or writing application data 714, transmitting or receiving information via communication interface 702, and receiving or displaying information on user interface 704. In some terms, subroutine 720 may be simply referred to as an "app". Furthermore, subroutine 720 can be downloaded to device 700 through one or more online application stores or app markets. However, subroutine can also be installed on device 700 in other ways, such as through a web browser or a physical interface on device 700 (e.g., a USB port).
[0147] In one specific embodiment, the course data processing device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the course data processing device, and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following: Obtain the course access link corresponding to the school identifier, access the course webpage based on the course access link, and obtain structured course data; The course system type corresponding to the course webpage is determined based on the school identifier. If the course system type is a third-party system type, the course parser corresponding to each third-party system is called in a traversal manner to perform data parsing and course verification on the structured course data. If the verification fails, the course image of the structured course data is used to perform course recognition based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
[0148] Another embodiment of the course data processing device provided in this manual is as follows: Corresponding to the other course data processing method described above, based on the same technical concept, one or more embodiments of this specification also provide another course data processing device for executing the other course data processing method provided above. Figure 8 This is a schematic diagram of another course data processing device provided in one or more embodiments of this specification.
[0149] This embodiment provides a course data processing device, including: like Figure 8As shown, device 800 mainly consists of a communication interface 802, a user interface 804, a processor 806, and a data storage 808. These components are interconnected and communicate with each other via a system bus, network, or other connection mechanism 810. The communication interface 802 enables device 800 to communicate with other devices, access networks, and transmission networks via analog or digital modulation. For example, the communication interface 802 may include a chipset and antenna for wireless communication with a radio access network or access point. Furthermore, the communication interface 802 can be a wired interface such as Ethernet, Token Ring, or a USB port, or a wireless interface such as Wi-Fi, Bluetooth, Global Positioning System (GPS), or a wide-area wireless interface (e.g., WiMAX or LTE). Of course, the communication interface 802 can also support other forms of physical layer interfaces and standard or proprietary communication protocols. The communication interface 802 may also include multiple physical communication interfaces, such as Wi-Fi, Bluetooth, and wide-area wireless interfaces. The user interface 804 includes receiving user input and providing output to the user. Therefore, user interface 804 may include input components such as a keypad, keyboard, touch-sensitive or presence-sensitive panel, computer mouse, trackball, joystick, microphone, still camera, and video camera, and output components such as a display screen (which may be combined with a touch-sensitive panel), CRT, LCD, LED, display using DLP technology, printer, and other similar devices known or developed in the future. User interface 804 may also generate auditory output via speakers, speaker jacks, audio output ports, audio output devices, headphones, and other similar devices known or developed in the future. In some embodiments, user interface 804 may include software, circuitry, or other forms of logic capable of transmitting and receiving data to and from external user input / output devices. Additionally or alternatively, device 800 may support remote access from other devices via communication interface 802 or another physical interface (not shown). User interface 804 may be configured to receive user input, the position and movement of which may be indicated by indicators or cursors described herein. User interface 804 may also be configured as a display device for rendering or displaying text fragments.
[0150] Processor 806 may include one or more general-purpose processors and / or special-purpose processors. Data storage 808 may include one or more volatile and / or non-volatile storage components, and may be integrated wholly or partially with processor 806. Data storage 808 may include removable and non-removable components.
[0151] Processor 806 is capable of executing program instructions 818 (e.g., compiled or uncompiled program logic and / or machine code) stored in data storage 808 to perform the various functions described herein. Data storage 808 may comprise a non-transitory computer-readable medium on which program instructions are stored, which, when executed by device 800, enable device 800 to perform any methods, processes, or functions disclosed in this specification and / or the accompanying drawings. Execution of program instructions 818 by processor 806 may result in processor 806 using data 812. For example, program instructions 818 may include an operating system 822 (e.g., an operating system kernel, device drivers, and / or other modules) installed on device 800 and one or more subroutines 820 (e.g., a browser, social application, or game application). Similarly, data 812 may include operating system data 816 and application data 814. Operating system data 816 is primarily accessible to operating system 822, while application data 814 is primarily accessible to one or more subroutines 820. Application data 814 may reside in a file system visible or hidden from the user of device 800. Subroutine 820 can communicate with operating system 812 through one or more application programming interfaces (APIs). These APIs facilitate subroutine 820 in reading and / or writing application data 814, transmitting or receiving information via communication interface 802, and receiving or displaying information on user interface 804. In some terms, subroutine 820 may be simply referred to as an "app". Furthermore, subroutine 820 can be downloaded to device 800 through one or more online application stores or app markets. However, subroutines can also be installed on device 800 in other ways, such as through a web browser or a physical interface on device 800 (e.g., a USB port).
[0152] In one specific embodiment, the course data processing device includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions for the course data processing device, and is configured to be executed by one or more processors. The one or more programs include computer-executable instructions for performing the following: Obtain the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; Based on the course collection command submitted by the user through the course interaction page, structured course data is obtained and uploaded to the server. The structured course data is then parsed and validated by calling the corresponding course parsers of each third-party system in a traversal manner. If a course query instruction submitted by the user is received, the target course data is obtained from the server and displayed; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
[0153] This specification provides an embodiment of a computer-readable storage medium as follows: Corresponding to the course data processing method described above, and based on the same technical concept, one or more embodiments of this specification also provide a computer-readable storage medium.
[0154] The computer-readable storage medium provided in this embodiment is used to store computer-executable instructions, which, when executed, implement the following process: Obtain the course access link corresponding to the school identifier, access the course webpage based on the course access link, and obtain structured course data; The course system type corresponding to the course webpage is determined based on the school identifier. If the course system type is a third-party system type, the course parser corresponding to each third-party system is called in a traversal manner to perform data parsing and course verification on the structured course data. If the verification fails, the course image of the structured course data is used to perform course recognition based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
[0155] It should be noted that the embodiments of a computer-readable storage medium described in this specification and the embodiments of a course data processing method described in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can be referred to the implementation of the corresponding method described above, and the repeated parts will not be described again.
[0156] Another embodiment of a computer-readable storage medium provided in this specification is as follows: In response to another course data processing method described above, and based on the same technical concept, one or more embodiments of this specification also provide another computer-readable storage medium.
[0157] The computer-readable storage medium provided in this embodiment is used to store computer-executable instructions, which, when executed, implement the following process: Obtain the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; Based on the course collection command submitted by the user through the course interaction page, structured course data is obtained and uploaded to the server. The structured course data is then parsed and validated by calling the corresponding course parsers of each third-party system in a traversal manner. If a course query instruction submitted by the user is received, the target course data is obtained from the server and displayed; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
[0158] It should be noted that the embodiments of another computer-readable storage medium described in this specification and the embodiments of another course data processing method described in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can be referred to the implementation of the corresponding method described above, and the repeated parts will not be described again.
[0159] This specification provides an example of a computer program product as follows: Corresponding to the course data processing method described above, and based on the same technical concept, one or more embodiments of this specification also provide a computer program product.
[0160] A computer program product includes a computer program / instructions that, when executed by a processor, perform the following steps: Obtain the course access link corresponding to the school identifier, access the course webpage based on the course access link, and obtain structured course data; The course system type corresponding to the course webpage is determined based on the school identifier. If the course system type is a third-party system type, the course parser corresponding to each third-party system is called in a traversal manner to perform data parsing and course verification on the structured course data. If the verification fails, the course image of the structured course data is used to perform course recognition based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
[0161] It should be noted that the embodiments of a computer program product described in this specification and the embodiments of a course data processing method described in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can be referred to the implementation of the corresponding method described above, and the repeated parts will not be described again.
[0162] Another example of a computer program product provided in this specification is as follows: Corresponding to the other course data processing method described above, and based on the same technical concept, one or more embodiments of this specification also provide another computer program product.
[0163] A computer program product includes a computer program / instructions that, when executed by a processor, perform the following steps: Obtain the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; Based on the course collection command submitted by the user through the course interaction page, structured course data is obtained and uploaded to the server. The structured course data is then parsed and validated by calling the corresponding course parsers of each third-party system in a traversal manner. If a course query instruction submitted by the user is received, the target course data is obtained from the server and displayed; the target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
[0164] It should be noted that the embodiments of another computer program product described in this specification and the embodiments of another course data processing method described in this specification are based on the same inventive concept. Therefore, the specific implementation of this embodiment can be referred to the implementation of the corresponding method described above, and the repeated parts will not be described again.
[0165] The various embodiments in this specification are described in a progressive manner. For the same or similar parts between the various embodiments, please refer to each other. Each embodiment focuses on describing the differences from other embodiments. For example, the device embodiments, equipment embodiments, computer-readable storage medium embodiments, and computer program product embodiments are all similar to the method embodiments, so the descriptions are relatively simple. For reading the relevant content of the device embodiments, equipment embodiments, computer-readable storage medium embodiments, and computer program product embodiments, please refer to the description of the method embodiments.
[0166] While one or more embodiments of this specification provide method steps as described in the embodiments or flowcharts, it is understood that the order of steps listed in the embodiments or flowcharts is merely one possible execution order among many steps, and does not represent the only execution order. Therefore, when the claims involve method steps, any changes or adjustments to the order of such steps, or the parallelism between steps, are also within the scope of protection of the claims. This specification uses specific terms to describe embodiments of this specification. For example, "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "an embodiment," "one embodiment," or "an alternative embodiment" mentioned twice or more in different locations in this specification do not necessarily refer to the same embodiment. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0167] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0168] In the 1930s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many improvements to the methodology today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that an improvement to the methodology cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must also be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0169] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0170] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0171] For ease of description, the above apparatus is described by dividing it into various functional units. Of course, when implementing the embodiments of this specification, the functions of each unit can be implemented in one or more software and / or hardware.
[0172] Those skilled in the art will understand that one or more embodiments of this specification can be provided as a method, system, or computer program product. Therefore, one or more embodiments of this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-readable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0173] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0174] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0175] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0176] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0177] 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.
[0178] 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, program modules, or other data. Examples of computer-readable 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, 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 transient computer-readable media, such as modulated data signals and carrier waves.
[0179] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising at least one…" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0180] One or more embodiments of this specification can be described in the general context of computer-executable instructions, such as program modules, that are executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a particular task or implement a particular abstract data type. One or more embodiments of this specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0181] The above description is merely an embodiment of this document and is not intended to limit the scope of this document. Various modifications and variations can be made to this document by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this document should be included within the scope of the claims of this document.
Claims
1. A course data processing method, applied on a server, the method comprising: Obtain the course access link corresponding to the school identifier, access the course webpage based on the course access link, and obtain structured course data; The course system type corresponding to the course webpage is determined based on the school identifier. If the course system type is a third-party system type, the course parser corresponding to each third-party system is called in a traversal manner to perform data parsing and course verification on the structured course data. If the verification fails, the course image of the structured course data is used to perform course recognition based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
2. The course data processing method according to claim 1, wherein determining the course system type corresponding to the course webpage based on the school identifier includes: Query the course system type mapped to the school identifier in the preset school identifier and system type mapping table; The course system type includes the third-party system type or the personalized system type.
3. The course data processing method according to claim 2, after the step of determining the course system type corresponding to the course webpage based on the school identifier is executed, it further includes: If the course system type is the personalized system type, query the parser resource library to see if there is a course parser built for the personalized system of the course webpage; If the target course data is not found, the structured course data is extracted and identified to obtain the target course data. A personalized course parser corresponding to the personalized system is then created and stored in the parser resource library.
4. The course data processing method according to claim 3, wherein the step of extracting and identifying the target course data from the structured course data, creating a personalized course parser corresponding to the personalized system, and storing it in the parser resource library includes: Determine the display adaptation status of the course webpage and perform course recognition on the structured course data based on the corresponding course recognition method to obtain the target course data; The target course data is validated. If the validation passes, the personalized course parser is constructed based on the course identification method and stored in the parser resource library.
5. According to the course data processing method of claim 3, if the execution result of the query parser resource library indicating whether there is a personalized system-built course parser for the course webpage is yes, the following operation is performed: The personalized course parser corresponding to the personalized system is invoked, and the structured course data is identified based on the corresponding parsing rules to obtain the target course data; in, The course recognition includes image recognition of the course images based on the display adaptation status of the course webpage.
6. The course data processing method according to claim 1, wherein the step of using a traversal approach to call the corresponding course parser of each third-party system to perform data parsing and course verification of the structured course data includes: Call any course parser of the aforementioned third-party system type to extract node data from the structured course data to obtain the course data to be verified; The course data to be verified is subjected to course element detection, and course logic verification is performed after the detection is passed.
7. The course data processing method according to claim 6, wherein the course element detection is implemented in the following manner: Extract course element data from the course data to be verified; Based on the preset key dimensions of the course, the key fields of the course element data are identified to obtain the fields to be verified. Perform element integrity checks on the fields to be verified and obtain the course element detection results.
8. The course data processing method according to claim 6, wherein the course logic verification is implemented in the following manner: Logical features of the course to be verified are extracted to obtain course logical features; The course logic features are input into the logic detection model for logic verification and the course logic confidence score is obtained. The course logic verification result is generated based on the course logic confidence score.
9. The course data processing method according to claim 1, wherein the step of performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage to obtain target course data includes: The display adaptation status of the course webpage is determined based on the rendering and display parameters of the course webpage within the subroutine. If the display adaptation state is a partial adaptation state, the structured course data is subjected to rendering feature extraction to obtain structural rendering features and data rendering features; The structural rendering features and the data rendering features are rendered to generate a course content image, and the course content image is subjected to image recognition to obtain the target course data.
10. The course data processing method according to claim 9, after the step of determining the display adaptation state of the course webpage based on the rendering display parameters of the course webpage within the subroutine is executed, it further includes: If the display adaptation state is a global adaptation state, take a screenshot of the course webpage displayed in the subroutine to obtain a screenshot of the course webpage; Image recognition is performed on the screenshot of the course webpage to obtain initial course data. Based on the webpage structure features of the course webpage, the initial course data is structured to obtain the target course data.
11. The course data processing method according to claim 1, after the steps of obtaining the course access link corresponding to the school identifier, accessing the course webpage based on the course access link and obtaining structured course data are performed, and before the step of determining the course system type corresponding to the course webpage based on the school identifier is performed, further comprising: Receive course collection instructions uploaded by the subroutine; The course collection command is generated in the following manner: The course webpage and the interactive page of the subroutine are combined and spliced together to generate a course interactive page and a corresponding course collection control; The course collection instruction is generated when a user triggers the course collection control.
12. The course data processing method according to claim 1, wherein the structured course data is obtained in the following manner: The browser framework deployed by the host application loads the course access link and parses the webpage to obtain the structured course data. The structured course data is then sent to the subroutine for uploading to the server.
13. The course data processing method according to claim 12, after the step of performing course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation state of the course webpage to obtain the target course data, further includes: The target course data is validated. If the validation is successful, the target course data is imported into a preset course template for format adaptation and to obtain the course schedule data. The course schedule data is sent to the subroutine for display.
14. A course data processing method, applied to a subroutine, the method comprising: Obtain the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; Based on the course collection command submitted by the user through the course interaction page, structured course data is obtained and uploaded to the server. The structured course data is then parsed and validated by calling the corresponding course parsers of each third-party system in a traversal manner. If a course query instruction submitted by the user is received, the target course data is retrieved from the server and displayed. The target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
15. The course data processing method according to claim 14, after the step of obtaining the school identifier submitted by the user during the course import interaction and uploading it to the server to access the course webpage is executed, and before the step of obtaining structured course data based on the course collection instruction submitted by the user through the course interaction page and uploading it to the server is executed, it further includes: Verify the account information entered by the user on the course webpage. If the verification is successful, combine the course webpage with the interactive page of the subroutine to generate the course interactive page and the corresponding course collection control and display them. The course collection instruction is generated based on the user's trigger operation on the course collection control.
16. The course data processing method according to claim 14, wherein obtaining target course data from the server and displaying it includes: The system receives course schedule data from the server, which is obtained by importing the target course data into a preset course template and adapting the format. The system then uses the course schedule data as the target course data and displays it.
17. A course data processing device, operating on a server, the device comprising: The data acquisition module is configured to acquire the course access link corresponding to the school identifier, access the course webpage based on the course access link, and acquire structured course data. The parsing and verification module is configured to determine the course system type corresponding to the course webpage based on the school identifier. If the course system type is a third-party system type, the module uses a traversal approach to call the course parser corresponding to each third-party system to perform data parsing and course verification on the structured course data. The course recognition module is configured to, if the verification fails, perform course recognition on the course image of the structured course data based on the course recognition method corresponding to the display adaptation status of the course webpage to obtain the target course data.
18. A course data processing device, running in a subroutine, the device comprising: The identifier acquisition module is configured to acquire the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; The instruction acquisition module is configured to acquire structured course data based on the course acquisition instruction submitted by the user through the course interaction page and upload it to the server, so as to use a traversal method to call the corresponding course parser of each third-party system to perform data parsing and course verification on the structured course data; The course data display module is configured to retrieve and display target course data from the server upon receiving a course query instruction submitted by the user. The target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
19. A course data processing device, comprising: processor; And, a memory configured to store computer-executable instructions, which, when executed, cause the processor to: Obtain the school identifier submitted by the user during the course import interaction and upload it to the server to access the course webpage; Based on the course collection command submitted by the user through the course interaction page, structured course data is obtained and uploaded to the server. The structured course data is then parsed and validated by calling the corresponding course parsers of each third-party system in a traversal manner. If a course query instruction submitted by the user is received, the target course data is retrieved from the server and displayed. The target course data is obtained by performing course recognition on the course image of the structured course data according to the course recognition method corresponding to the display adaptation status of the course webpage.
20. A computer-readable storage medium for storing computer-executable instructions that, when executed, implement the steps of the method of claim 1 or 14.