Data management system development method, device and server
By receiving the configured background program and total tag configuration files, using MML commands to realize page business logic, and automatically generate pages by the background program, the problem of developers in the existing technology need to write front-end code and realize efficient data management system development.
Patent Information
- Application Number
- CN202010343475.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-04-27
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2040-04-27
AI Technical Summary
In the existing data management system development methods, developers still need to write a certain amount of code on the front-end page, resulting in the development efficiency need to be improved.
By receiving the configured background program and total tag configuration file, the page's business logic is realized using human-computer language (MML) commands, and the background program automatically generates corresponding pages based on the configuration tags, thereby reducing the workload of front-end page development.
It realizes uncoded development of the front-end data management system, reduces the workload of front-end page development, and improves the development efficiency of the data management system.
Smart Images

Figure CN113641344B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of network communications, and in particular to a data management system development method, device and server. Background Art
[0002] With the development of Internet technology, data in all walks of life have shown explosive growth. By developing a data management system, data can be managed and used. For example, data management personnel can use the data management system to register, change, and modify permissions for data information; data users can query and use data through the data management system. The data management system mainly tends to data management, with low requirements for the user interface (UI). The UI page has small and multiple functions and simple business logic. Therefore, the focus of the data management system is on how to achieve efficient and low-cost system development and maintenance. Generally, the World Wide Web (Web) system can be used as a data management system to manage and use data.
[0003] The existing data management system development method can integrate database, front-end and back-end technologies, and highly encapsulate ajax requests, database access operations, permission control, Web display rendering, etc. In actual development, developers only need to configure the table description related to business logic in the database, execute structured query language (SQL), resource uniform resource locator (URL), table fields and page display permissions, and only need to write JSP files according to the preset Java server page (JSP) tag template on the front-end page. The back-end can complete data access or call based on the relevant configuration in the JSP file and database. In this way, the amount of code for Web development can be reduced and development efficiency can be improved.
[0004] However, in the above existing data management system development method, developers still need to write a certain amount of code on the front-end page, and the development efficiency needs to be further improved. Summary of the invention
[0005] The embodiments of the present application provide a data management system development method, device and server, which can reduce the workload of front-end page development and improve the development efficiency of the data management system.
[0006] In a first aspect, an embodiment of the present application provides a data management system development method, which may include: receiving a configured background program and a total tag configuration file. Among them, the background program may include one or more of the following page type programs: a background program corresponding to the list page type, a background program corresponding to the delete page type, and a background program corresponding to the modification page type and the new page type. The total tag configuration file may include one or more of the following configuration tags: a configuration tag for a page corresponding to the list page type, a configuration tag for a page corresponding to the delete page type, a configuration tag for a page corresponding to the modification page type, and a configuration tag for a page corresponding to the new page type. The configuration tag of each page may include at least a Man-Machine Language (MML) command for implementing the business logic of the page, and the execution result after the MML command is executed can be parsed by the corresponding background program.
[0007] In the embodiment of the present application, since the business logic is implemented through MML commands in the configuration tags of each page, and the execution results of the MML commands after being executed can be parsed by the corresponding background program, the background program can automatically generate the corresponding page according to the configuration tags. Therefore, when the developers are developing the data management system, there is no need to write code on the front-end page, and the code-free development of the front-end of the data management system is realized, the workload of the front-end page development is reduced, and the development efficiency of the data management system is improved.
[0008] In some implementations, as described above, the modified page type and the newly added page type may correspond to the same background program. In other implementations, the modified page type and the newly added page type may correspond to different background programs.
[0009] In a possible design, the above-mentioned total tag configuration file includes configuration tags for pages corresponding to the list page type, configuration tags for pages corresponding to the delete page type, configuration tags for pages corresponding to the modify page type, and configuration tags for pages corresponding to the newly added page type, which is merely an exemplary description. In actual implementation, the total tag configuration file may not exist. That is, one or more of the configuration tags for pages corresponding to the list page type, the configuration tags for pages corresponding to the delete page type, the configuration tags for pages corresponding to the modify page type, and the configuration tags for pages corresponding to the newly added page type may also be directly received.
[0010] In another possible design, the data management system development method may further include: according to the access request of the first page, calling the background program corresponding to the page type to which the first page belongs, and executing the MML command contained in the configuration tag of the first page. Parsing the execution result of the MML command to obtain the output parameter of the MML command. At least according to the output parameter of the MML command, generating the page information of the first page.
[0011] In the embodiment of the present application, after completing the configuration of the above-mentioned background program and configuration tags, the configuration tag of the corresponding page is called by the background program, and the page information of the page can be generated according to the configuration tag of the page.
[0012] The page type of the first page may be any one of the list page type, deletion page type, modification page type, and new addition page type as described above.
[0013] In a possible design, the execution result of the MML command that can be parsed by the corresponding background program is in the first format or the second format. The execution result in the first format includes: return code, return code description, return field set, and return field result set. The execution result in the second format includes: return code, return code description, return header field set, return header field result set, return field set, and return field result set. Moreover, the return code in the execution result in the first format corresponds to the return code description; the return code in the execution result in the second format corresponds to the return code description.
[0014] The first format is used when the execution result of the MML command includes only a single-line record or only multiple-line records. The second format is used when the execution result of the MML command includes both a single-line record and multiple-line records.
[0015] For example, the first format may be: return code = .., return code description = .., return field set = ..single-line result field separator.., return field result set = ..single-line result field separator..multi-line result separator..single-line result field separator..multi-line result separator..
[0016] The second format can be: return code = .., return code description = .., return header field set = ..single-line result field separator.., return header field result set = ..single-line result field separator.., return field set = ..single-line result field separator.., return field result set = ..single-line result field separator..multi-line result separator..single-line result field separator..multi-line result separator..
[0017] In the embodiment of the present application, by outputting the execution result of the MML command in the first format or the second format, the execution result of the MML command can be parsed by the background program to generate corresponding page information.
[0018] In a possible design, the MML command may include: basic input parameters for implementing the business logic of the page, one or more of the following input parameters: an escape character control switch and a log printing control switch. The escape character control switch is used to control whether the default field separator in the execution result of the MML command needs to be escaped. The log printing control switch is used to control whether to output log information when executing the MML command.
[0019] In the embodiment of the present application, by adding an escape character control switch to the input parameter of the MML command, the default field separator in the MML command can be escaped when the MML command is executed normally, so as to avoid message parsing confusion when the background program parses the execution result of the MML command. When a problem occurs, the default field separator in the MML command can be escaped, so as to facilitate the debugger to find and locate the problem.
[0020] In addition, by adding a log printing control switch to the input parameters of the MML command, when a problem occurs in the system, the debugger can turn on the log printing control switch so that the MML command can output log information while being executed, so that the debugger can find and locate the problem through the log information.
[0021] In one implementation, when the page type of the page (such as the first page) is a list page type, the configuration tag of the page also includes: a header configuration item, a header separation ratio configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command.
[0022] In a possible design, when the page type to which a page (such as the first page) belongs is a list page type, the configuration tag of the page may also include: a list item number configuration item and a paging control configuration item.
[0023] The list item count configuration item and the paging control configuration item can implement paging processing of page information.
[0024] In another implementation, when the page type to which the page (such as the first page) belongs is a delete page type, the configuration tag of the page further includes: an MML configuration item and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command.
[0025] In another embodiment, when the page type to which the page (such as the first page) belongs is a modification page type, the configuration tag of the page further includes: a page content configuration item, a pre-MML configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command, and the pre-MML configuration item is used to obtain the execution result of the pre-MML command. The execution result after the pre-MML command is executed includes the initial value before the modification.
[0026] In another embodiment, when the page type of the page (such as the first page) is a newly added page type, the configuration tag of the page further includes: a page content configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command.
[0027] In a possible design, each configuration item in the configuration tag of the above page (such as the first page) can be composed of control parameters and / or built-in functions. For example, a configuration item can include control parameters; or, it can include built-in functions; or, it can include control parameters and built-in functions. Among them, the built-in function contains a reference delimiter, and the built-in function can be implemented in a preset program library.
[0028] In a possible design, the built-in functions may include: system-level built-in functions and content-level built-in functions. The system-level built-in functions are used to obtain the system variable values of the server. The content-level built-in functions are used to generate HyperText Markup Language (HTML) codes for form pages in web pages.
[0029] In a possible design, the system-level built-in functions may include: Session class built-in functions, Post class built-in functions, Row class built-in functions, URL class built-in functions, time class built-in functions, and extension class built-in functions.
[0030] In one possible design, content-level built-in functions may include: input box type built-in functions without default values, input box type built-in functions with default values, hidden type built-in functions with default values, text box type built-in functions without default values, text box type built-in functions with default values, and label type built-in functions.
[0031] In a possible design, the access request may be a Uniform Resource Locator (URL) request, which may be used to indicate a background program corresponding to a page type to which a page (such as the first page) belongs, and the page (such as the first page).
[0032] For example, the URL request may include a program identifier of a background program corresponding to the page type to which the first page belongs, and a page identifier of the first page.
[0033] In one embodiment, when the page type to which the first page belongs is a list page type, the above-mentioned generation of page information of the first page at least based on the output parameters of the MML command may include: generating page information of the first page based on the output parameters of the MML command, the header configuration item, the header separation ratio configuration item, the MML configuration item, the login control configuration item, the list item number configuration item, and the paging control configuration item in the configuration tag of the first page.
[0034] In another embodiment, when the page type to which the first page belongs is a deletion page type, generating the page information of the first page at least based on the output parameters of the MML command may include: generating the page information of the first page based on the output parameters of the MML command, the MML configuration items in the configuration tag of the first page, and the login control configuration items.
[0035] In another embodiment, when the page type to which the first page belongs is a modified page type or a newly added page type, before calling the background program corresponding to the page type to which the first page belongs and executing the MML command contained in the configuration tag of the first page, the data management system development method may further include: receiving data to be processed. The above-mentioned calling the background program corresponding to the page type to which the first page belongs and executing the MML command contained in the configuration tag of the first page may include: calling the background program corresponding to the page type to which the first page belongs and executing the MML command contained in the configuration tag of the first page according to the data to be processed.
[0036] In a possible design, before executing the MML command included in the configuration tag of the first page according to the data to be processed, the data management system development method may also include: decrypting the data to be processed.
[0037] For example, if the data to be processed is a POST array value, the POST array value can be decrypted.
[0038] Optionally, the data to be processed corresponds to an input Input tag. Before receiving the data to be processed, the data management system development method may further include: calling a background program corresponding to the page type to which the first page belongs, and determining whether there is a pre-MML configuration value in the pre-MML configuration item in the configuration tag of the first page; if there is a pre-MML configuration value in the pre-MML configuration item, executing the pre-MML command in the configuration tag of the first page, parsing the execution result of the pre-MML command, and obtaining the output parameter of the pre-MML command; and storing the return field and the return field value in the output parameter of the pre-MML command into a public variable; wherein the return field and the return field value in the output parameter of the pre-MML command are the initial values before modification.
[0039] After storing the return field and the return field value in the output parameter of the preceding MML command into the public variable, or if the preceding MML configuration value does not exist in the preceding MML configuration item, generate the HTML tag corresponding to the first page according to the page content configuration item in the configuration tag of the first page. Determine whether the attribute field configured in the page content configuration item matches the return field in the output parameter of the preceding MML command. If the attribute field configured in the page content configuration item matches the return field in the output parameter of the preceding MML command, generate an input (Input) tag and the value of the Input tag according to the HTML tag corresponding to the first page. If the attribute field configured in the page content configuration item does not match the return field in the output parameter of the preceding MML command, generate an Input tag according to the HTML tag corresponding to the first page.
[0040] Optionally, when the page type to which the first page belongs is a modified page type or a newly added page type, the above-mentioned generation of page information of the first page at least based on the output parameters of the MML command may include: generating page information of the first page based on the output parameters of the MML command, the page content configuration items, the MML configuration items, and the login control configuration items in the configuration tag of the first page.
[0041] In a second aspect, an embodiment of the present application provides a data management system development device. The data management system development device may include: a receiving module. The receiving module may be used to receive a configured background program and a total tag configuration file. Among them, the background program includes one or more of the following page type programs: a background program corresponding to the list page type, a background program corresponding to the delete page type, and a background program corresponding to the modification page type and the new page type. The total tag configuration file includes one or more of the following configuration tags: a configuration tag for a page corresponding to the list page type, a configuration tag for a page corresponding to the delete page type, a configuration tag for a page corresponding to the modification page type, and a configuration tag for a page corresponding to the new page type. The configuration tag of each page includes at least an MML command for implementing the business logic of the page, and the execution result after the MML command is executed can be parsed by the corresponding background program.
[0042] In a possible design, the data management system development device may further include: a processing module. The processing module may be used to call a background program corresponding to the page type to which the first page belongs according to an access request of the first page, and execute an MML command contained in the configuration tag of the first page. Parse the execution result of the MML command to obtain the output parameter of the MML command. Generate page information of the first page at least according to the output parameter of the MML command.
[0043] In a possible design, the execution result of the MML command that can be parsed by the corresponding background program is in the first format or the second format. The execution result in the first format includes: return code, return code description, return field set, and return field result set. The execution result in the second format includes: return code, return code description, return header field set, return header field result set, return field set, and return field result set. Moreover, the return code in the execution result in the first format corresponds to the return code description; the return code in the execution result in the second format corresponds to the return code description.
[0044] In a possible design, the MML command may include: basic input parameters for implementing the business logic of the page, one or more of the following input parameters: an escape character control switch and a log printing control switch. The escape character control switch is used to control whether the default field separator in the execution result of the MML command needs to be escaped. The log printing control switch is used to control whether to output log information when executing the MML command.
[0045] In one implementation, when the page type of the page (such as the first page) is a list page type, the configuration tag of the page also includes: a header configuration item, a header separation ratio configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command.
[0046] In a possible design, when the page type to which a page (such as the first page) belongs is a list page type, the configuration tag of the page may also include: a list item number configuration item and a paging control configuration item.
[0047] In another implementation, when the page type to which the page (such as the first page) belongs is a delete page type, the configuration tag of the page further includes: an MML configuration item and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command.
[0048] In another embodiment, when the page type to which the page (such as the first page) belongs is a modification page type, the configuration tag of the page further includes: a page content configuration item, a pre-MML configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command, and the pre-MML configuration item is used to obtain the execution result of the pre-MML command. The execution result after the pre-MML command is executed includes the initial value before the modification.
[0049] In another embodiment, when the page type of the page (such as the first page) is a newly added page type, the configuration tag of the page further includes: a page content configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command.
[0050] In one embodiment, when the page type to which the first page belongs is a list page type, the processing module can be specifically used to generate page information of the first page based on the output parameters of the MML command, the header configuration item, the header separation ratio configuration item, the MML configuration item, the login control configuration item, the list item number configuration item, and the paging control configuration item in the configuration tag of the first page.
[0051] In another implementation, when the page type to which the first page belongs is a deletion page type, the processing module may be specifically configured to generate page information of the first page according to output parameters of the MML command, MML configuration items in the configuration tag of the first page, and login control configuration items.
[0052] In another embodiment, when the page type to which the first page belongs is a modified page type or a newly added page type, the processing module can be specifically used to receive a POST array value of the data to be processed; call the background program corresponding to the page type to which the first page belongs, and execute the MML command contained in the configuration tag of the first page according to the POST array value.
[0053] In a possible design, when the page type to which the first page belongs is a modified page type or a newly added page type, the processing module can also be used to call the background program corresponding to the page type to which the first page belongs, and determine whether there is a pre-MML configuration value in the pre-MML configuration item in the configuration tag of the first page. If there is a pre-MML configuration value in the pre-MML configuration item, the pre-MML command in the configuration tag of the first page is executed. The execution result of the pre-MML command is parsed to obtain the output parameter of the pre-MML command. And the return field and the return field value in the output parameter of the pre-MML command are stored in a public variable. Among them, the return field and the return field value in the output parameter of the pre-MML command are the initial values before modification. And, it is used to generate the HTML tag corresponding to the first page according to the page content configuration item in the configuration tag of the first page. Determine whether the attribute field configured in the page content configuration item matches the return field in the output parameter of the pre-MML command. If the attribute field configured in the page content configuration item matches the return field in the output parameter of the pre-MML command, then according to the HTML tag corresponding to the first page, generate the input Input tag and the value of the Input tag. If the attribute field configured in the page content configuration item does not match the return field in the output parameter of the preceding MML command, an Input tag is generated according to the HTML tag corresponding to the first page.
[0054] Optionally, when the page type of the first page is a modified page type or a newly added page type, the processing module can also be used to generate page information of the first page according to the output parameters of the MML command, the page content configuration items, the MML configuration items, and the login control configuration items in the configuration tag of the first page.
[0055] In a third aspect, an embodiment of the present application provides a server. The server may include: a processor and a memory. The processor and the memory are connected via a bus, and computer instructions are stored in the memory. When the server is running, the processor executes the computer instructions in the memory to implement the data management system development method as described in the first aspect.
[0056] In a fourth aspect, an embodiment of the present application provides a data management system. The data management system may include a server and a terminal that are communicatively connected to each other.
[0057] The server can be used to execute the data management system development method as described in the first aspect. For example, the server can receive a configured background program and a total tag configuration file. Among them, the background program can include one or more of the following page type programs: a background program corresponding to the list page type, a background program corresponding to the delete page type, and a background program corresponding to the modification page type and the new page type. The total tag configuration file can include one or more of the following configuration tags: a configuration tag for a page corresponding to the list page type, a configuration tag for a page corresponding to the delete page type, a configuration tag for a page corresponding to the modification page type, and a configuration tag for a page corresponding to the new page type. The configuration tag of each page can include at least an MML command for implementing the business logic of the page, and the execution result after the MML command is executed can be parsed by the corresponding background program.
[0058] The terminal can send an access request for the first page to the server. The page type of the first page can be any one of a list page type, a delete page type, a modify page type, and a new page type. Based on the received access request for the first page, the server calls the background program corresponding to the page type to which the first page belongs, and executes the MML command contained in the configuration tag of the first page. The execution result of the MML command is parsed to obtain the output parameters of the MML command. At least based on the output parameters of the MML command, the page information of the first page is generated, and the page information of the first page is sent to the terminal. The terminal presents the page information of the first page.
[0059] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium may store computer instructions, and when the computer instructions are executed by a processor, the data management system development method as described in the first aspect or any of the possible designs of the first aspect may be implemented.
[0060] In a sixth aspect, an embodiment of the present application further provides a computer program product, which, when executed, can implement the data management system development method as described in the first aspect.
[0061] In the seventh aspect, an embodiment of the present application also provides a chip system, which is applied to a server as described in any one of the third aspect and any possible designs of the third aspect; the chip system includes one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through lines; the processor receives and executes computer instructions from the memory of the electronic device through the interface circuit.
[0062] It can be understood that the beneficial effects that can be achieved by the server described in the third aspect and any possible design thereof, the data management system described in the fourth aspect, the computer-readable storage medium described in the fifth aspect, the computer program product described in the sixth aspect, and the chip system described in the seventh aspect can be referred to as the beneficial effects in the first aspect and any possible design thereof, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 A schematic diagram of the composition of a data management system provided in an embodiment of the present application is shown;
[0064] Figure 2 A schematic diagram of the composition of a server provided in an embodiment of the present application is shown;
[0065] Figure 3 A schematic diagram of a process for developing a data management system provided by an embodiment of the present application is shown;
[0066] Figure 4 A schematic diagram showing a website URL provided in an embodiment of the present application;
[0067] Figure 5 A schematic diagram showing the composition of a tag control system provided in an embodiment of the present application is shown;
[0068] Figure 6 A schematic diagram showing the implementation process of a list page type page provided in an embodiment of the present application is shown;
[0069] Figure 7 A schematic diagram of an implementation flow of deleting a page of a page type provided in an embodiment of the present application is shown;
[0070] Figure 8 A schematic diagram of the implementation process of modifying a page type and adding a new page type provided in an embodiment of the present application is shown;
[0071] Fig. 9 A schematic diagram showing page information provided by an embodiment of the present application;
[0072] Fig.10 Another schematic diagram showing page information provided by an embodiment of the present application;
[0073] Fig.11 A schematic diagram of the structure of a data management system development device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0074] In order to realize efficient and low-cost system development and maintenance of data management system, the prior art can integrate the database, front-end and back-end technologies of the data management system, highly encapsulate ajax requests, database access operations, authority control, Web display effect rendering, etc., so that when developers actually develop front-end pages, they only need to configure the table description related to business logic in the database, execute structured query language (SQL), resource uniform resource locator (URL), table fields and page display permissions, and only need to write JSP files according to the preset Java server page (JSP) tag template on the front-end page. The back-end server can complete data access or call according to the relevant configuration in the JSP file and the database. Thus, the amount of code for Web development can be reduced and development efficiency can be improved.
[0075] However, in the above data management system development method, developers still need to write a certain amount of code to develop JSP files on the front-end page, so the development efficiency needs to be further improved.
[0076] Based on this, the embodiment of the present application provides a data management system development method, which can divide the pages into the following four types according to the main functions that different pages need to implement (such as querying, deleting, modifying or adding information): list page type, delete page type, modify page type and add page type. Then, you can configure the background program corresponding to the list page type, the background program corresponding to the delete page type, the background program corresponding to the modify page type and the add page type, and the configuration tag of each page.
[0077] Among them, the configuration tag of each page can at least include an MML command for implementing the business logic of the page. That is, in the configuration tag of each page, the business logic of the page interacting with the background can be implemented through the MML command. The execution result after the MML command is executed can be parsed by the corresponding background program. For example, if the page belongs to the list page type, the MML command in the configuration tag of the page can be executed by the background program corresponding to the list page type. The execution result after execution can be parsed by the background program corresponding to the list page type.
[0078] After completing the above configuration, when a first page needs to be generated, the background program corresponding to the page type to which the first page belongs can be called to execute the MML command contained in the configuration tag of the first page. The execution result of the MML command is parsed to obtain the output parameter of the MML command. Then, the page information of the first page can be generated at least according to the output parameter of the MML command.
[0079] MML commands mean that users can operate computers by calling a series of command line instructions, and users can interact with computers through the return results of MML commands (the return message after the computer executes the MML commands). The data management system development method implements the business logic of each front-end page and the background through MML commands, so that developers do not need to write code on the front-end page when developing the data management system, thereby realizing code-free development of the front-end of the data management system, reducing the workload of front-end page development, and thus improving the development efficiency of the data management system.
[0080] The following is an exemplary description of the data management system development method provided in the embodiment of the present application:
[0081] First, the application scenarios of the embodiments of the present application are introduced:
[0082] Figure 1 A schematic diagram of the composition of a data management system provided in an embodiment of the present application is shown.
[0083] like Figure 1 As shown, the data management system of the embodiment of the present application may include: a server 110, a terminal 120 and a database 130. The server 110 may establish a communication connection with the terminal 120 via a wired network or a wireless network.
[0084] The server 110 may be a web server, such as a website server, an application server, etc. The server 110 may receive a data access request sent by the terminal 120, and access the data stored in the database 130 according to the data access request. For example, the server 110 may query the data stored in the database 130, or modify or delete the data in the database 130, or add new data to the database 130, etc.
[0085] In some embodiments, the server 110 may be a single server, or a server cluster consisting of multiple servers, or a cloud server, etc. In some implementations, the server cluster may also be a distributed cluster. The present application does not limit the specific implementation of the server 110.
[0086] Optionally, the terminal 120 may be a personal smart device such as a mobile phone or a tablet computer, or may be a laptop computer, a desktop computer, a television, or other devices. Taking the terminal 120 as a computer as an example, a browser may be installed on the computer. Developers, data managers, ordinary access users, etc. may send data access requests to the server 110 through a browser, and the server may respond to the data access request sent by the browser and access the data in the database 130. However, it should be noted that the embodiment of the present application does not limit the specific type of the terminal 120.
[0087] In some implementations, the database 130 may be independently configured from the server 110. For example, the database 130 may be an independently configured data server, and the server 110 and the database 130 may be connected via a network to implement operations such as access, call, and management of data in the database 130. Alternatively, in some other implementations, the database 130 may also be integrated into the server 110 and configured as a whole with the server 110, and this application is not limited to this as well.
[0088] The data management system development method provided in the embodiment of the present application can be applied to Figure 1 In the server of the data management system shown.
[0089] Figure 2 FIG. 1 shows a schematic diagram of the composition of a server provided in an embodiment of the present application. Figure 2 As shown, the server may include: at least one processor 21 , a memory 22 , a communication interface 23 , and a bus 24 .
[0090] Combine the following Figure 2 A detailed introduction to each component of the server:
[0091] The processor 21 is the control center of the server, which can be a processor or a general term for multiple processing elements. For example, the processor 21 is a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, such as one or more microprocessors (Digital Signal Processor, DSP), or one or more field programmable gate arrays (Field Programmable Gate Array, FPGA).
[0092] The processor 21 can execute various functions of the server by running or executing software programs stored in the memory 22 and calling data stored in the memory 22.
[0093] In a specific implementation, as an embodiment, the processor 21 may include one or more CPUs, such as Figure 2 CPU0 and CPU1 are shown in the figure.
[0094] In a specific implementation, as an embodiment, the server may include multiple processors, such as Figure 2 21 and processor 25 shown in FIG. Each of these processors may be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0095] The memory 22 is used to store the software program for executing the scheme of the present application, and is controlled by the processor 21 to execute. The memory 22 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. The memory 22 can exist independently and be connected to the processor 21 through the bus 24. The memory 22 can also be integrated with the processor 21.
[0096] The communication interface 23 uses any transceiver-like device for communicating with other devices or communication networks, such as an Ethernet interface, a Radio Access Network (RAN) interface, a Wireless Local Area Networks (WLAN) interface, etc. The communication interface 23 may include a receiving unit to implement a receiving function, and a sending unit to implement a sending function.
[0097] The bus 24 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 2 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0098] Figure 3 The flowchart of the data management system development method provided by the embodiment of the present application is shown. Figure 3 As shown, the data management system development method may include:
[0099] S301, receiving a configured background program and a total tag configuration file.
[0100] Among them, the background program includes one or more of the following page type programs: a background program corresponding to the list page type, a background program corresponding to the delete page type, and a background program corresponding to the modification page type and the new page type. The total tag configuration file may include one or more of the following configuration tags: a configuration tag of a page corresponding to the list page type, a configuration tag of a page corresponding to the delete page type, a configuration tag of a page corresponding to the modification page type, and a configuration tag of a page corresponding to the new page type. The configuration tag of the page may at least include an MML command for implementing the business logic of the page, and the execution result of the MML command after being executed can be parsed by the corresponding background program.
[0101] Optionally, in an embodiment of the present application, pages can be divided into different page types according to the main functions that different pages need to implement. Page types may include: list page type, delete page type, modify page type, and add page type. For example, a page that implements a data query function can be divided into a list page type; a page that implements a data deletion function can be divided into a delete page type; a page that implements a data modification function can be divided into a modify page type; and a page that implements a data addition function can be divided into a add page type.
[0102] For each page type, developers can pre-write the background program corresponding to each page type, and configure the background programs corresponding to different page types in the server.
[0103] For example, the Hypertext Preprocessor (PHP) language can be used to write PHP programs corresponding to the list page type, delete page type, modify page type and add page type as background programs. The background program corresponding to the list page type can be "fm-list.php"; the background program corresponding to the delete page type can be "fm-del.php"; the background program corresponding to the modify page type can be "fm-mod.php"; the background program corresponding to the add page type can be "fm-add.php".
[0104] For each page of any page type, its corresponding business logic can be implemented through MML commands. Among them, business logic refers to the operation logic performed by the server on the data in the database, that is, business logic is the logic of the server processing data. When a developer needs to develop a page, he can write the MML command of the business logic corresponding to the page according to the business logic that needs to be implemented on the page, and generate the configuration tag of the page in combination with the MML command of the business logic corresponding to the page.
[0105] When configuring the configuration tags of each page to the server, the configuration tags of different pages can be stored in a general tag configuration file, and then the general tag configuration file can be configured in the server. Alternatively, the configuration tags of each page can be configured in the server separately, and there is no limitation on this.
[0106] Optionally, for a page to be developed, the developer can configure other configuration items for implementing the page function together with the MML command of the business logic corresponding to the page in the server. Other configuration items for implementing the page function and the MML command of the business logic corresponding to the page can together constitute the configuration tag of the page.
[0107] As described above, the embodiment of the present application can divide the pages into four types of page types: list page type, delete page type, modify page type and add page type according to the main functions that different pages need to implement. The following takes a first page as an example to illustrate the configuration tags of pages of different page types:
[0108] 1) List page type
[0109] When the page type to which the first page belongs is a list page type, in the configuration tag of the first page, other configuration items may include at least: a header configuration item, a header separation ratio configuration item, an MML configuration item, and a login control configuration item.
[0110] The header configuration item is the content displayed in the header of the first page of the list page type. For example, it can be "name", "age", "class", etc. The header separation ratio configuration item is the percentage of each column in the header of the first page of the list page type. When not configured, each column is divided into equal lengths by default. For example: when configured as 25|25|25|25, it means that each column only occupies 25% of the total page length. The MML configuration item is the actual content that needs to be displayed in each column of the first page of the list page type. The content can be generated by reading the field value in the MML return message after executing the MML command. For example: when configured as attr=user|pass, the value corresponding to attr=user|pass in the MML return message can be directly displayed. The login control configuration item can be used to control whether it is necessary to detect whether the user (ordinary access user, the same below) has logged in to the system before displaying the list information on the first page. For example, some list information may only be viewed by users logged in to the system.
[0111] Optionally, when the page type to which the first page belongs is a list page type, the configuration tag of the first page may also include: a list item number configuration item and a paging control configuration item. Among them, the list item number configuration item is the number of records displayed on each page of the list. For example: if there are 50 pieces of information in total, if this item is configured as 10, only 5 pages will be displayed, and if it is configured as 5, 10 pages will be displayed. The paging control configuration item is a control switch for whether to display paging on the list page, which is mainly used for displaying data in different views. For example, when a data manager opens the page, all list information needs to be displayed, and when an ordinary access user opens the page, only one page of list information is displayed.
[0112] Assuming that the identifier of the header configuration item is "head", the identifier of the header separation ratio configuration item is "split", the identifier of the MML configuration item is "attr", the identifier of the number of list items configuration item is "size", the identifier of the login control configuration item is "lg", and the identifier of the paging control configuration item is "bar", the configuration tags of the list page type page can refer to the following example:
[0113] {#PID}.MML=C8 QRY SG:t=mytable,a=`name|age`,c=`username=%SessUser()%order by ID desc`;
[0114] {#PID}.Var=`head=State|Date,split=50|50,attr=state|rdate,size=8,bar=1,lg=1`.
[0115] 2) Delete page type
[0116] When the page type to which the first page belongs is a deletion page type, the configuration tag of the first page may at least include: an MML configuration item and a login control configuration item.
[0117] The MML command can be used to control that when the user clicks the delete button, the background program corresponding to the delete page type can execute the MML command in the configuration tag of the first page to delete the database entry. The MML configuration item can be used to obtain the execution result of the MML command. The login control configuration item can also be used to control whether it is necessary to detect whether the user has logged in to the system.
[0118] Assuming that the identifier of the login control configuration item is "lg", the configuration tag of the page of the deleted page type can refer to the following example:
[0119] {#PID}.MML=C8 DEL SG:t=test,a=``,c=`ID=%KeyID()%`;
[0120] {#PID}.Var=`lg=0`.
[0121] 3) Modify the page type
[0122] When the page type to which the first page belongs is a modification page type, the configuration tag of the first page may further include at least: a page content configuration item, a pre-MML configuration item, a pre-MML command, an MML configuration item, and a login control configuration item.
[0123] The page content configuration item can be composed of multiple content-level tag built-in functions. For example, %mtxt(user name)%|%mtxt(password)%. The MML command can be used to control when the user fills in the web page information column and clicks the submit button, the background program corresponding to the modified page type can execute the MML command to add or modify the database. The MML configuration item can also be used to obtain the execution result of the MML command. The pre-MML configuration item can be used to control the background program corresponding to the modified page type to execute the pre-MML command and read the original value before the modification. The login control configuration item can also be used to control whether it is necessary to detect whether the user has logged in to the system.
[0124] Assuming that the identifier of the page content configuration item is "cont", the identifier of the MML configuration item is "m", the identifier of the front MML configuration item is "mhead", and the identifier of the login control configuration item is "lg", the configuration tag of the page for modifying the page type can refer to the following example:
[0125] {#PID}.Cont = %mhdn(username, ID)% | %mtxt(password, pass)%;
[0126] {#PID}.MML=[m]C8 MOD USER:ID|pass[@m][mhead]C8 QRY SG:t=test,a=`ID|pass`,c=`ID=%KeyID()%`[@mhead];
[0127] {#PID}.Var=`lg=0`.
[0128] 4) Add new page types
[0129] When the page type to which the first page belongs is a newly added page type, the configuration tag of the first page is substantially the same as the configuration tag of the page of the modified page type. The difference is that the configuration tag of the first page does not contain the pre-MML command, and there is no need to configure the value of the pre-MML configuration item, that is, there is no need to query the database first to read the original initial value of the item to be modified.
[0130] Also assuming that the identifier of the page content configuration item is "cont", the identifier of the MML configuration item is "m", the identifier of the front MML configuration item is "mhead", and the identifier of the login control configuration item is "lg", the configuration tags of the newly added page type can refer to the following example:
[0131] {#PID}.Cont = %mhdn(user name)% | %mtxt(password)%;
[0132] {#PID}.MML=[m]C8 MOD USER:ID|pass[@m][mhead][@mhead];
[0133] {#PID}.Var=`lg=0`.
[0134] It is understandable that the embodiment of the present application divides the pages into four types: list page type, delete page type, modify page type and add page type, but each page type can have multiple different interfaces. For example, the page of the list page type can include: user list page, signature table page, etc.
[0135] After receiving the configured background program and the general tag configuration file and completing the configuration of the background program and the configuration tag of the page, the server can generate the corresponding page according to the background program and the configuration tag of the page. For example, the data management system development method can also include the following steps S302 to S304.
[0136] S302: According to an access request of the first page, a background program corresponding to the page type to which the first page belongs is called to execute an MML command included in a configuration tag of the first page.
[0137] Optionally, the access request may be a URL request, and the URL request may be used to indicate a background program corresponding to a page type to which the first page belongs, and the first page.
[0138] For example:
[0139] When the server completes the configuration of the configuration tags of the pages corresponding to different page types as described in the aforementioned step S301, if the user needs to access a certain website page, the user can enter the URL of the website to be accessed in the browser of the terminal, and the terminal can send a URL request to the server corresponding to the website according to the server domain name in the website URL entered by the user in the browser.
[0140] Figure 4 A schematic diagram of a website URL provided in an embodiment of the present application is shown.
[0141] like Figure 4 As shown, assuming that the website URL is: http: / / www.aaa.com / fm-3? PID=USERLIST. Wherein, www.aaa.com represents the server domain name corresponding to the website. fm-3 represents the background program corresponding to the page type to which the first page to be accessed belongs. PID=USERLIST represents the page identifier of the first page.
[0142] After receiving the URL request, the server can know that the page identifier of the first page indicated by the URL request is USERLIST, and the background program corresponding to the page type to which the first page belongs is fm-3. Then, the server can call the background program fm-3 according to the URL request, read the configuration tag of the page with the page identifier USERLIST, and execute the MML command contained in the configuration tag of the page of USERLIST to obtain an MML return message.
[0143] S303: Analyze the execution result of the MML command to obtain the output parameters of the MML command.
[0144] S304: Generate page information of the first page at least according to the output parameters of the MML command.
[0145] The execution result of the MML command is the MML return message described in the relevant description of step S302. Parsing the execution result of the MML command and obtaining the output parameter of the MML command means: parsing the MML return message and obtaining the output parameter in the MML return message. The output parameter can be a return field, a return field value, etc. in the MML return message.
[0146] When the server calls the background program corresponding to the page type to which the first page belongs through step S302, executes the MML command contained in the configuration tag of the first page, and obtains the MML return message, the execution result of the MML command can be parsed to obtain the output parameters of the MML command. Then, according to the output parameters of the MML command and other configuration items in the configuration tag of the first page, the page information of the first page is generated.
[0147] The server can send the page information of the generated first page to Figure 1 The terminal in the data management system shown can display the received page information.
[0148] Taking the page USERLIST of the list page type as an example, the server can execute the MML command contained in the configuration tag of the page USERLIST to obtain the MML return message. And according to the header configuration item, header separation ratio configuration item, MML configuration item, login control configuration item in the configuration tag of the page USERLIST, and the output parameters in the MML return message, the page information of the page USERLIST is generated.
[0149] It should be noted that in the traditional MML command, the debugger can open the background console and enter the MML command to perform back-end management of various gateways, such as adding gateways, adding IPs, and viewing information. In this process, the output of the traditional MML command is only information echo to indicate whether the MML command is executed successfully or not, and its output information is not used for interaction with other programs.
[0150] In the embodiment of the present application, since the execution result of the MML command (that is, the output of the MML command, or the MML return message) needs to be parsed by the background program corresponding to different page types to generate the corresponding page, when the developer configures the configuration tag of each page in the server, it is also necessary to transform the MML command of the business logic corresponding to each page, and transform the execution result of the MML command into a preset format containing fixed fields, so that the background program corresponding to different page types can parse the execution result of the MML command.
[0151] Specifically, the format of the execution result of the MML command can be fixed to the following first format or second format. The execution result of the first format includes: return code, return code description, return field set, return field result set. The execution result of the second format includes: return code, return code description, return header field set, return header field result set, return field set, return field result set. Moreover, the return code in the execution result of the first format corresponds to the return code description; the return code in the execution result of the second format corresponds to the return code description.
[0152] For example, the first format may be: return code = .., return code description = .., return field set = ..single-line result field separator.., return field result set = ..single-line result field separator..multi-line result separator..single-line result field separator..multi-line result separator..
[0153] The second format can be: return code = .., return code description = .., return header field set = ..single-line result field separator.., return header field result set = ..single-line result field separator.., return field set = ..single-line result field separator.., return field result set = ..single-line result field separator..multi-line result separator..single-line result field separator..multi-line result separator..
[0154] Among them, the return code, return code description, return header field set, return field set, return field result set, etc. are all output parameters after the MML command is executed. ".." indicates the actual value of the output parameter. For example, the ".." after the return code indicates the value of the return code.
[0155] The correspondence between the return code and the return code description means that a return code description is only used to explain its corresponding return code. For example, if there are return code 1 and return code 2, return code description 1 and return code description 2, then return code description 1 is only used to explain return code 1, and return code description 2 is only used to explain return code 2.
[0156] The main difference between the usage scenarios of the first format and the second format is that the first format can be used to return only a single row of records or only multiple rows of records; while the second format can be used to return both multiple rows of records and a single row of records. For example, when you need to return a control field flag in the system table and return the gender and score in the student table at the same time, you can use the second format. When you only need to return the system name and system status in the system table, you can use the first format.
[0157] Assuming that in the above first format and second format, the single-line result field separator is represented by "|", and the multi-line result separator is represented by "&", the first format and the second format can be as follows:
[0158] First format: return code = .., return code description = .., return field set = ..|.., return field result set = ..|..&..|..&.
[0159] Second format: return code = .., return code description = .., return header field set = ..|.., return header field result set = ..|.., return field set = ..|.., return field result set = ..|..&..|..&.
[0160] In summary, the embodiment of the present application can receive a configured background program and a total tag configuration file. Among them, the background program includes one or more of the following page type programs: a background program corresponding to the list page type, a background program corresponding to the delete page type, and a background program corresponding to the modification page type and the new page type. The total tag configuration file includes one or more of the following configuration tags: a configuration tag for a page corresponding to the list page type, a configuration tag for a page corresponding to the delete page type, a configuration tag for a page corresponding to the modification page type, and a configuration tag for a page corresponding to the new page type. The configuration tag of the page can at least include a human-machine language MML command for implementing the business logic of the page, and the execution result of the MML command after being executed can be parsed by the corresponding background program. Since the business logic is implemented by the MML command in the configuration tag of each page, and the execution result of the MML command after being executed can be parsed by the corresponding background program, the corresponding page can be automatically generated according to the configuration tag. It can enable developers to develop data management systems without having to write code on the front-end page, and can realize the codeless development of the front-end of the data management system, reduce the workload of front-end page development, and thus improve the development efficiency of the data management system.
[0161] In addition, in the embodiment of the present application, the background program corresponding to the list page type, the background program corresponding to the delete page type, and the background program corresponding to the modify page type and the new page type only need to be configured once. When a new page needs to be developed later, it is only necessary to configure the configuration tag of the page in the server. The configured background program can call the configuration tag in the manner of the aforementioned page generation to generate the corresponding page. Therefore, the data management system development method provided by the present application further reduces the amount of code written by developers, and at the same time, the separation of the front and back ends is also achieved.
[0162] Optionally, the development of MML commands can be implemented using multiple languages, such as C language, C++ language, JAVA language, PYTHON language, GO language, etc., so as to facilitate the organization of developers with different skills and speed up the development of data management systems.
[0163] Optionally, in an embodiment of the present application, when the developer configures the configuration tag of each page in the server, he can also add an escape character control switch to the input parameter of the MML command of the business logic corresponding to each page. The escape character control switch can be used to control whether the default field separator in the execution result of the MML command needs to be escaped.
[0164] The default field separator refers to the system default message separator.
[0165] For example:
[0166] The execution result of a normal MML command can be as follows:
[0167] root@NKG1000136181:~ / SMCP / JMML#. / JMML2 C8 QRY
[0168] SG:t=test.tes,a="ID|pass";
[0169] Retn='0', Des='Success', Attr='ID|pass', Result='6|mypass1&7|mypass2&'.
[0170] Among them, the MML command is "C8 QRY SG:t=test.test,a=`ID|pass`". "C8 QRY SG" is the name of the MML command, "t" and "a" are the input parameter names of the MML command respectively. "test.test" and "`ID|pass`" are the input parameter values. "JMML2" is the background program that calls the MML command. Each MML command can be called through the "JMML2" program. Of course, it can be understood that the aforementioned "t", "a", etc. are the basic input parameters of the MML command.
[0171] "Retn = '0', Des = 'Success', Attr = 'ID|pass', Result = '6|mypass1&7|mypass2&'" is the return message of the MML command. Among them, "Retn" is the return code, "Des" is the return code description, "Attr" is the return field, and "Result" is the return field result. The return message of the MML command contains 2 lines of data, and "&" is the delimiter of a single-line message.
[0172] In the return field Attr, ID and Pass are separated by the message separator "|". In the return field Result, "&" is the message separator for multi-line return messages. It can be seen that the return message itself contains system default message separators such as "|" and "&". If the return field value also contains such separators, such as "mypass1" becomes "mypass&1", the return message format will be disordered, causing the background program to fail to parse normally.
[0173] By escaping the system default message separator in the return message, that is, escaping the system default message separator such as "|" and "&", the background program can parse the return message normally. For example, the system default message separator can be escaped into a combination of 4 to 5 extremely rare characters that are almost never entered by users. The background program only needs to split the message according to these extremely rare characters to parse the value of the return field normally without causing confusion in message parsing.
[0174] Assume that the escape character control switch is represented as "DEBUG"; when "DEBUG" is in the default value, it means that the escape character control switch is turned on, and the default field separator in the execution result of the MML command can be escaped. When "DEBUG" is not in the default value, it means that the escape character control switch is turned off, and the default field separator in the execution result of the MML command is not escaped.
[0175] For example, the default value of DEBUG is 0, and the value is 1 when it is not in the default value:
[0176] The execution result of the escaped MML command can be as follows:
[0177] root@NKG1000136181:~ / SMCP / JMML#. / JMML2 C8 QRY
[0178] SG:t=test.test,a="ID|pass",DEBUG=0;
[0179] Retn='0', Des='Success', Attr='ID|pass', Result='6..h! ..mypass1..h7..7..h! ..mypass2..h7..'.
[0180] When "DEBUG" is set to 0, the "|" in the return message is escaped to "..h!..", and the "&" is escaped to "..h7..". At this time, when the background program parses the return message, it will not fail to parse due to the disordered format of the return message.
[0181] The execution result of the MML command without escaping can be as follows:
[0182] root@NKG1000136181:~ / SMCP / JMML#. / JMML2 C8 QRY
[0183] SG:t=test.test,a="ID|pass",DEBUG=1;
[0184] Retn='0', Des='Success', Attr='ID|pass', Result='6|mypass1&7|mypass2&'.
[0185] When DEBUG is set to 1, the system default message separators "|" and "&" are used in the returned message without escaping them.
[0186] It should be noted that when the data management system is running normally and the server is executing MML commands normally, the escape character control switch ("DEBUG") remains in the default value state, and the system default message separator in each MML return message is escaped. Only when there is a problem with the data management system and the debugger needs to perform manual background debugging, the debugger will set the escape character control switch to a non-default value.
[0187] For example, when a problem occurs in the data management system, when the debugger manually enters the MML command in the background, if the return field contains escape characters, it will affect the debugger's reading of the MML return message. Therefore, it is necessary to restore the system's default message separator to "|" and "&".
[0188] In some embodiments, when developers configure the configuration tags of each page in the server, they can also add a log printing control switch to the input parameters of the MML command of the business logic corresponding to each page. The log printing control switch can be used to control whether to output log information when executing the MML command. For example, if the log printing control switch is turned on, log information will be output when the MML command is executed; if the log printing control switch is turned off, log information will not be output when the MML command is executed.
[0189] By outputting log information when executing MML commands, it is easy to locate and find problems when there are data problems in the data management system. However, if log information is output frequently, it will affect system performance. Therefore, it can be controlled by adding a log printing control switch.
[0190] For example:
[0191] Assume that the log printing control switch is represented as "SETLOG"; when "SETLOG" is in the default value, it means that the log printing control switch is turned off, and no log information is output when the MML command is executed. When "SETLOG" is not in the default value, it means that the log printing control switch is turned on, and log information can be output when the MML command is executed.
[0192] The execution result of the MML command when the log printing control switch is turned on can be as follows:
[0193] root@NKG1000136181:~ / SMCP / JMML#. / JMML2 C8 QRY
[0194] SG:t=test.test,a="ID|pass",STLOG=1;
[0195] [func]getpara[para]paraName:MYSQL;
[0196] [func]trigMML[para]cmd:C8_QRY_SG|para:
[0197] t=test.test,a=ID|pass,SETLOG=1,DEBUG=1;
[0198] [func]getpara[para]paraName:1;
[0199] [func]getpara[para]paraName:t;
[0200] [func]getpara[para]paraValue:test.test;
[0201] [func]getpara[para]paraName:a;
[0202] [func]getpara[para]paraValue:ID|pass;
[0203] [func]getpara[para]paraName:c;
[0204] [func]qrydb[para]sql:select concat(ID,'|',pass)from test.test;
[0205] Retn='0',Des='Success',Attr='ID|pass',Result='6|mypass1&7|mypass2&'。
[0206] When a problem occurs in the data management system and backend debugging is required, the debugger can set SETLOG to 1 (the default value of SETLOG is 0) and turn on the log printing control switch. Then, when the MML command is executed, the log information in the MML execution process will be printed. For example, the log information may include: SQL execution records, function entry parameters, etc. The debugger can determine the cause of the problem by judging whether the SQL execution record is complete, whether it is written incorrectly, whether it meets the functional requirements, the SQL execution efficiency, etc., so as to realize problem location and analysis by manually calling the MML command in the background. After returning to normal, the debugger can restore SETLOG to the default value (0) and turn off the log printing control switch to improve the execution efficiency of the MML command.
[0207] Optionally, for the first page in any page type, each configuration item and / or MML command in the configuration tag of the first page may be composed of control parameters and / or built-in functions.
[0208] Among them, the control parameters can be used to control the specific types of MML commands or different configuration items in the configuration tags of pages of different page types. Taking the list page type page as an example, the control parameters may include: "bar" parameter, "size" parameter, etc. The "bar" parameter is located in the paging control configuration item, and can be used to control whether the list needs to be paginated. The "size" parameter is located in the list item number configuration item, and can be used to control how many lines of content the list page displays before paging. Of course, the control parameters of the list page type page are not limited to the "bar" parameter and the "size" parameter, and may include more, which will not be repeated here.
[0209] It should be noted that, in the embodiment of the present application, the control parameters of pages corresponding to different page types may be different or partially the same.
[0210] Composed of control parameters and / or built-in functions means: it can be composed of control parameters only, or it can contain both control parameters and built-in functions. Taking MML commands as an example, some MML commands can contain built-in functions. When the MML command needs to be executed, the built-in function contained in the MML command needs to be parsed first. The MML command can be executed only after the complete MML command is obtained according to the parsing result of the built-in function.
[0211] The following is a description of the built-in functions:
[0212] In the embodiment of the present application, the built-in function may include: a system-level built-in function and a content-level built-in function. The system-level built-in function may be used to obtain the system variable value of the server. The content-level built-in function may be used to generate the HyperText Markup Language (HTML) code of the form page in the web page.
[0213] Built-in functions can be mainly used to dynamically expand the content of configuration tags. For example, when the current system time needs to be displayed, if only the current time is configured as "2019-12-10 12:12:12" in the configuration tag, then each subsequent page opening will only display this time, and the current system time cannot be dynamically displayed according to the page opening time. If you use the system-level built-in function of the date class, you only need to add the "% Datetime()%" tag to the configuration tag. When the background program encounters the "% Datetime()%" tag when parsing the configuration tag, it will automatically replace the generated system current time, thereby ensuring that the displayed time can be refreshed in real time each time the page is opened.
[0214] In the embodiment of the present application, the built-in function may have a quote delimiter. Specifically, since the built-in function is mixed with other contents in the configuration tag, only the built-in function with a quote delimiter can the background program identify the built-in function according to the quote delimiter during parsing, and dynamically expand according to the different meanings of the built-in function. For example, the built-in function may have a quote delimiter "%" before and after.
[0215] Optionally, the built-in function can be implemented through a background program library. For example, the server can also be preset with a background program library for supporting the call of the built-in function. Background programs of different page types can all load the background program library. When encountering a built-in function that needs to be parsed, the corresponding program block in the background program library can be directly called to complete the function implementation, that is, complete the parsing of the built-in function content.
[0216] Optionally, those skilled in the art can also expand and add built-in functions as needed. For example, when the system needs to frequently print "YMD" type dates, a "% Date()%" built-in function can be customized in the configuration tag, and a corresponding program block for implementing the function of printing "YMD" type dates can be added in the background program library.
[0217] Optionally, the built-in function may also have other parameters. For example, "% Datetime ( / ) %" with the parameter " / " may indicate that the output time format is "2019 / 12 / 12 12:12:12"; "% Datetime (-) %" with the parameter "-" may indicate that the output time format is "2019-12-12 12:12:12", etc. Of course, in some implementations, "% Datetime () %" without parameters may also implement the % Datetime (-) % function by default, and this application does not limit this.
[0218] Optionally, the above system-level built-in functions may include: Session class built-in functions, Post class built-in functions, Row class built-in functions, URL class built-in functions, time class built-in functions, and extension class built-in functions.
[0219] Among them, the built-in function of the Session class can be used to obtain the value of a specified field in the system Session variable. For example, "%Session(LOGIN_USER)%" can represent the value of the variable named "LOGIN_USER" stored in the Session public variable after the system login is successful. The background program parses the value of "%Session(LOGIN_USER)%" and can determine whether the current login is an illegal login based on whether the value is empty.
[0220] The Post class built-in function can be used to obtain the nth POST data value passed by the front-end page. It should be noted that the input parameter of this class built-in function needs to be a number, such as 1, 2, 3...n, etc., where n is an integer greater than 0. For example, "%GetPost(2)%" can represent obtaining the second value of the POST data value of the front-end page.
[0221] The built-in function of the Row class can be used to obtain the return value of a field in the MML return message. The input parameter can be the name of a field in the MML return field. For example, "%GetRow(pass)%" can be used to obtain the value of "pass" in attr="ID|pass" of the MML return message.
[0222] The built-in functions of the URL class can be used to obtain the value of a specified parameter in the URL accessed by the browser. For example, when a user accesses the URL "http: / / xxx.com / fm-list.php?KeyID=123", the built-in function "%GetURL(KeyID)%" can be used to obtain the value of the KeyID field in the accessed URL, which is "123".
[0223] The time built-in functions can be used to output time. For example, "%Datetime( / )%" can represent the output time format as "2019 / 12 / 12 12:12:12"; "%Date()%" can represent the output time format as "2019-12-12".
[0224] The built-in functions of the extension class can be extended and implemented by the user in the background program library as needed. For example, "%ClientIP()%" can be used to obtain the terminal access IP address.
[0225] Optionally, the above content-level built-in functions may include: input box type built-in functions without default values, input box type built-in functions with default values, hidden type built-in functions with default values, text box type built-in functions without default values, text box type built-in functions with default values, and label type built-in functions.
[0226] Usually, a web page is generated by a series of HTML codes. The form is used to provide users with some basic information. When the user clicks the "Submit" or "OK" button, the page will be automatically submitted to the web page background program for processing, thereby completing information registration, query and other functions. The form is generally composed of a series of " <input> " tags. For example, the HTML code for a simple user login web form can be as follows:
[0227] <form action=post>
[0228] username: <input type=text name=user value="">
[0229] password: <input type=password name=pass value="">
[0230] <input type=hidden name=key value="123">
[0231] <input type=submit name=submit> <!--Submit Button-->
[0232] < / form>
[0233] The web page rendering effect of the input box type built-in function without default value is a text input box without default value. For example, "%mtxt(username)%" can generate a " <input type=text name=’box[]’value=”…> " class HTML code.
[0234] The web page rendering effect of the input box type built-in function with a default value is a text input box with a default value. For example, "%mtxt(username,ID)%" can generate a " <input type=text name=’box[]’value=’MML返回消息attr=ID的值’…> " class HTML code.
[0235] The web page rendering effect of the hidden built-in function with a default value is empty, but as part of the web form, its value is just "hidden" and not displayed. For example, "%mhdn(username,ID)%" can generate a corresponding " <input type=hidden name=’box[]’value=’MML返回消息attr=ID的值’…> " class HTML code.
[0236] The web page presentation effect of the text box type built-in function without default value is a text input box without default value. For example, "%mtxta(username)%" can generate a corresponding "username: <textarea name=’box[]’>< / textarea> " class HTML code.
[0237] The web page presentation effect of the text box type built-in function with default value is a text input box with default value. For example, "%mtxta(username,ID)%" can generate a corresponding "username: <textarea name=’box[]’> MML returns the value of message attr = ID< / textarea> " class HTML code.
[0238] Label type built-in function, for example, "%mlab(username)%" can generate a corresponding "username:<inputtype=text name=’-’value=”… / > ". At this time, only the display content such as "Username:" is generated, and the HTML code corresponding to the input does not work.
[0239] In some embodiments, a tag control system may be preset in the server, and the tag control system is used to store configuration tags of pages of different page types. Developers can configure the configuration tags of any first page in the server through the tag control system.
[0240] Figure 5 A schematic diagram of the composition of a tag control system provided in an embodiment of the present application is shown.
[0241] As described above, each configuration item and / or MML command in the configuration tag of each page can be composed of control parameters and / or built-in functions. The configuration tag can be configured in the tag control system, so the tag control system includes the control parameters and built-in functions in different configuration tags. Figure 5 As shown, the tag control system may include: built-in functions and control parameters. The built-in functions may include content-level built-in functions and system-level built-in functions. The control parameters may include: new page control parameters, modified page control parameters, deleted page control parameters, and list page control parameters.
[0242] The built-in functions and control parameters have been explained in the above embodiments and will not be repeated here.
[0243] Optionally, in some embodiments, the background programs corresponding to the modified page type and the newly added page type may be the same background program, and the background program corresponding to the newly added page type may be integrated into the background program corresponding to the modified page type, and this application does not impose any restrictions on this.
[0244] As described in the above embodiments, the present application embodiment can divide pages into the following four types of pages according to the main functions that need to be implemented by different pages: list page type, delete page type, modify page type and add page type. Figure 1 The data management system shown is an exemplary introduction to the specific implementation process of pages of different page types in the data management system developed according to the aforementioned data management system development method:
[0245] 1. List Page Type
[0246] Figure 6 A schematic diagram of the implementation process of a list page type page provided in an embodiment of the present application is shown.
[0247] like Figure 6 As shown, the implementation process of the list page type page can be as follows:
[0248] S601: The terminal receives a website URL input by a user in a browser.
[0249] For example:
[0250] Assume that the page ID (PID) of a page of the list page type that the user needs to access is USERLIST; the domain name of the website server is www.aaa.com; the background program corresponding to the list page type is fm-3; then, when the user needs to access the page, he can enter the following website URL in the terminal browser:
[0251] http: / / www.aaa.com / fm-3?PID=USERLIST; "?" is the separator between the background program and the page identifier.
[0252] It should be noted that PID is the unique identifier of a page, and a web page has only one PID. The background program can determine which page's configuration tag needs to be read based on the page's PID.
[0253] S602: The terminal sends a URL request to the server. The URL request is used to indicate the page identifier of the page to be accessed and the background program corresponding to the list page type.
[0254] For example, the background program corresponding to the list page type is fm-3, and the page identifier of the page to be accessed is USERLIST.
[0255] S603: The server calls a background program corresponding to the list page type according to the URL request, and transmits the page identifier of the page to be accessed to the background program corresponding to the list page type.
[0256] For example, the server may call the background program fm-3 and pass "PID=USERLIST" to the background program fm-3.
[0257] S604: The background program corresponding to the list page type reads the configuration tag of the page to be accessed according to the page identifier of the page to be accessed.
[0258] Optionally, a general tag configuration file can be established in the server, and the configuration tags of all pages can be placed in the general tag configuration file. The server can call the background program to locate all parameter configuration items corresponding to the PID from the general tag configuration file according to the PID of the page.
[0259] For example, when the PID is USERLIST, the background program fm-3 can read all configuration items related to USERLIST; when the PID is M3.SignInList, the background program fm-3 can read all configuration items related to M3.SignInList, etc. It should be noted that the total tag configuration file can be configured online by the developer in the background.
[0260] As described in the above embodiments, the configuration tags of the list page type page may include: header configuration item, header separation ratio configuration item, MML configuration item, login control configuration item, list item number configuration item and paging control configuration item.
[0261] S605. The background program corresponding to the list page type parses the built-in function in the configuration tag of the page to be accessed.
[0262] Taking the MML configuration item as an example, when the MML configuration item contains a built-in function, the built-in function in the MML configuration item needs to be parsed to obtain a complete executable MML command. For example, if the MML configuration item contains "M3.SignInList.MML=LIB LIST QIANDAO:user=%SessUser()%,limit=500", the built-in function "%SessUser()%" needs to be parsed first and replaced with the actual user name used to log in to the system, so that the MML command can be executed to query the user information. After parsing the built-in function of the MML configuration item, the MML command that can be obtained is "LIB LIST QIANDAO:user=abcd,limit 500".
[0263] S606: The background program corresponding to the list page type executes the MML command and reads the execution result of the MML command.
[0264] The execution result of the MML command is the MML return message after the MML command is executed. Reading the execution result of the MML command may refer to obtaining the MML return message and parsing the output parameters such as the return code (Retn), the return code description (Des), the return field (Attr), and the return field result (Result) in the MML return message.
[0265] S607. The background program corresponding to the list page type generates the page information of the page to be accessed according to the execution result of the MML command, the table header configuration item, the table header separator ratio configuration item, the MML configuration item, the login control configuration item, the list number configuration item, and the paging control configuration item.
[0266] Among them, the list number configuration item and the paging control configuration item can be used to control the paging process of the page information by the background program corresponding to the list page type. For example, the background program corresponding to the list page type can parse the paging control configuration item. When the configuration value of the paging control configuration item is 1, there is no need to perform paging processing on the list display content. When the configuration value of the paging control configuration item is not 1, paging processing needs to be performed on the list display content. The specific steps of the paging process can be as follows:
[0267] 1) The background program corresponding to the list page type defines a variable PAGE to represent the current page, and PAGE defaults to 1.
[0268] 2) The background program corresponding to the list page type obtains the total number of records and the number of its entries in the execution result of the MML command.
[0269] For example, there may be multiple database records in the student table in the background database, and each record stores information such as student name and score respectively.
[0270] 3) The background program corresponding to the list page type calculates the paging quantity PAGE_SIZE according to the list number configuration item and the total number of records.
[0271] Among them, the paging quantity PAGE_SIZE = total number of records / (integer division) list number.
[0272] 4) The background program corresponding to the list page type calculates the number of records that should be displayed on the current page.
[0273] Define a variable I as the I-th page that should be displayed currently. When the formula "($PAGE - 1) * $PAGE_SIZE + 1 < I < $PAGE * $PAGE_SIZE" is satisfied, the database entries of the current page are displayed.
[0274] Its pseudo-code implementation can be as follows:
[0275]
[0276] S608. The server sends the page information of the page to be accessed to the terminal.
[0277] S609. The terminal presents the page information to the user through the browser.
[0278] II. Deletion Page Type
[0279] Figure 7 A schematic diagram of the implementation process of deleting a page of a page type provided in an embodiment of the present application is shown.
[0280] like Figure 7 As shown, the implementation process of deleting a page of a page type can be as follows:
[0281] S701. The terminal receives a website URL input by a user in a browser.
[0282] S702: The terminal sends a URL request to the server, where the URL request is used to indicate the page identifier of the page to be accessed and to delete the background program corresponding to the page type.
[0283] S703: The server calls the background program corresponding to the deletion page type according to the URL request, and passes the page identifier of the page to be accessed to the background program corresponding to the deletion page type.
[0284] S704: The background program corresponding to the deleted page type reads the configuration tag of the page to be accessed according to the page identifier of the page to be accessed.
[0285] The basic principles of steps S701 to S704 are substantially the same as those of steps S601 to S604 in the implementation process of the aforementioned list page type, and the similarities are not repeated here.
[0286] The difference is that the background program pointed to by the website URL entered by the user in the browser is a background program of the delete page type, and the page to be accessed contained in the website URL is a page of the delete page type. For example, the website URL entered by the user in the browser may be: "http: / / www.aaa.com / fm-4?PID=USERDEL", then the background program corresponding to the delete page type called by the server according to the URL request may be fm-4, and the page identifier of the page to be accessed passed to fm-4 is PID=USERDEL. In addition, according to PID=USERDEL, the configuration tag of the page to be accessed read by fm-4 is all configuration items related to USERDEL.
[0287] As described in the above embodiment, the configuration tag of the page of the deletion page type may include: an MML configuration item and a login control configuration item.
[0288] S705: Delete the built-in function in the configuration tag of the page that needs to be accessed by the background program parsing corresponding to the page type.
[0289] The parsing process of the built-in function has been described in the above embodiments and will not be repeated here.
[0290] S706: The background program corresponding to the deleted page type executes an MML command, and reads the execution result of the MML command.
[0291] S707. The background program corresponding to the deleted page type generates page information of the page to be accessed according to the execution result of the MML command, the MML configuration item and the login control configuration item.
[0292] S708: The server sends page information of the page to be accessed to the terminal.
[0293] S709: The terminal presents the page information to the user through the browser.
[0294] The above steps S706 to S709 are described by way of example:
[0295] The execution result of the MML command read by the background program corresponding to the deletion page type may include output parameters such as the return code (Retn), return code description (Des), return field (Attr), and return field result (Result) in the MML return message. The page information of the page to be accessed generated by the background program corresponding to the deletion page type according to the execution result of the MML command, the MML configuration item, and the login control configuration item may include the return code description (Des) value in the aforementioned MML return message. Correspondingly, the page information presented to the user by the terminal through the browser may include the return code description (Des) value. For example, the user may be prompted on the front-end page with "deletion successful", "locked, deletion failed", etc.
[0296] 3. Modify page type and add new page type
[0297] Optionally, in the embodiment of the present application, the background program corresponding to the modified page type and the newly added page type can be the same background program, and the background program corresponding to the newly added page type can be integrated into the background program corresponding to the modified page type. The only difference is that the configuration method of the configuration tag of the page of the modified page type and the configuration tag of the page of the newly added page type are slightly different, as follows:
[0298] Figure 8 A schematic diagram of the implementation process of modifying a page type and adding a new page type provided in an embodiment of the present application is shown.
[0299] like Figure 8 As shown, the implementation process of modifying the page type and adding a new page type can be as follows:
[0300] S801. The terminal receives a website URL input by a user in a browser.
[0301] For example:
[0302] 1) Assume that the page ID (PID) of a page of the modified page type that the user needs to access is USERMOD; the domain name of the website server is www.aaa.com; the background program corresponding to the modified page type is fm-2; then, when the user needs to access the page, he can enter the following website URL in the terminal browser:
[0303] http: / / www.aaa.com / fm-2?PID=USERMOD; "?" is the separator between the background program and the page identifier.
[0304] 2) Assume that the page ID (PID) of a page of the newly added page type that the user needs to access is USERADD; the domain name of the website server is also www.aaa.com; the background program corresponding to the newly added page type should also be fm-2 (the same as the background program corresponding to the modified page type); then, when the user needs to access the page, he can enter the following website URL in the terminal browser:
[0305] http: / / www.aaa.com / fm-2?PID=USERADD; "?" is the separator between the background program and the page identifier.
[0306] S802: The terminal sends a URL request to the server. The URL request is used to indicate the page identifier of the page to be accessed, as well as the background program corresponding to the modified page type and the newly added page type.
[0307] As described in step S801, the background programs corresponding to the modified page type and the newly added page type are the same. For example, the background programs corresponding to the modified page type and the newly added page type are both fm-2. The page identifier of the page of the modified page type to be accessed may be USERMOD. The page identifier of the page of the newly added page type to be accessed may be USERADD.
[0308] S803: The server calls the background programs corresponding to the modified page type and the newly added page type according to the URL request, and passes the page identifier of the page to be accessed to the background programs corresponding to the modified page type and the newly added page type.
[0309] It can be understood that no matter whether the page corresponding to the page identifier indicated by the URL request belongs to the modified page type or the newly added page type, the server will call the same background program for subsequent processing.
[0310] For example, when the page ID of the modified page type to be accessed is USERMOD, the server can call the background program fm-2 and pass "PID=USERMOD" to the background program fm-2. When the page ID of the newly added page type to be accessed is USERADD, the server can call the background program fm-2 and pass "PID=USERADD" to the background program fm-2.
[0311] S804: The background program corresponding to the modified page type and the newly added page type reads the configuration tag of the page to be accessed according to the page identifier of the page to be accessed.
[0312] As described in the implementation method of the page of the list page type, a general tag configuration file can be established in the server, and the configuration tags of all pages can be placed in the general tag configuration file. The server can call the background program to locate all parameter configuration items corresponding to the PID from the general tag configuration file according to the PID of the page. That is, the background program corresponding to the modified page type and the newly added page type can also locate all parameter configuration items corresponding to the page identifier of the page to be accessed from the general tag configuration file according to the page identifier of the page to be accessed.
[0313] For example, when the PID is USERMOD, the background program fm-2 can read all configuration items related to USERMOD; when the PID is USERADD, the background program fm-2 can read all configuration items related to USERADD, and so on.
[0314] As described in the above embodiments, the configuration tag of the page of the modified page type may include: page content configuration item, pre-MML configuration item, pre-MML command, MML configuration item, and login control configuration item. The configuration tag of the page of the newly added page type is basically the same as the configuration tag of the page of the modified page type, except that the configuration tag of the page of the newly added page type does not include the pre-MML command, and there is no need to configure the value of the pre-MML configuration item, that is, there is no need to query the database first to read the original initial value of the item to be modified.
[0315] S805: Modify the page type and the background program corresponding to the newly added page type to parse the built-in function in the configuration tag of the page to be accessed.
[0316] The parsing process of the built-in function has been described in the above embodiments and will not be repeated here.
[0317] However, it should be noted that, since the configuration tag of the page for modifying the page type also includes: the pre-MML configuration item. Therefore, if there is a built-in function in the pre-MML configuration item, when parsing the built-in function in step S805, the built-in function in the pre-MML configuration item will also be parsed. For example, the built-in function in the pre-MML configuration item can be parsed to obtain a complete and executable pre-MML command.
[0318] S806: The background program corresponding to the modified page type and the newly added page type determines whether there is a value in the front-end MML configuration item.
[0319] If there is a value in the front-end MML configuration item, it means that the page to be accessed is a modified page type; if there is no value in the front-end MML configuration item, it means that the page to be accessed is a newly added page type.
[0320] When there is a value in the current MML configuration item, step S807a and step S807b may be performed first, and then step S808 may be performed; when there is no value in the current MML configuration item, step S808 may be performed directly.
[0321] As described in the relevant description of step S803, no matter whether the page corresponding to the page identifier indicated by the URL request belongs to the modified page type or the newly added page type, the server will call the same background program for subsequent processing. During the execution of the background programs corresponding to the modified page type and the newly added page type, step S806 can be used to determine whether the type of the page to be accessed is the modified page type or the newly added page type according to the value of the pre-MML configuration item, so as to determine the execution order of the subsequent steps.
[0322] S807a, the background program corresponding to the modified page type and the newly added page type executes the preceding MML command, and reads the execution result of the preceding MML command.
[0323] Among them, the execution result of the pre-MML command can refer to the execution result of the MML command described in the aforementioned embodiment. For example, the execution result of the pre-MML command can also be the pre-MML return message after the pre-MML command is executed. Reading the execution result of the pre-MML command can refer to obtaining the pre-MML return message and parsing the output parameters such as the return code (Retn), return code description (Des), return field (Attr), and return field result (Result) in the pre-MML return message. For example, before changing the user password, you need to obtain the user's old password first.
[0324] S807b, the background program corresponding to the modified page type and the newly added page type stores the execution result of the preceding MML command into the public variable of the server.
[0325] For example, the background program corresponding to the modified page type and the newly added page type can store the values of the return field (Attr) and the return field result (Result) in the execution result of the previous MML command into the public variable (Session) of the server, so that the Attr and Result return values in the execution result can be obtained again after the page jumps.
[0326] It should be noted that the server generally has a public variable, which is similar to the system environment variable. When a user visits different web pages of the website, the pages will jump continuously, such as: page A jumps to page B, and then jumps to page C through page B, etc. But no matter how the pages jump, the public variable can be accessed between different pages. Therefore, these variable information can be shared between different pages. For example, when a user logs in to the system, the user's "logged in" mark can be stored in the public variable, so that other pages can determine that the user has logged in by detecting the user's "logged in" mark, without reminding the user to log in to the system again.
[0327] S808. The background program corresponding to the modified page type and the newly added page type parses the page content configuration items and generates HTML tags.
[0328] As described in the above embodiment, a web page is generated by a series of HTML codes, and a form can be used to provide users with some basic information. A form generally consists of a series of " <input> " tags, that is, the HTML code corresponding to the web page contains a series of " <input> "Label.
[0329] S809: The background program corresponding to the modified page type and the newly added page type matches the attribute field configured in the page content configuration item with the return field in the execution result of the preceding MML command.
[0330] S810. The background program corresponding to the modified page type and the newly added page type determines whether the field matching is successful.
[0331] If the match is successful, execute step S811; if the match fails, execute step S812.
[0332] For example:
[0333] Assume that the page content configuration item (Cont) is as follows:
[0334] {#PID}.Cont = %mhdn(username, ID)% | %mtxt(password, pass)%;
[0335] The pre-MML configuration items are as follows:
[0336] {#PID}.MML=[m][@m][mhead]C8 QRY SG:t=test,a=`ID|pass`,c=`ID=%KeyID()%`[@mhead];
[0337] Then, matching the attribute field configured in the page content configuration item with the return field in the execution result of the preceding MML command may refer to: matching the preceding MML return field (Attr) in {#PID}.mhead with the attribute field configured in the page content configuration item. That is, matching the pass field in the preceding MML return message with the pass in %mtxt(password,pass)% in the page content configuration item.
[0338] It should be noted that, since the configuration tag of the page of the newly added page type does not contain the pre-MML command, the value of the pre-MML configuration item is not configured, so if the type of the page to be accessed is the newly added page type, when the attribute field configured in the page content configuration item is matched with the return field in the execution result of the pre-MML command, the result must be a match failure. That is, if the type of the page to be accessed is the newly added page type, the background program corresponding to the modified page type and the newly added page type must execute step S812.
[0339] S811. The background program corresponding to the modified page type and the newly added page type reads the value of the return field result corresponding to the return field in the execution result of the preceding MML command, and generates an input tag and the value of the input tag.
[0340] For example, the background program corresponding to the modified page type and the newly added page type can generate an input tag, and read the return field result (Result) value corresponding to the return field (Attr) in the preceding MML return message as the value (value) of the input tag.
[0341] S812. The background program corresponding to the modified page type and the newly added page type generates an input tag.
[0342] S813: The server sends the initial page information of the page to be accessed to the terminal.
[0343] S814: The terminal presents the initial page information to the user through the browser.
[0344] Among them, if the background program corresponding to the modified page type and the newly added page type reads the value of the return field result corresponding to the return field in the execution result of the previous MML command to generate an input tag and the value of the input tag, the initial page information displayed in the browser of the terminal includes the input tag and the value of the input tag. If the background program corresponding to the modified page type and the newly added page type generates an input tag, the initial page information displayed in the browser of the terminal includes the input tag but does not include the value of the input tag.
[0345] For example:
[0346] Fig. 9 A schematic diagram showing page information provided by an embodiment of the present application is shown.
[0347] If the background program corresponding to the modified page type and the newly added page type reads the value of the return field result corresponding to the return field in the execution result of the preceding MML command, generates an input tag and the value of the input tag, the initial page information displayed in the browser of the terminal can be as follows: Fig. 9 As shown. The username and password are input tags; the "zhangsan" in the input box after the username and the "******" in the input box after the password are the values of the input tags.
[0348] Fig.10 Another schematic diagram of page information provided by an embodiment of the present application is shown.
[0349] If the background program corresponding to the modified page type and the newly added page type generates an input tag, the initial page information displayed in the terminal browser can be as follows: Fig.10 As shown in the figure, the username and password are input tags; the input boxes after the username and password are both empty, indicating that there is no value of the input tag.
[0350] Furthermore, the user can enter the information required to be filled in on the initial page displayed by the browser of the terminal and submit it. After the user submits the input filled-in information, the terminal can send the user's filled-in information to the server. The server can modify or add data based on the received user's filled-in information.
[0351] That is, please continue to refer to Figure 8 As shown, the implementation process of modifying the page type and adding a new page type provided in the embodiment of the present application may also include:
[0352] S815. The terminal receives the filled-in information input by the user and sends it to the server.
[0353] Please refer to Fig. 9 or Fig.10 For example, the user can enter the user name and password on the initial page displayed by the browser of the terminal and click the submit button. Of course, in other implementations, the information entered by the user can also be an email address, account number, phone number, etc., which is not limited here. After the user clicks the submit button, the browser can return the information entered by the user to the background program corresponding to the modified page type and the newly added page type through the terminal.
[0354] S816. The background program corresponding to the modified page type and the newly added page type assembles and generates a complete MML command according to the MML command configured in the MML configuration item and the filled-in information input by the user.
[0355] For example, when a user fills in the web page information fields and clicks the submit button, the browser will store the multiple information fields filled in by the user in the POST array and send the POST array values to the background programs corresponding to the modified page type and the newly added page type. In other words, the user input information received by the server is actually the POST array value sent by the browser.
[0356] After the background program corresponding to the modified page type and the newly added page type obtains the POST array value transmitted by the browser, the MML command configured in the MML configuration item can be assembled with the POST array value to generate a complete MML command.
[0357] Optionally, some browsers may automatically urlencode the POST data. After the background program corresponding to the modified page type and the newly added page type obtains the POST array value transmitted by the browser, it can also first cyclically parse each POST array value and perform decryption processing.
[0358] Optionally, the pseudo code implementation of step S816 may be as follows:
[0359]
[0360] S817. The background program corresponding to the modified page type and the newly added page type executes the assembled MML command and reads the execution result of the MML command.
[0361] S818. The background program corresponding to the modified page type and the newly added page type generates page information of the page to be accessed according to the execution result of the MML command.
[0362] S819: The server sends page information of the page to be accessed to the terminal.
[0363] S820. The terminal presents the page information to the user through the browser.
[0364] The above steps S817 to S820 are described by way of example:
[0365] The execution result of the MML command read by the background program corresponding to the modified page type and the newly added page type may include the return code (Retn), return code description (Des), return field (Attr), return field result (Result) and other output parameters in the MML return message. The page information of the page to be accessed generated by the background program corresponding to the modified page type and the newly added page type according to the execution result of the MML command may include the return code description (Des) value in the MML return message. Correspondingly, the page information presented to the user by the terminal through the browser may include the return code description (Des) value. For example, the user may be prompted with "modification successful", "addition successful", "modification failed", "addition failed", etc. on the front-end page.
[0366] As can be seen from the above, in the embodiment of the present application, the implementation logic of the page of the newly added page type is integrated into the code logic of the entire page of the modified page type. In this way, when the user accesses the URL, he only needs to perceive a background program.
[0367] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of interaction between various network elements. It can be understood that in order to realize the above functions, each network element, such as a server, includes a hardware structure and / or software module corresponding to executing each function.
[0368] Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0369] The embodiment of the present application can divide the functional modules of the server according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0370] In the case of dividing each functional module according to each function, the embodiment of the present application provides a data management system development device, which can be applied to the server described in the above embodiment. Fig.11 The structure diagram of the data management system development device of the present application embodiment is shown as follows: Fig.11 As shown, the data management system development device may include: a receiving module 11, which is used to support the server to execute Figure 3 Step S301 in the data management system development method shown in FIG. 1; Processing module 12 is used to support the server to execute Figure 3 Steps S302 to S304 in the data management system development method shown.
[0371] In one embodiment, when the page type to which the first page belongs is a list page type, the processing module 12 can be specifically used to generate page information of the first page based on the output parameters of the MML command, the header configuration item, the header separation ratio configuration item, the MML configuration item, the login control configuration item, the list item number configuration item, and the paging control configuration item in the configuration tag of the first page.
[0372] In another implementation, when the page type to which the first page belongs is a deletion page type, the processing module 12 may be specifically configured to generate page information of the first page according to output parameters of the MML command, MML configuration items in the configuration tag of the first page, and login control configuration items.
[0373] In another embodiment, when the page type to which the first page belongs is a modified page type or a newly added page type, the processing module 12 can be specifically used to receive a POST array value of the data to be processed; call the background program corresponding to the page type to which the first page belongs, and execute the MML command contained in the configuration tag of the first page according to the POST array value.
[0374] Optionally, when the page type to which the first page belongs is a modified page type or a newly added page type, the processing module 12 can also be used to call the background program corresponding to the page type to which the first page belongs, and determine whether there is a pre-MML configuration value in the pre-MML configuration item in the configuration tag of the first page. If there is a pre-MML configuration value in the pre-MML configuration item, the pre-MML command in the configuration tag of the first page is executed. The execution result of the pre-MML command is parsed to obtain the output parameter of the pre-MML command. And the return field and the return field value in the output parameter of the pre-MML command are stored in a public variable. Among them, the return field and the return field value in the output parameter of the pre-MML command are the initial values before modification. And, it is used to generate the HTML tag corresponding to the first page according to the page content configuration item in the configuration tag of the first page. Determine whether the attribute field configured in the page content configuration item matches the return field in the output parameter of the pre-MML command. If the attribute field configured in the page content configuration item matches the return field in the output parameter of the pre-MML command, then according to the HTML tag corresponding to the first page, generate the input Input tag and the value of the Input tag. If the attribute field configured in the page content configuration item does not match the return field in the output parameter of the preceding MML command, an Input tag is generated according to the HTML tag corresponding to the first page.
[0375] Optionally, when the page type of the first page is a modified page type or a newly added page type, the processing module 12 can also be used to generate page information of the first page according to the output parameters of the MML command, the page content configuration items, the MML configuration items, and the login control configuration items in the configuration tag of the first page.
[0376] The processing module 12 may be a processor or a controller. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
[0377] It should be noted that all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional module and will not be repeated here.
[0378] The embodiment of the present application also provides a server, which can be used to execute the above-mentioned data management system development method, so that the same effect as the above-mentioned data management system development method can be achieved. The server may include: a processor and a memory. The processor and the memory are coupled, and computer instructions are stored in the memory. When the server is running, the processor executes the computer instructions on the memory to implement the data management system development method as described in the above-mentioned embodiment.
[0379] Optionally, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium may store computer instructions, and when the computer instructions are executed by a processor, the data management system development method described in the above embodiment may be implemented.
[0380] Optionally, an embodiment of the present application further provides a computer program product, which, when executed, can implement the data management system development method as described in the aforementioned embodiment.
[0381] Optionally, an embodiment of the present application also provides a chip system, which is applied to a server as described in the above embodiment; the chip system includes one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through lines; the processor receives and executes computer instructions from the memory of the electronic device through the interface circuit.
[0382] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0383] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0384] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0385] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0386] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program code.
[0387] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A data management system development method, characterized in that: The method comprises: Receive the configured background program and the overall label configuration file; The background program includes one or more of the following page type programs: a background program corresponding to a list page type, a background program corresponding to a delete page type, and a background program corresponding to a modify page type and a new page type; The total tag configuration file includes one or more of the following configuration tags: a configuration tag for a page corresponding to the list page type, a configuration tag for a page corresponding to the delete page type, a configuration tag for a page corresponding to the modify page type, and a configuration tag for a page corresponding to the add page type; The configuration tag of the page at least includes a man-machine language MML command for implementing the business logic of the page, and the execution result of the MML command after being executed can be parsed by the corresponding background program; the execution result is a preset format containing fixed fields, so that the background program corresponding to different page types can parse the execution result; The page is generated according to the background program and the configuration tag of the page; the business logic of the interaction between the page and the background is implemented through the MML command.
2. The method according to claim 1, characterized in that The method further comprises: According to the access request of the first page, calling the background program corresponding to the page type to which the first page belongs, and executing the MML command contained in the configuration tag of the first page; Parsing the execution result of the MML command to obtain output parameters of the MML command; The page information of the first page is generated at least according to the output parameter of the MML command.
3. The method according to claim 1 or 2, characterized in that: The format of the execution result of the MML command that can be parsed by the corresponding background program is the first format or the second format; The execution result in the first format includes: a return code, a return code description, a return field set, and a return field result set; The execution result in the second format includes: a return code, a return code description, a return header field set, a return header field result set, a return field set, and a return field result set; Furthermore, the return code in the execution result of the first format corresponds to the return code description; and the return code in the execution result of the second format corresponds to the return code description.
4. The method according to claim 1 or 2, characterized in that: The MML command includes: basic input parameters for implementing the business logic of the page; The MML command also includes one or more of the following input parameters: an escape character control switch and a log printing control switch; The escape character control switch is used to control whether the default field separator in the execution result of the MML command needs to be escaped; The log printing control switch is used to control whether to output log information when executing the MML command.
5. The method according to claim 1 or 2, characterized in that: When the page type to which the page belongs is a list page type, the configuration tag of the page further includes: a header configuration item, a header separation ratio configuration item, an MML configuration item, and a login control configuration item, and the MML configuration item is used to obtain the execution result of the MML command.
6. The method according to claim 5, characterized in that The configuration tag of the page also includes: list item number configuration item and paging control configuration item.
7. The method according to claim 1 or 2, characterized in that: When the page type to which the page belongs is a deletion page type, the configuration tag of the page further includes: an MML configuration item and a login control configuration item, and the MML configuration item is used to obtain the execution result of the MML command.
8. The method according to claim 1 or 2, characterized in that: When the page type to which the page belongs is a modification page type, the configuration tag of the page also includes: a page content configuration item, a pre-MML configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command, and the pre-MML configuration item is used to obtain the execution result of the pre-MML command. The execution result after the pre-MML command is executed includes the initial value before the modification.
9. The method according to claim 1 or 2, characterized in that: When the page type to which the page belongs is a newly added page type, the configuration tag of the page further includes: a page content configuration item, an MML configuration item, and a login control configuration item, and the MML configuration item is used to obtain the execution result of the MML command.
10. The method according to claim 2, characterized in that When the page type to which the first page belongs is a list page type, generating the page information of the first page at least according to the output parameter of the MML command includes: According to the output parameters of the MML command, the header configuration item, the header separation ratio configuration item, the MML configuration item, the login control configuration item, the list item number configuration item, and the paging control configuration item in the configuration tag of the first page, the page information of the first page is generated.
11. The method according to claim 2, characterized in that When the page type to which the first page belongs is a deletion page type, generating the page information of the first page at least according to the output parameter of the MML command includes: The page information of the first page is generated according to the output parameter of the MML command, the MML configuration item in the configuration tag of the first page, and the login control configuration item.
12. The method according to claim 2, characterized in that: When the page type to which the first page belongs is a modified page type or a newly added page type, before calling the background program corresponding to the page type to which the first page belongs and executing the MML command included in the configuration tag of the first page, the method further includes: receiving data to be processed; The calling of the background program corresponding to the page type to which the first page belongs, and executing the MML command contained in the configuration tag of the first page, includes: A background program corresponding to the page type to which the first page belongs is called, and the MML command included in the configuration tag of the first page is executed according to the data to be processed.
13. The method according to claim 12, characterized in that The data to be processed corresponds to an input tag; before receiving the data to be processed, the method further includes: Calling a background program corresponding to the page type to which the first page belongs, and determining whether a pre-MML configuration value exists in a pre-MML configuration item in a configuration tag of the first page; If there is a pre-MML configuration value in the pre-MML configuration item, execute the pre-MML command in the configuration tag of the first page, parse the execution result of the pre-MML command, and obtain the output parameter of the pre-MML command; and store the return field and the return field value in the output parameter of the pre-MML command into a public variable; wherein the return field and the return field value in the output parameter of the pre-MML command are the initial values before modification; After storing the return field and the return field value in the output parameter of the pre-MML command into the common variable, or if the pre-MML configuration value does not exist in the pre-MML configuration item, the method further includes: Generate an HTML tag corresponding to the first page according to the page content configuration item in the configuration tag of the first page; Determine whether the attribute field configured in the page content configuration item matches the return field in the output parameter of the preceding MML command; If the attribute field configured in the page content configuration item matches the return field in the output parameter of the preceding MML command, then generating the Input tag and the value of the Input tag according to the HTML tag corresponding to the first page; If the attribute field configured in the page content configuration item does not match the return field in the output parameter of the preceding MML command, the Input tag is generated according to the HTML tag corresponding to the first page.
14. The method according to claim 12 or 13, characterized in that The generating the page information of the first page at least according to the output parameter of the MML command includes: The page information of the first page is generated according to the output parameters of the MML command, the page content configuration items, the MML configuration items, and the login control configuration items in the configuration tag of the first page.
15. A data management system development device, characterized in that: The device comprises: A receiving module, used for receiving a configured background program and a total tag configuration file; Wherein, the background program includes one or more of the following page type programs: a background program corresponding to the list page type, a background program corresponding to the delete page type, and a background program corresponding to the modification page type and the new page type; the total tag configuration file includes one or more of the following configuration tags: a configuration tag of a page corresponding to the list page type, a configuration tag of a page corresponding to the delete page type, a configuration tag of a page corresponding to the modification page type, and a configuration tag of a page corresponding to the new page type; the configuration tag of the page at least includes a human-machine language MML command for implementing the business logic of the page, and the execution result of the MML command after being executed can be parsed by the corresponding background program; the execution result is a preset format containing fixed fields, so that the background programs corresponding to different page types can parse the execution result; A generation module is used to generate the page according to the background program and the configuration tag of the page; the business logic of the interaction between the page and the background is implemented through the MML command.
16. The device according to claim 15, characterized in that The device also includes: A processing module is used to call a background program corresponding to the page type to which the first page belongs according to an access request of the first page, and execute the MML command contained in the configuration tag of the first page; parse the execution result of the MML command to obtain the output parameter of the MML command; and generate page information of the first page at least according to the output parameter of the MML command.
17. The device according to claim 15 or 16, characterized in that The format of the execution result of the MML command that can be parsed by the corresponding background program is the first format or the second format; The execution result in the first format includes: a return code, a return code description, a return field set, and a return field result set; The execution result in the second format includes: a return code, a return code description, a return header field set, a return header field result set, a return field set, and a return field result set; Furthermore, the return code in the execution result of the first format corresponds to the return code description; and the return code in the execution result of the second format corresponds to the return code description.
18. The device according to claim 15 or 16, characterized in that The MML command includes: basic input parameters for implementing the business logic of the page; The MML command also includes one or more of the following input parameters: an escape character control switch and a log printing control switch; The escape character control switch is used to control whether the default field separator in the execution result of the MML command needs to be escaped; The log printing control switch is used to control whether to output log information when executing the MML command.
19. The device according to claim 15 or 16, characterized in that When the page type to which the page belongs is a list page type, the configuration tag of the page further includes: a header configuration item, a header separation ratio configuration item, an MML configuration item, and a login control configuration item, and the MML configuration item is used to obtain the execution result of the MML command.
20. The device according to claim 15 or 16, characterized in that When the page type to which the page belongs is a deletion page type, the configuration tag of the page further includes: an MML configuration item and a login control configuration item, and the MML configuration item is used to obtain the execution result of the MML command.
21. The device according to claim 18, characterized in that When the page type to which the page belongs is a modification page type, the configuration tag of the page also includes: a page content configuration item, a pre-MML configuration item, an MML configuration item, and a login control configuration item. The MML configuration item is used to obtain the execution result of the MML command, and the pre-MML configuration item is used to obtain the execution result of the pre-MML command. The execution result after the pre-MML command is executed includes the initial value before the modification.
22. The device according to claim 15 or 16, characterized in that When the page type to which the page belongs is a newly added page type, the configuration tag of the page further includes: a page content configuration item, an MML configuration item, and a login control configuration item, and the MML configuration item is used to obtain the execution result of the MML command.
23. A server, characterized in that: include: A processor and a memory, wherein the processor and the memory are connected via a bus, and computer instructions are stored in the memory. When the server is running, the processor executes the computer instructions in the memory to implement the data management system development method as described in any one of claims 1 to 14.
24. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, which, when executed by a processor, implement the data management system development method according to any one of claims 1 to 14.
Citation Information
Patent Citations
Allocation system and method of network equipment
CN1870523A