Data report processing system, method and computer equipment

By extending the syntax of calling functions based on the syntax of markup languages ​​such as Markdown and providing a data report processing system, it solves the problem that Markdown does not support data processing functions in data report production, and achieves more efficient and high-quality data report production.

CN114077827BActive Publication Date: 2025-05-13ALIBABA GROUP HOLDING LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010827023.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-17
Publication Date
2025-05-13
Estimated Expiration
2040-08-17

AI Technical Summary

Technical Problem

In the prior art, although Markdown as a lightweight markup language can reduce the layout workload in data report production, the production efficiency of data reports is still low because it does not support data processing functions.

Method used

It provides a data report processing system that extends the syntax of calling functions based on the syntax of markup language, so that users can type using the syntax of markup language in plain text editing, and call functions during the writing process to realize data processing functions.

Benefits of technology

This system enables users to edit and type in plain text during the production process of data reports, which can also realize data processing functions, thereby greatly improving the production efficiency and quality of data reports.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114077827B_ABST
    Figure CN114077827B_ABST
Patent Text Reader

Abstract

The present specification provides a data report processing system, wherein the data report is generated based on a markup language, and the system comprises: a syntax extension module for extending the syntax of calling a function; a report generation module for providing a content editing area, and generating the data report based on the edited content input by the user in the content editing area and the function called by the syntax of calling the function. The system provided by the present specification solves the technical problem that the existing tools for making data reports are inefficient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present specification relates to the field of data processing technology, and in particular to a data report processing system, method and computer equipment. Background Art

[0002] For data report production, the typesetting of data reports takes up a lot of time. Markdown is a lightweight markup language that allows users to typeset documents through plain text editing, thereby greatly reducing the workload of typesetting and improving production efficiency. However, in addition to text editing and typesetting, the production of data reports often requires the use of some data processing functions, and Markdown as a markup language does not support these functions, resulting in low efficiency in data report production. Summary of the invention

[0003] To overcome the problems existing in the related art, this specification provides a data report processing system, method and computer device.

[0004] According to a first aspect of the present specification, a data report processing system is provided, wherein the data report is generated based on a markup language, and the system comprises:

[0005] Syntax extension module, used to extend the syntax of calling functions;

[0006] The report generation module is used to provide a content editing area and generate the data report based on the editing content input by the user in the content editing area and the function called by using the syntax of calling the function.

[0007] According to a second aspect of the present specification, a data report processing method is provided, which is applied to a data report processing system, wherein the syntax supported by the system includes the syntax of a markup language and the syntax of a function call extended on the basis of the syntax of the markup language, and the method comprises:

[0008] Obtain the edited content input by the user based on the syntax of the markup language;

[0009] A data report corresponding to the edited content is generated according to the edited content and the function called based on the syntax of the calling function.

[0010] According to a third aspect of the present specification, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the following method is implemented:

[0011] Get the edited content entered by the user;

[0012] A data report corresponding to the edited content is generated according to the system-supported syntax used in the edited content; wherein the system-supported syntax includes the syntax of the markup language and the syntax of calling functions extended on the basis of the syntax of the markup language.

[0013] The technical solution provided in this specification may have the following beneficial effects:

[0014] The data report processing system provided in this specification extends the syntax of calling functions based on the syntax of the markup language, so that users can use the syntax of the markup language to implement plain text editing and typesetting, and can also call functions during the writing process to implement data processing functions, greatly improving the efficiency and quality of data report production. In addition, the markup language does not have logical and behavioral capabilities, but by expanding its syntax, it supports the function of function calling, so that the syntax based on the markup language has more logical and behavioral capabilities of some programming languages, and is more suitable for the production of data reports.

[0015] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present specification. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the specification and, together with the description, serve to explain the principles of the specification.

[0017] Figure 1 It is a structural diagram of a data report processing system provided in this specification.

[0018] Figure 2 This is a data report generation page provided in this manual.

[0019] Figure 3 It is a flow chart of a data report processing method provided in this manual.

[0020] Figure 4 It is a structural diagram of a computer device provided in this manual. DETAILED DESCRIPTION

[0021] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with this specification. Instead, they are merely examples of devices and methods consistent with some aspects of this specification as detailed in the appended claims.

[0022] The terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit this specification. The singular forms "a", "the" and "the" used in this specification and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0023] It should be understood that although the terms first, second, third, etc. may be used in this specification to describe various information, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this specification, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0024] With the advent of the big data era, more and more companies are beginning to pay attention to data analysis. Data analysis is often accompanied by the production of data reports, which can well present the results of data analysis. The workload of making data reports is not small, and the typesetting of data reports takes up a lot of time.

[0025] Markdown is a lightweight markup language that allows users to format documents through plain text editing. Therefore, using Markdown to edit data reports can greatly reduce the workload of formatting and improve production efficiency. However, in addition to text editing and formatting, the production of data reports often requires the use of some data processing functions, such as using data for calculations and generating various charts using data, but these functions are not supported by Markdown.

[0026] To this end, this specification provides a data report processing system. For convenience, the data report processing system is referred to as "system" in the following text. Figure 1 , Figure 1 This is a structural diagram of a data report processing system provided in this specification. In this system, data reports are generated based on a markup language, and the system includes:

[0027] The syntax extension module 110 is used to extend the syntax of calling a function.

[0028] The report generation module 120 is used to provide a content editing area and generate a data report based on the editing content input by the user in the content editing area and the function called by the syntax of calling the function.

[0029] It is understandable that a markup language is a language that can combine text and other information related to the text, and is different from a programming language because it does not have logic and behavioral capabilities. The markup language in this specification can be any markup language, such as XML, HTML, or Markdown mentioned above. The syntax supported by the system includes the syntax of the markup language, so the user can use various syntaxes of the markup language when editing a document.

[0030] In one example, the markup language can be Markdown, that is, the system can support all the syntax of Markdown. In this way, for the editing content entered by the user in the content editing area, if the user uses the Markdown syntax in the editing content, all the Markdown syntax used can be analyzed by the system, so that in the data report, the object targeted by the Markdown syntax can present the corresponding effect.

[0031] In addition to supporting the syntax of the markup language, the system also supports the syntax of calling functions. Specifically, the syntax supported by the system can be expanded on the basis of the syntax of the markup language, that is, the syntax of calling functions is an extension that together with the syntax of the markup language constitutes the syntax supported by the system.

[0032] By expanding the syntax of the markup language, the system also supports the syntax of calling functions on the basis of the syntax of the markup language. Therefore, when editing, users can not only use the syntax of the markup language to edit and format the text content of the data report, but also use the syntax of calling functions to call the required functions to implement various data processing functions. The calculation results of the called functions can be presented in the data report.

[0033] It can be seen that the data report processing system provided in this specification extends the syntax of calling functions based on the syntax of the markup language, so that users can use the syntax of the markup language to implement plain text editing and typesetting, and can also call functions during the writing process to implement data processing functions, greatly improving the efficiency and quality of data report production. In addition, the markup language does not have logical and behavioral capabilities, but by expanding its syntax, it supports the function of function calling, so that the syntax based on the markup language has more logical and behavioral capabilities of some programming languages, and is more suitable for the production of data reports (the expanded syntax can also be considered as a new syntax).

[0034] For example, the markup language can be Markdown. When editing, the user can use Markdown syntax to implement plain text typesetting, and can also use the syntax of calling functions to call functions, so that the data report has the effect of Markdown in typesetting, and the calculation results of the called function can also be presented in the data report.

[0035] Depending on the function called, users can implement various data processing functions, which may include one or more of the following: using data to perform calculations, using data to generate trend charts / link charts / proportion charts and other charts, using data to generate tables, etc.

[0036] In one implementation, the expansion of the syntax of the markup language may be achieved in the following manner: an abstract syntax tree of the markup language is parsed, and a node corresponding to the syntax of calling a function is created on the abstract syntax tree.

[0037] The markup language can be parsed by a parser to obtain an abstract syntax tree corresponding to the markup language. In one embodiment, the grammar extension module can be a parser, and the parser can be a plug-in loaded in the system. The parser can be obtained by the developer himself or from the code platform, and this specification does not limit it.

[0038] Each node on the abstract syntax tree may correspond to a syntax. In one implementation, since there are multiple different types of functions and each type of function has a different calling syntax, a node corresponding to the calling syntax of each type of function may be created on the abstract syntax tree for each type of function, even if the created nodes include nodes corresponding to the calling syntax of multiple types of functions.

[0039] For different types of functions, for example, function A is used to implement the function of obtaining data, and function B is used to implement the function of using data to perform operations, then function A and function B can be different types of functions, and nodes on the abstract syntax tree can be created for the calling syntax corresponding to function A and the calling syntax corresponding to function B respectively.

[0040] In one embodiment, the syntax of calling a function may allow a user to customize a data element using the called function and to reference the customized data element. A data element may be an element newly defined (created) by a user, and its actual expression may be text or a symbol, such as gmv, element, etc. The user may set the name of the data element as required.

[0041] For example, if the syntax supported by the system extends the calling syntax of the function metaval, the user can define an element element = metaval (A, B, C), where metaval can be the function name, and A, B, and C can be the three parameters of metaval. At the same time, the user can use the "reference syntax" to reference the data element element defined by the user, such as "[@element]".

[0042] For the location where the user references a data element, the system can replace the text at that location with the actual value of the referenced data element, that is, the calculation result of the called function, so that the data report does not present the text of the reference syntax, but directly presents the calculation result of the called function.

[0043] In one example, a user can define a data element gmv=metaval(business metadata name, data period, indicator gmv), and the metaval function can realize the function of obtaining data according to the function parameters set by the user. Specifically, it can obtain the specific data of the indicator gmv in the specified data period from the data source indicated by the business metadata. The specific data is the calculation result of the metaval function, and the calculation result can be assigned to the data element gmv. If the data period set by the user corresponds to the most recent month, the user can edit it in the content editing area, such as "GMV of the most recent month: [@gmv]", then in the generated data report, the calculation result of metaval(business metadata name, data period, indicator gmv), such as 100000 (i.e. the real value of the indicator gmv obtained from the data source), can be used to replace [@gmv] in the edited content, and finally the data report will display "GMV of the most recent month: 100000".

[0044] Of course, the above example is only an application example of the function metaval. In practice, different functions are called, and the calculation results presented in the data report are also different. For example, if the function called is a function for generating a trend chart, and its function name is trend, the user can define the data element gmv=trend(…), and can edit "GMV trend chart of the latest month: [@gmv]" in the content editing area, then the generated data report will display "GMV trend chart of the latest month: (trend chart itself)".

[0045] The business metadata mentioned in the previous article can be defined by the user. For the system, the system can analyze the business metadata defined by the user in the content editing area. Business metadata can be used to declare the data source of the data report and the structure of the data in the data source. For example, the business metadata can declare that the data source is an Excel document or a database, etc., and declare the acquisition address of the data source, such as a local address or a storage address in the server (the data is uploaded to the server in advance), and the data structure of the data source can also be declared, such as the dimensions of the data, indicator names, etc.

[0046] Based on the user-defined metadata, the data (i.e., actual parameters) required by the called function during operation can be obtained from the data source specified by the business metadata. Specifically, a connection can be established with the specified data source according to the acquisition address provided in the business metadata, and the required data can be obtained from the established data source.

[0047] In one implementation, it can be determined whether to associate the calculation result of the called function with the specified interactive logic according to the function called by the user, and if the called function meets the specified conditions, the calculation result of the function in the data report can be associated with the specified exchange logic. As can be seen from the foregoing, the calculation result of the called function can be presented in the data report, and when the called function meets the specified conditions, the calculation result can be made interactive, that is, the interactive logic can be set on the calculation result.

[0048] For the specified conditions that the called function needs to meet, in one embodiment, the specified conditions can be that the function name of the called function is the target function name, and / or the function parameters are specified function parameters, that is, the system can determine whether to set the interactive logic for the calculation result of the function based on the function name of the called function and the function parameters set by the user. Taking metaval (business metadata name, data cycle, indicator gmv) in the previous text as an example, the system can obtain its function name metaval, and obtain its third function parameter indicator gmv, so that it can be determined that its corresponding function is to obtain the indicator gmv. Since gmv is data that users are more sensitive to, the interactive logic can be set for the calculation result of the function, that is, the actual value of the obtained indicator gmv.

[0049] For the interactive logic, it can include trigger conditions and trigger content. The trigger condition can be a certain operation of the user on the calculation result. For example, in one example, the trigger condition can be detecting that the calculation result in the data report is clicked. In another example, the trigger condition can also be detecting that the user's mouse pointer moves to the calculation result in the data report. Of course, there are other triggering methods, which are not expanded here one by one. The trigger content can be content related to the calculation result. In one example, when the trigger condition is met, the information associated with the calculation result can be obtained and displayed. In one example, when the trigger condition is met, it can trigger the sending of words corresponding to the calculation result to the dialogue robot.

[0050] A conversational robot is a data robot that can talk to users. It can identify the intent of the acquired words and reply with information corresponding to the identified intent. For the above example of sending words after triggering, the words sent can be obtained by the conversational robot and the intent can be identified (analyzed), so that the user can obtain other information related to the calculation results. For example, in an example in the previous article, the data report may include the text "GMV in the last month: 100000", where 100000 corresponds to the calculation result of the called function. When the user clicks on the "100000" (or other triggering methods), the words corresponding to the "100000" can be sent to the conversational robot. Since the "100000" is actually the specific value of GMV, the words sent can be, for example, "check the trend of GMV", and the conversational robot can reply with the trend and analysis of GMV in a longer time period. Of course, other words can also be sent, such as "check the proportion of each business of GMV", etc. The words sent can be set by the technicians in this field.

[0051] In one implementation, the interaction logic may also be associated with specific information in the data report, and the specified information may be other information besides the calculation result of the called function. Specifically, the specific information and the interaction logic corresponding to each specific information may be pre-configured in the system, and if the specific information is detected to exist in the user's edited content, the interaction logic corresponding to the specific information is associated with the specific information.

[0052] For information or text associated with interactive logic, its format can be highlighted in a certain way to make the user aware that the information or text is interactive.

[0053] You can refer to Figure 2 , Figure 2 This is a data report generation page provided in this manual. Figure 2 In the example shown, the markup language supported by the system is Markdown. Figure 2 The left half is the content editing area for the user, and the right half is the preview effect of the corresponding data report. It can be seen that the user has customized the data element gmv and referenced the data element through [@gmv] in the editing content. Correspondingly, in the data report, [@gmv] can be replaced with the actual calculation result of the function, that is, 100000. In addition, the system can automatically associate the interactive logic with 100000 and highlight 100000 (add underline) to remind the user that 100000 is interactive. At the same time, users can use all the syntax of Markdown when editing, such as Figure 2 The corresponding syntax of Markdown italics and bold is used.

[0054] It should be noted that the calculation result of the above-mentioned function is not necessarily a calculated value. Depending on the data processing function corresponding to the function, the calculation result can also be various data forms such as a graph or a table.

[0055] In one embodiment, the system can be connected to a third-party application, and the connection with the third-party application can be achieved through the API interface of the third-party application. The third-party application can be various communication applications, such as mailbox applications, chat applications, etc. In one example, the third-party application can be DingTalk. The system can also include a report push module, which can push the data report to the target user through the third-party application. Before the data report is pushed to the target user, the system can obtain the push information input by the user. The push information can include the ID of the target user (such as email, account, etc.), and can also include the push frequency, the personal information of the target user, etc.

[0056] In one implementation, the conversational robot may be a module in a third-party application, and the data report may be pushed to the user in the form of a chat dialogue through the conversational robot of the third-party application. In this way, the user may trigger the interaction logic when viewing the data report, thereby uttering a word to communicate with the conversational robot of the third-party application to obtain more required information.

[0057] Considering that when multiple users are making data reports at the same time, insufficient computing resources may cause delays in generating data reports. Therefore, in one embodiment, the system may be configured with multiple distributed computing clusters to improve processing capabilities.

[0058] Furthermore, before generating the data report, the characteristics of the data report to be generated may be obtained. The characteristics of the data report to be generated may include one or more of the following: the number of data sources, the push target of the data report, the number of called functions, etc.

[0059] In one example, before editing a document, the user may be asked to input information about the push target of the data report. For example, the push target may be different groups such as internal employees or customers. According to the list of key targets pre-set by the system, it is determined whether the push target of the data report is a key target. If the push target of the data report is a key target, the priority of the data report generation task may be increased, and the data report generation task may be assigned to the corresponding computing cluster, which may be a computing cluster with a processing speed that meets the requirements or with more remaining computing resources.

[0060] In one example, after the user completes editing the document, the edited content can be analyzed to determine the number of functions called by the edited content and / or the number of associated data sources. Based on the number of called functions and / or the number of associated data sources, the computing resources required for the task of generating the data report can be determined, so that the generation task can be assigned to the corresponding computing cluster based on the required computing resources.

[0061] It should be noted that the data report processing system provided in this specification can be implemented in a Web application mode, such as Figure 2 As shown, the user can use the application through the browser to make data reports. In another embodiment, the system can also be implemented in the mode of client applications, that is, the user can install a specified client application in the local host and make data reports through the client application.

[0062] The above is a description of the data report processing system provided in this specification. The data report processing system provided in this specification expands the syntax of calling functions on the basis of the syntax of the markup language, so that users can use the syntax of the markup language to implement plain text editing and typesetting, and can also call functions during the writing process to implement data processing functions, greatly improving the efficiency and quality of data report production. In addition, compared with complex BI tools with high thresholds, the system provided in this specification is based on markup language, has a low threshold for use, and is very friendly to non-professional data analysis operations, finance and other personnel. In addition, by expanding the markup language, the expanded language has both the syntax of the markup language and the function of calling functions, which can be well applied to the production of data reports.

[0063] See below Figure 3 , Figure 3 This is a flow chart of a data report processing method provided in this specification. The method is applied to a data report processing system, and the syntax supported by the system includes the syntax of a markup language and the syntax of a function call extended on the basis of the syntax of the markup language. The method includes:

[0064] Step 301: Obtain editing content input by a user based on the grammar of a markup language.

[0065] Step 302: Generate a data report corresponding to the edited content according to the edited content and the function called based on the syntax of calling the function.

[0066] Optionally, the grammar supported by the system is obtained based on the following method:

[0067] An abstract syntax tree of the markup language is parsed, and a node corresponding to the syntax of the calling function is created on the abstract syntax tree to obtain the syntax supported by the system.

[0068] Optionally, different types of functions have different calling syntaxes;

[0069] The step of creating a node corresponding to the syntax of the calling function on the abstract syntax tree includes:

[0070] On the abstract syntax tree, nodes are created for the calling syntax corresponding to each type of function.

[0071] Optionally, the method further includes:

[0072] If the user customizes a data element using the called function and references the data element in the edited content, the calculation result of the called function replaces the location in the data report where the data element is referenced.

[0073] Optionally, the method further includes:

[0074] If the function called by the user meets the specified conditions, the calculation result in the data report is associated with the specified interaction logic.

[0075] Optionally, the specified interaction logic includes: based on the user's operation on the calculation result, triggering the sending of words corresponding to the calculation result to the dialogue robot.

[0076] Optionally, the specified conditions include: the function name of the called function is the target function name, and / or the function parameters are specified function parameters.

[0077] Optionally, the actual parameters of the called function are obtained from a user-specified data source.

[0078] Optionally, the method further includes:

[0079] The data report is pushed to the target user through a third-party application connected to the system.

[0080] Optionally, the system includes a plurality of distributed computing clusters, and before generating the data report, the method further includes:

[0081] According to the characteristics of the data report to be generated, the task of generating the data report is assigned to the corresponding computing cluster, so that the data report is generated by the assigned computing cluster.

[0082] Optionally, the characteristics of the data report to be generated include one or more of the following: the number of data sources, the push targets of the data report, and the number of called functions.

[0083] For the data report processing methods of the various implementation modes provided above, their specific implementation can refer to the relevant description of the data report processing system provided in this specification, which will not be repeated here.

[0084] The data report processing method provided in this specification expands the syntax of calling functions based on the syntax of markup language, so that users can use the syntax of markup language to implement plain text editing and typesetting, and can also call functions during the writing process to implement data processing functions, greatly improving the efficiency and quality of data report production. Moreover, compared with complex BI tools with high thresholds, the method provided in this specification is based on markup language, has a low threshold for use, and is very friendly to non-professional data analysis operations, finance and other personnel. In addition, by expanding the markup language, the expanded language has both the syntax of the markup language and the function of calling functions, which can be well applied to the production of data reports.

[0085] See also Figure 4 , Figure 4 4 is a schematic diagram of a computer device provided in this specification. In one embodiment, the computer device may be a server. The computer device may include a memory 410, a processor 420, and a computer program stored in the memory and executable on the processor, wherein the processor implements the following method when executing the program:

[0086] Get the edited content entered by the user;

[0087] A data report corresponding to the edited content is generated according to the system-supported syntax used in the edited content; wherein the system-supported syntax includes the syntax of the markup language and the syntax of calling functions extended on the basis of the syntax of the markup language.

[0088] Optionally, the grammar supported by the system is obtained based on the following method:

[0089] An abstract syntax tree of the markup language is parsed, and a node corresponding to the syntax of the calling function is created on the abstract syntax tree to obtain the syntax supported by the system.

[0090] Optionally, different types of functions have different calling syntaxes;

[0091] The step of creating a node corresponding to the syntax of the calling function on the abstract syntax tree includes:

[0092] On the abstract syntax tree, nodes are created for the calling syntax corresponding to each type of function.

[0093] Optionally, the processor is further used to, if the user customizes the data element using the called function and references the data element in the edited content, replace the position in the data report that references the data element with the calculation result of the called function.

[0094] Optionally, the processor is further used to associate the calculation result in the data report with specified interaction logic if the function called by the user meets specified conditions.

[0095] Optionally, the specified interaction logic includes: based on the user's operation on the calculation result, triggering the sending of words corresponding to the calculation result to the dialogue robot.

[0096] Optionally, the specified conditions include: the function name of the called function is the target function name, and / or the function parameters are specified function parameters.

[0097] Optionally, the actual parameters of the called function are obtained from a user-specified data source.

[0098] Optionally, the processor is further used to push the data report to a target user via a third-party application connected to the system.

[0099] Optionally, the system includes multiple distributed computing clusters, and the processor is further used to, before generating the data report, assign the data report generation task to the corresponding computing cluster according to the characteristics of the data report to be generated, so as to generate the data report through the assigned computing cluster.

[0100] Optionally, the characteristics of the data report to be generated include one or more of the following: the number of data sources, the push targets of the data report, and the number of called functions.

[0101] The computer device provided in this specification extends the syntax of calling functions based on the syntax of markup language, so that users can use the syntax of markup language to implement plain text editing and typesetting, and can also call functions during the writing process to implement data processing functions, greatly improving the efficiency and quality of data report production. Moreover, compared with complex BI tools with high thresholds, the device provided in this specification is based on markup language, has a low threshold for use, and is very friendly to non-professional data analysis operations, finance and other personnel. In addition, by expanding the markup language, the expanded language has both the syntax of the markup language and the function of calling functions, which can be well applied to the production of data reports.

[0102] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0103] As long as there is no conflict or contradiction in the technical features provided in the above embodiments, those skilled in the art can combine the various technical features according to actual conditions to form various different embodiments. Due to the limited length of this specification, various different embodiments are not described in detail, but it can be understood that various different embodiments also belong to the scope disclosed in this specification.

[0104] Those skilled in the art will readily appreciate other embodiments of the specification after considering the specification and practicing the invention claimed herein. The specification is intended to cover any variations, uses or adaptations of the specification that follow the general principles of the specification and include common knowledge or customary techniques in the art that are not claimed in the specification. The specification and examples are to be considered exemplary only, and the true scope and spirit of the specification are indicated by the following claims.

[0105] It should be understood that the present description is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present description is limited only by the appended claims.

[0106] The above description is only a preferred embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.

Claims

1. A data report processing system, wherein the data report is generated based on a markup language, the system comprising: Syntax extension module, used to extend the syntax of calling functions; The syntax extension module extends the syntax of calling a function in a manner including: parsing an abstract syntax tree of the markup language, and creating nodes corresponding to the syntax of calling a function on the abstract syntax tree; wherein nodes corresponding to the calling syntax of each type of function are respectively created on the abstract syntax tree, the calling syntax of different types of functions are different, and the created nodes include nodes corresponding to the calling syntax of multiple types of functions; wherein the syntax of calling a function allows the use of the called function to define a custom data element, and the defined data element is referenced; The report generation module is used to provide a content editing area and generate the data report based on the editing content input by the user in the content editing area and the function called by using the syntax of calling the function. 2 . The system according to claim 1 , wherein the grammar expansion module is a parser, and the parser is a plug-in loaded in the system.

3. According to the system of claim 1, the report generation module is also used to, if the user customizes the data element using the called function and references the data element in the editing content, replace the position in the data report where the data element is referenced with the calculation result of the called function.

4. According to the system of claim 3, the report generation module is also used to associate the calculation result in the data report with a specified interaction logic if the function called by the user meets a specified condition.

5. The system according to claim 4, wherein the specified interaction logic comprises: Based on the user's operation on the calculation result, a trigger is provided to the dialogue robot to send a speech corresponding to the calculation result.

6. The system according to claim 4, wherein the specified conditions include: The function name of the called function is the target function name, and / or the function parameters are the specified function parameters.

7. According to the system of claim 1, the actual parameters of the called function are obtained from a data source specified by the user.

8. The system of claim 1, further comprising: The report push module is used to push the data report to the target user through a third-party application connected to the system.

9. The system according to claim 1, comprising a plurality of distributed computing clusters; The report generation module is further configured to, before generating the data report, assign the data report generation task to a corresponding computing cluster according to the characteristics of the data report to be generated, so as to generate the data report through the assigned computing cluster.

10. The system according to claim 9, wherein the characteristics of the data report to be generated include one or more of the following: the number of data sources, the push targets of the data report, and the number of called functions.

11. A data report processing method, applied to a data report processing system, wherein the syntax supported by the system includes the syntax of a markup language and the syntax of a function call extended on the basis of the syntax of the markup language, and the syntax supported by the system is obtained based on the following method: parsing an abstract syntax tree of the markup language, creating a node corresponding to the syntax of the function call on the abstract syntax tree, and obtaining the syntax supported by the system; wherein, Creating nodes corresponding to the calling syntax of each type of function on the abstract syntax tree, respectively, where the calling syntax of different types of functions is different; The step of creating a node corresponding to the syntax of calling the function on the abstract syntax tree comprises: creating nodes on the abstract syntax tree for the calling syntax corresponding to each type of function; wherein the syntax of calling the function allows the use of the called function to define a custom data element and to reference the defined data element; the method comprises: Obtain the edited content input by the user based on the syntax of the markup language; A data report corresponding to the edited content is generated according to the edited content and the function called based on the syntax of the calling function.

12. The method according to claim 11, further comprising: If the user customizes a data element using the called function and references the data element in the edited content, the calculation result of the called function replaces the location in the data report where the data element is referenced.

13. The method according to claim 12, further comprising: If the function called by the user meets the specified conditions, the calculation result in the data report is associated with the specified interaction logic.

14. The method according to claim 13, wherein the specified interaction logic comprises: Based on the user's operation on the calculation result, a trigger is provided to the dialogue robot to send a speech corresponding to the calculation result.

15. The method according to claim 13, wherein the specified conditions include: The function name of the called function is the target function name, and / or the function parameters are the specified function parameters.

16. The method according to claim 11, wherein the actual parameter of the called function is obtained from a data source specified by the user.

17. The method according to claim 11, further comprising: The data report is pushed to the target user through a third-party application connected to the system.

18. The method according to claim 11, wherein the system comprises a plurality of distributed computing clusters, and before generating the data report, the method further comprises: According to the characteristics of the data report to be generated, the task of generating the data report is assigned to the corresponding computing cluster, so that the data report is generated by the assigned computing cluster.

19. The method according to claim 18, wherein the characteristics of the data report to be generated include one or more of the following: the number of data sources, the push targets of the data report, and the number of called functions.

20. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the following method is implemented: Get the edited content entered by the user; Generate a data report corresponding to the edited content according to the syntax supported by the system used in the edited content, wherein the syntax supported by the system includes the syntax of the markup language and the syntax of calling a function extended on the basis of the syntax of the markup language; The syntax supported by the system is obtained based on the following method: parsing the abstract syntax tree of the markup language, creating nodes corresponding to the syntax of calling the function on the abstract syntax tree, and obtaining the syntax supported by the system; wherein, nodes corresponding to the calling syntax of each type of function are respectively created on the abstract syntax tree, and the calling syntax of different types of functions is different; the creation of nodes corresponding to the syntax of calling the function on the abstract syntax tree includes: creating nodes on the abstract syntax tree for the calling syntax corresponding to each type of function; wherein the syntax of calling the function allows the use of the called function to customize data elements and reference the customized data elements.

Citation Information

Patent Citations

  • Method and device for displaying images by utilizing markup language

    CN106886551A

  • Hierarchical syntax tree expressing method

    CN107133027A