Report generation system and method

By designing a cross-platform report generation system, using the coordinated interaction of the operating system layer, browser layer, work node layer and service layer of the platform architecture, the problem that the report generation tool in the existing technology cannot run on different platforms, and high compatibility and reliability report generation is achieved.

CN119623450APending Publication Date: 2025-03-14HANGZHOU ANMAISHENG INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411842236.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

Existing report generation tools rely on specific operating system architectures and cannot generate reports on different platforms, resulting in compatibility and reliability issues.

Method used

A report generation system is designed, including the platform architecture operating system layer, browser layer, work node layer and service layer. Through these levels of collaborative interaction, cross-platform report generation is realized.

Benefits of technology

Improves the compatibility and reliability of report generation tools, allowing reports to be generated on different operating systems and hardware platforms, improving user experience and system flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119623450A_ABST
    Figure CN119623450A_ABST
Patent Text Reader

Abstract

The invention discloses a report generation system and method, and the system comprises an application layer which is used for receiving a report generation instruction and transmitting the report generation instruction to a service layer; the service layer is used for acquiring report data according to the report generation instruction and sending the report data to the browser layer through the working node layer; and the browser layer is used for automatically generating a report based on the platform architecture operating system layer according to the report data, the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support operation of different types of operating systems. The platform architecture operating system layer is responsible for managing computer hardware resources, is compatible with different operating systems and hardware facilities, provides a user interface and a program running environment, and realizes compatibility and reliability of a report generation tool through cooperative interaction of the upper service layer, the browser layer and the working node layer. And the user experience is improved according to the visual front-end application layer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to a report generation system and method. Background Art

[0002] At present, in the field of industrial technology, in order to understand the operating status of equipment, it is usually necessary to monitor the equipment and generate monitoring reports, so that managers can understand whether there are fault points in the equipment according to the monitoring reports, and perform timely maintenance on the equipment based on the fault points shown in the report, so as to ensure the normal operation of the product line.

[0003] However, the existing report generation tools rely on specific operating systems. For example, the existing report generation technology is mainly designed for the X86 architecture. When the report generation software runs on other operating systems or hardware platforms, the report generation software cannot run due to the difference in architecture, thus affecting the generation of reports. Summary of the invention

[0004] The present invention provides a report generation system to realize the generation of reports on different platforms and improve the compatibility of report generation tools.

[0005] According to a first aspect of the present invention, a report generation system is provided, comprising: the system comprises a platform architecture operating system layer, a browser layer, a work node layer, a service layer and an application layer,

[0006] The application layer is used to receive a report generation instruction and send the report generation instruction to the service layer;

[0007] The service layer is used to obtain report data according to the report generation instruction, and send the report data to the browser layer through the working node layer;

[0008] The browser layer is used to automatically generate a report based on the platform architecture operating system layer according to the report data, wherein the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support running different types of operating systems.

[0009] In addition, the application layer includes a controller manager, and the controller manager includes a report management controller, a report execution controller and a report job timing controller.

[0010] In addition, the report generation instructions include operation instructions, timing instructions and execution instructions; the application layer is used to receive operation instructions in online mode through the controller manager, receive timing instructions in offline mode through the report job timing controller, and receive execution instructions in offline mode or online mode through the report execution controller.

[0011] In addition, the service layer includes a report eventer, a report processor and a report scheduler, and the working node layer includes a report engine.

[0012] In addition, a reporting event device is used to trigger different types of events according to the report generation instruction;

[0013] The report processor is used to search the report data associated with the event according to the type;

[0014] The report scheduler is used to obtain the available target report engine in the working node layer by means of periodic polling or actively receiving report information, and send the report data to the target report engine.

[0015] In addition, the report data includes report templates, source data and configuration information.

[0016] The configuration information includes a browser identifier, a type of generated report element, and a designated storage location of the report element, wherein the type includes a picture or a table.

[0017] In addition, the working node layer is used to send the report data to the browser agent interface of the browser layer through the node agent interface, wherein the browser agent interface is associated with different types of browsers in the browser layer.

[0018] In addition, the browser layer is used to determine the target browser according to the browser identifier, call the target browser to render the source data according to the type to obtain the target report element, and save the target report element in the specified storage location in the report template to generate the report.

[0019] In addition, the application layer also includes loaders, plug-ins and data source units.

[0020] According to another aspect of the present invention, there is provided a report generation method, comprising: receiving a report generation instruction through an application layer, and sending the report generation instruction to a service layer;

[0021] Acquire report data according to the report generation instruction through the service layer, and send the report data to the browser layer through the working node layer;

[0022] The report is automatically generated based on the platform architecture operating system layer according to the report data through the browser layer, wherein the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support running different types of operating systems.

[0023] The technical solution of the embodiment of the present invention manages computer hardware resources through the platform architecture operating system layer, is compatible with different operating systems and processor resources, provides a user interface and a program running environment, and achieves the compatibility and reliability of the report generation tool through the collaborative interaction of the upper service layer, browser layer and working node layer, and improves the user experience based on the visual front-end application layer.

[0024] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0026] Figure 1 is a structural diagram of a report generation system provided according to Embodiment 1 of the present invention;

[0027] Figure 2 is a structural diagram of a report generation system provided according to Embodiment 2 of the present invention;

[0028] Figure 3 It is a method flow chart of a report generation system provided according to Embodiment 3 of the present invention. DETAILED DESCRIPTION

[0029] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0031] Embodiment 1

[0032] Figure 1 This is a structural diagram of a report generation system provided in Embodiment 1 of the present invention. This embodiment can be applied to the generation of reports, such as Figure 1 As shown, the report generation system includes a platform architecture operating system layer, a browser layer, a working node layer, a service layer and an application layer.

[0033] Among them, the application layer is used to receive report generation instructions and send the report generation instructions to the service layer; the service layer is used to obtain report data according to the report generation instructions, and send the report data to the browser layer through the working node layer; the browser layer is used to automatically generate reports based on the platform architecture operating system layer according to the report data, wherein the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support running different types of operating systems.

[0034] Optionally, the application layer includes a controller manager, and the controller manager includes a report management controller, a report execution controller and a report job timing controller.

[0035] Optionally, the report generation instructions include operation instructions, timing instructions and execution instructions; the application layer is used to receive operation instructions in online mode through the controller manager, receive timing instructions in offline mode through the report job timing controller, and receive execution instructions in offline mode or online mode through the report execution controller.

[0036] Specifically, the application layer of this embodiment is the level of direct user interaction, providing user interface and user experience, and is mainly used for front-end page display, user input processing and result display. The application layer needs to respond to user operations in real time, such as clicks and input operations, so the user can interact with the application layer, and the application layer determines the report generation instruction by responding to the user's clicks or input operations. The application layer includes a controller manager, which can be used to manage different controllers, and the controller manager includes a report management controller, a report execution controller and a report job timing controller, wherein the report management controller can be used to manage the configuration and settings of the report, and mainly receives the operation instructions in the online mode; the report execution controller can be used to manage the execution process of the report, and mainly receives the execution instructions in the offline mode or the online mode; the report job timing controller can be used to be responsible for the scheduling of the timing task, and mainly receives the timing instructions in the offline mode. Of course, this embodiment is only an example, and does not limit the specific structure of the controller manager.

[0037] Optionally, the service layer includes a report eventer, a report processor and a report scheduler, and the working node layer includes a report engine.

[0038] Optionally, a report event generator is used to trigger different types of events according to report generation instructions; a report processor is used to search for report data associated with the event according to the type; a report scheduler is used to obtain the target report engine available in the working node layer by timed polling or actively receiving report information, and send the report data to the target report engine.

[0039] Specifically, the service layer in this embodiment is a bridge between the application layer and the infrastructure layer, providing core services such as database access, message delivery, and business logic processing. The service layer usually includes multiple groups of report schedulers, report processors, and report events. Figure 1Only one group is used as an example for explanation, and the specific number is not limited in this embodiment. The server needs to run stably to process requests from the application layer and interact with the resources of the infrastructure layer. It needs to optimize performance to ensure the response speed and reliability of the service. For example, the report generation instruction received by the application layer will be transmitted to the report event in the service layer. The report event triggers the event 1 "temperature sensor data" related to the report according to the report generation instruction, and sends event 1 to the report processor. The report processor searches for report data associated with the temperature sensor data from the associated database, and generates a processing completion indication after the numerical search is completed and sends it to the report scheduler. After receiving the processing completion indication, the report scheduler will obtain the target engine with the largest idle resources in the working node layer, such as report engine 1, and send the report data to report engine 1. The report scheduler may use a variety of methods to determine the target report engine. For example, it may use a timed polling method to query the working node layer to determine the target report engine, or each report engine in the working node layer may actively report its own resource status at regular intervals. The report scheduler may screen and determine the target report engine based on the received reporting information. Of course, this embodiment is only an example and does not limit the specific method for determining the target report engine. As long as the report engine with the largest idle resources can be determined, it is within the scope of protection of this application and is not limited in this embodiment.

[0040] It should be noted that the report data in this embodiment includes a report template, source data and configuration information, wherein the configuration information includes a browser identifier, the type of report element generated and the designated storage location of the report element, and the type of report element includes a picture or a table. For example, the report data obtained by searching for "temperature sensor data" includes: report template-device sensor information template, source data-temperature value of the temperature sensor within half a year, configuration information-browser identifier 1, report element-line graph, designated storage location-sensor content display block in the report template. Of course, this embodiment is only an example, and does not limit the specific content of the report data.

[0041] Optionally, the working node layer is used to send the report data to the browser agent interface of the browser layer through the node agent interface, wherein the browser agent interface is associated with different types of browsers in the browser layer.

[0042] Optionally, the browser layer is used to determine the target browser according to the browser identifier, call the target browser to render the source data according to the type to obtain the target report element, and save the target report element in a specified storage location in the report template to generate a report.

[0043] Specifically, the working node layer in this embodiment is where the system processes business logic, including data processing, calculation and report generation. The working node layer can be composed of multiple report engines, and multiple report engines can process tasks in parallel to improve the processing power of the system. They need to process data efficiently, generate reports, and work with other nodes to ensure that tasks are completed on time. The browser layer mainly reuses the powerful drawing, rendering and screenshot functions of the browser. It is responsible for parsing data and drawing the basic graphics and complex graphics required for the report. And the browser layer supports many different types of browsers, such as Google Chrome, Mozilla Firefox, Microsoft Edge, PhantomJS, etc. Of course, this embodiment is only an example, and the specific types of browsers supported by the browser layer are not limited.

[0044] In a specific implementation, the working node layer and the browser layer communicate through the proxy interface. After receiving the report data, for example, the report data includes: report template-device sensor information template, source data-temperature value of the temperature sensor within half a year, configuration information-browser identification 1, report element-line graph, and designated storage location-sensor block in the report template, the report engine 1 will send the above-received report data to the browser proxy interface of the browser layer through the node proxy interface. Since the browser proxy interface is associated with different types of browsers in the browser layer, the browser proxy interface can determine the target browser 1 according to the browser identification, thereby calling the target browser to render the temperature value of the temperature sensor within half a year according to the line graph to obtain the temperature sensor line graph containing the value, and then save the temperature sensor line graph in the sensor block position of the device sensor information template to generate a report. Of course, this embodiment only takes the report containing a temperature sensor line graph as an example for explanation, and in actual applications, the report usually contains multiple elements, such as pie charts, tables, and text, etc., and this embodiment does not limit the specific content contained in the generated report.

[0045] It should be noted that the platform architecture operating system of this embodiment includes the basic hardware facilities and operating system supported by the system, wherein the basic hardware facilities are the physical basis for the operation of the entire system, including servers, network equipment and storage devices, which provide the necessary hardware resources to ensure that the system can operate stably. The basic hardware facilities need to run uninterruptedly 24 hours a day and 7 days a week to ensure the availability of services, and they need regular maintenance and monitoring to prevent hardware failures and performance bottlenecks. The system operation is responsible for managing computer hardware resources, providing user interfaces and program operating environments, and is responsible for core functions such as task scheduling, memory management, file system management and device drivers. The operating system needs to respond to user and program requests in real time, manage resource allocation, and ensure that the system runs stably and efficiently. It also needs to be regularly updated and patched to improve system security. Among them, the platform architecture operating system in this embodiment mainly includes Windows 32 / 64, MacOS, Linux 32 / 64-x86 and Linux ARM64 / AArch6, etc. Of course, this embodiment is only an example, and does not limit the specific types of infrastructure and operating systems supported in the platform architecture operating system.

[0046] It is worth mentioning that the report generation system in this embodiment supports x86 and ARM architectures, and it can run on a variety of hardware platforms, which improves the compatibility of report generation technology, allowing users to use the same technology in different computing environments without having to customize different solutions for different architectures; headless browser technology is used in this embodiment, and it can run in a server environment without a graphical user interface. This flexibility allows reports to be generated in an automated and unattended environment, which is suitable for business scenarios that require large-scale data processing and report generation; this embodiment supports the generation of a variety of charts and statistical data, which can adapt to different report requirements. This scalability allows the technology to easily adapt to new report types and data formats without large-scale system reconstruction; this embodiment supports the triggering generation and persistent storage of reports through the supporting software front-end and data storage technology, which ensures that the generation and storage of reports are reliable and stable, reduces the risk of data loss, and improves data availability. In this embodiment, due to the cross-platform characteristics, it becomes easier to maintain and update the report generation system. One set of code runs everywhere, and the maintenance cost is reduced because there is no need to maintain multiple versions of software for different operating systems and hardware architectures. The supporting software front end in this embodiment provides a visual report trigger generation interface, which allows users to generate and manage reports more intuitively and conveniently, improving the user experience. This embodiment supports report generation in both online and offline modes, which provides users with more usage scenario options, whether it is online reports that require real-time data or offline reports that require batch processing. Therefore, this embodiment has obvious advantages in terms of technical compatibility, flexibility, efficiency, scalability, reliability, maintenance cost, user experience and usage scenario support.

[0047] Specifically, because the browser in this embodiment can be a headless browser, it can generate reports in a server environment without a graphical interface, thereby improving the flexibility and efficiency of report generation; and by utilizing the cross-platform characteristics of the Java language, it can solve the problem that traditional report generation technology is limited to a specific computer architecture, such as x86, and achieve compatibility with x86 and ARM architectures, thereby expanding the scope of application of report generation technology; and common chart types in reports, such as line charts, bar charts, pie charts, etc., as well as statistical data can be modeled, calculated, drawn and screenshot, thereby realizing automatic generation of report content; support for report generation in both online and offline modes, which provides users with more usage scenarios and flexibility; this embodiment also includes supporting software front-end and data storage technologies, which support visual report triggering generation and persistence of report storage, and can enhance the practicality of the reporting system.

[0048] In this implementation, the platform architecture operating system layer is responsible for managing computer hardware resources, is compatible with different operating systems and processor resources, provides a user interface and program running environment, and achieves compatibility and reliability of report generation tools through the collaborative interaction of the upper service layer, browser layer, and work node layer, and improves user experience based on the visual front-end application layer.

[0049] Embodiment 2

[0050] Figure 2 This is a structural diagram of a report generation system provided in Embodiment 2 of the present invention. This embodiment is based on the above embodiment and adds a loader, a plug-in and a data source unit in the application layer.

[0051] Among them, the loader is used to load the report content, and the loader specifically includes multiple types, such as word loader, PDF loader and HTML loader. In this implementation, different formats of reports can be loaded according to different loader types.

[0052] It should be noted that, in this embodiment, after the report is generated, the report loading mode options will be displayed on the front-end interface of the application, where the loading mode options include word, PDF or HTML, etc., and the user can select from them by clicking. After the application layer receives the user's loading mode selection instruction, the corresponding loader can be used to load the report according to the type selected by the user, thereby facilitating the use of different loaders to load the report according to the different needs of the user. Of course, this embodiment is only an example for illustration, and does not limit the specific type of loader. As long as the expansion of the system loading function can be achieved, it is within the scope of protection of this application and is not limited in this embodiment.

[0053] Among them, plug-ins are mainly used to extend functions. The specific plug-ins used in this system include JDBC plug-ins, Python plug-ins and JavaScript plug-ins, and different functions are extended by using different plug-ins.

[0054] It is worth mentioning that the plug-in in this embodiment is a program written in accordance with a certain standard application program interface, which can only run on the system platform specified by the program, and may support multiple platforms at the same time, but cannot run independently from the specified platform, because the plug-in needs to call the function library or data provided by the original pure system. In this embodiment, by using different types of plug-ins, it is convenient for users to execute different types of program codes according to actual needs to expand the application scenarios of the system.

[0055] Specifically, the data source unit in this embodiment is the data source for report generation, including various types of databases, such as Oracle, MySQL, and PostreSQL. Of course, this embodiment is only an example, and does not specifically limit the specific database types supported by the data source unit. When generating a report, the corresponding source data can be retrieved from the corresponding database based on the data type targeted by the report, so as to analyze and visualize the retrieved source data, so as to facilitate users to intuitively and quickly understand the operating status of the specified function of the device. Of course, this embodiment is only an example, and does not limit the specific types of databases supported by the data source unit.

[0056] Among them, in this implementation, a middleware or abstraction layer is developed to make the report generation tool independent of the underlying hardware architecture, thereby providing a report generation technology that can run seamlessly on x86 and ARM architectures; a unified set of programming interfaces and APIs are implemented, so that developers can write code once and run it on any platform, thereby reducing the development and maintenance costs of cross-platform report generation tools; an intelligent adaptation mechanism is designed that can automatically adjust the report layout and style, thereby improving the deployment efficiency and user experience of the report generation tool; the report generation algorithm is optimized to reduce the dependence on specific operating systems and library files, thereby improving the report generation performance on resource-constrained ARM devices; an extensible report generation framework is provided to support custom components and plug-ins to adapt to different business needs, thereby meeting the market demand for efficient and flexible cross-platform report generation tools.

[0057] In addition, this embodiment only takes the application layer including the controller manager, loader, plug-in and data source unit as an example for explanation. The user can also add other units or modules in the application layer according to actual needs to increase the system functions according to actual needs. Of course, this embodiment is only an example and does not limit the specific units set in the application layer and the added functions.

[0058] In the implementation mode of the present application, the operating system layer of the platform architecture is responsible for managing computer hardware resources, is compatible with different operating systems and processor resources, provides a user interface and a program running environment, and achieves compatibility and reliability of the report generation tool through the collaborative interaction of the upper service layer, browser layer, and work node layer, and improves the user experience based on the visual front-end application layer. In the implementation mode, by adding relevant components such as loaders, plug-ins, and data source units at the application layer, the functions of the system are further increased to meet the different needs of users for generating reports, thereby further improving the user experience.

[0059] Embodiment 3

[0060] Figure 3 This is a flow chart of a report generation method provided in Embodiment 3 of the present invention. This embodiment is applicable to the generation of reports. This method can be applied to the report generation system of any of the above embodiments, such as Figure 3 As shown, the method includes:

[0061] Step S101: receiving a report generation instruction through the application layer, and sending the report generation instruction to the service layer.

[0062] Among them, the report generation instructions include operation instructions, timing instructions and execution instructions; the application layer is used to receive operation instructions in online mode through the controller manager, receive timing instructions in offline mode through the report job timing controller, and receive execution instructions in offline mode or online mode through the report execution controller.

[0063] Specifically, the application layer of this embodiment is the level of direct user interaction, providing user interface and user experience, and is mainly used for front-end page display, user input processing and result display. The application layer needs to respond to user operations in real time, such as clicks and input operations, so the user can interact with the application layer, and the application layer determines the report generation instruction by responding to the user's clicks or input operations. The application layer includes a controller manager, which can be used to manage different controllers, and the controller manager includes a report management controller, a report execution controller and a report job timing controller, wherein the report management controller can be used to manage the configuration and settings of the report, and mainly receives the operation instructions in the online mode; the report execution controller can be used to manage the execution process of the report, and mainly receives the execution instructions in the offline mode or the online mode; the report job timing controller can be used to be responsible for the scheduling of the timing task, and mainly receives the timing instructions in the offline mode. Of course, this embodiment is only an example, and does not limit the specific structure of the controller manager.

[0064] Step S102, obtaining report data according to the report generation instruction through the service layer, and sending the report data to the browser layer through the working node layer.

[0065] The service layer includes a report eventer, a report processor and a report scheduler, and the working node layer includes a report engine. The report eventer is used to trigger different types of events according to the report generation instruction; the report processor is used to search for report data associated with the event according to the type; the report scheduler is used to obtain the target report engine available in the working node layer by means of timed polling or actively receiving report information, and send the report data to the target report engine. The working node layer is used to send the report data to the browser proxy interface of the browser layer through the node proxy interface, wherein the browser proxy interface is associated with different types of browsers in the browser layer.

[0066] Specifically, the service layer in this embodiment is a bridge between the application layer and the infrastructure layer, providing core services such as database access, message delivery and business logic processing. The service layer usually includes multiple groups of report schedulers, report processors and report events. The server needs to run stably to process requests from the application layer and interact with the resources of the infrastructure layer. It needs to optimize performance to ensure the response speed and reliability of the service. For example, the report generation instruction received by the application layer will be transmitted to the report event device in the service layer. The report event device triggers the event 1 "temperature sensor data" related to the report according to the report generation instruction, and sends event 1 to the report processor. The report processor searches for report data associated with the temperature sensor data from the associated database, and generates a processing completion indication after the numerical search is completed and sends it to the report scheduler. After receiving the processing completion indication, the report scheduler will obtain the target engine with the largest idle resources determined in the working node layer, such as report engine 1, and send the report data to report engine 1. The report scheduler may determine the target reporting engine in a variety of ways, for example, by querying the working node layer in a timed polling manner to determine the target reporting engine, or by each reporting engine in the working node layer actively reporting resource status at a regular interval, and the report scheduler determines the target reporting engine by screening the received reporting information. Of course, this embodiment is only an example for illustration, and does not limit the specific method for determining the target reporting engine. As long as the reporting engine with the largest idle resources can be determined, it is within the scope of protection of this application and is not limited in this embodiment.

[0067] It should be noted that the report data in this embodiment includes a report template, source data and configuration information, wherein the configuration information includes a browser identifier, the type of report element generated and the designated storage location of the report element, and the type includes a picture or a table. For example, the report data obtained by searching for "temperature sensor data" includes: report template-device sensor information template, source data-temperature value of the temperature sensor within half a year, configuration information-browser identifier 1, report element-line graph, designated storage location-sensor block in the report template. Of course, this embodiment is only an example, and does not limit the specific content of the report data.

[0068] Specifically, the worker node layer in this embodiment is where the system processes business logic, including data processing, calculations, and report generation. The worker node layer can be composed of multiple report engines, and multiple report engines can process tasks in parallel to improve the processing power of the system. They need to process data efficiently, generate reports, and work with other nodes to ensure that tasks are completed on time.

[0069] Step S103, automatically generating a report based on the platform architecture operating system layer according to the report data through the browser layer, wherein the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support running different types of operating systems.

[0070] The browser layer is used to determine the target browser according to the browser identifier, call the target browser to render the source data according to the type to obtain the target report element, and save the target report element in the specified storage location in the report template to generate a report.

[0071] The browser layer mainly reuses the powerful drawing, rendering and screenshot functions of the browser. It is responsible for parsing data and drawing basic and complex graphics required for reports. The browser layer supports many different types of browsers, such as Google Chrome, Mozilla Firefox, Microsoft Edge, PhantomJS, etc. Of course, this embodiment is only an example, and does not limit the specific types of browsers supported by the browser layer.

[0072] In a specific implementation, the working node layer and the browser layer communicate through the proxy interface. After receiving the report data, for example, the report data includes: report template-device sensor information template, source data-temperature value of the temperature sensor within half a year, configuration information-browser identification 1, report element-line graph, and designated storage location-sensor block in the report template, the report engine 1 will send the above-received report data to the browser proxy interface of the browser layer through the node proxy interface. Since the browser proxy interface is associated with different types of browsers in the browser layer, the browser proxy interface can determine the target browser 1 according to the browser identification, thereby calling the target browser to render the temperature value of the temperature sensor within half a year according to the line graph to obtain the temperature sensor line graph containing the value, and then save the temperature sensor line graph in the sensor block position of the device sensor information template to generate a report. Of course, this embodiment only takes the example of a temperature sensor line graph included in the report as an example, and the report generated in actual application usually contains multiple elements, such as pie charts, tables and text, etc., and the specific content of the generated report is not limited in this embodiment.

[0073] Specifically, the cross-platform characteristics of the Java language and the cross-platform support of the headless headless browser are utilized in this embodiment. The line charts, bar charts, pie charts, radar charts, tables, indicator statistics, state quantities and other charts and statistical data required for the report are modeled, calculated, drawn and screenshot online or offline, so as to realize the generation of cross-platform reports. The core objectives of this application mainly include: cross-platform compatibility, so that the report generation tool can run on different computer architectures (x86 and ARM) without restriction; improved convenience, ensuring that the report generation tool can be used on a variety of devices, including desktop computers, mobile devices and embedded systems; enhanced usability, so that users do not need to care about the underlying hardware architecture, can generate reports. And the report generation tool in this embodiment does not rely on a specific processor architecture, so it is independent of hardware; it can run on a variety of operating systems, including but not limited to Windows, Linux, MacOS and various mobile operating systems, so it is irrelevant to the operating system; performance optimization ensures that the efficiency of report generation is not affected by architectural differences.

[0074] In this implementation, the platform architecture operating system layer is responsible for managing computer hardware resources, is compatible with different operating systems and processor resources, provides a user interface and program running environment, and achieves compatibility and reliability of report generation tools through the collaborative interaction of the upper service layer, browser layer, and work node layer, and improves user experience based on the visual front-end application layer.

[0075] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0076] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A report generation system, characterized in that: The system includes a platform architecture operating system layer, a browser layer, a work node layer, a service layer and an application layer. The application layer is used to receive a report generation instruction and send the report generation instruction to the service layer; The service layer is used to obtain report data according to the report generation instruction, and send the report data to the browser layer through the working node layer; The browser layer is used to automatically generate a report based on the platform architecture operating system layer according to the report data, wherein the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support running different types of operating systems.

2. The system according to claim 1, characterized in that The application layer includes a controller manager, and the controller manager includes a report management controller, a report execution controller and a report job timing controller.

3. The system according to claim 2, characterized in that The report generation instructions include operation instructions, timing instructions and execution instructions; The application layer is used to receive operation instructions in the online mode through the controller manager, receive timing instructions in the offline mode through the report job timing controller, and receive execution instructions in the offline mode or the online mode through the report execution controller.

4. The system according to claim 1, characterized in that The service layer includes a report eventer, a report processor and a report scheduler, and the working node layer includes a report engine.

5. The system according to claim 4, characterized in that The report event device is used to trigger different types of events according to the report generation instruction; The report processor is used to search the report data associated with the event according to the type; The report scheduler is used to obtain the available target report engine in the working node layer by means of periodic polling or actively receiving report information, and send the report data to the target report engine.

6. The system according to claim 1, characterized in that The report data includes report templates, source data and configuration information. The configuration information includes a browser identifier, a type of generated report element, and a designated storage location of the report element, wherein the type includes a picture or a table.

7. The system according to claim 6, characterized in that The working node layer is used to send the report data to the browser agent interface of the browser layer through the node agent interface, wherein the browser agent interface is associated with different types of browsers in the browser layer.

8. The system according to claim 7, characterized in that The browser layer is used to determine the target browser according to the browser identifier, call the target browser to render the source data according to the type to obtain the target report element, and save the target report element in the designated storage location in the report template to generate the report.

9. The system according to claim 1, characterized in that The application layer also includes a loader, a plug-in and a data source unit.

10. A report generation method, characterized in that: include: receiving a report generation instruction through the application layer, and sending the report generation instruction to the service layer; Acquire report data according to the report generation instruction through the service layer, and send the report data to the browser layer through the working node layer; The report is automatically generated based on the platform architecture operating system layer according to the report data through the browser layer, wherein the platform architecture operating system layer is compatible with different types of hardware facilities, and the hardware facilities support running different types of operating systems.