Page module dynamic expansion system, method and apparatus

By dynamically expanding the system through page modules and automating the management of page modules using a registration server and a business server, the system solves the code maintenance problem caused by frequent changes to page modules, improves loading speed and database security, and achieves automated management and rapid expansion of modules.

CN122240195APending Publication Date: 2026-06-19BEIJING JINGDONG YUANSHENG TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING JINGDONG YUANSHENG TECH CO LTD
Filing Date
2024-12-18
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In existing technologies, frequent changes to page modules make the code difficult to maintain, slow down page loading speed, and make configuration files and database management prone to errors, affecting user experience. Furthermore, frequent system up-and-down operations affect access performance.

Method used

The system adopts a dynamic expansion system for page modules. The registration server responds to the registration request for a new page module, the business server loads the module data and redraws the page, and the auxiliary server summarizes the messages and pushes them periodically, so as to realize the automated management and dynamic expansion of modules.

Benefits of technology

It improved page loading speed, avoided lag caused by excessive data volume, reduced the risk of manual database operations, enabled automated module deployment and decommissioning, and solved the code maintenance problem caused by frequent changes by developers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122240195A_ABST
    Figure CN122240195A_ABST
Patent Text Reader

Abstract

This disclosure presents a system, method, and apparatus for dynamically expanding page modules. A specific implementation of the system includes: a registration server configured to, in response to receiving a registration request for a new page module, register the new page module according to the registration request and send a message indicating that the page module has been added; and a service server configured to, in response to receiving the message indicating that the page module has been added, obtain module data of the new page module from the registration server, load the module data, and perform page redrawing to generate the page after the page module has been added. This implementation adopts a microservices model, encapsulating each page module as a service to avoid lag caused by excessive page data volume. The addition and removal of page modules can be automatically and dynamically expanded without frequent main system updates or system pauses due to the addition / removal of page modules.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments disclosed herein relate to the field of computer technology, and more specifically to a system, method, and apparatus for dynamically expanding page modules. Background Technology

[0002] Systems with frequent changes to page modules eventually become difficult to maintain and slow down page loading speeds due to business growth, increased traffic, frequent system iterations, and frequent changes in the developers involved.

[0003] The current mainstream solution to avoid frequent changes to page modules is to add permissions to each page module and store these permissions on the server side. These permissions include display permissions, user access permissions, and so on.

[0004] If management is based on configuration files, page rendering will lag when the page module data volume is particularly large. Every change to the configuration file requires a deployment to take effect. Configuration file modifications are prone to errors. If the configuration file is modified on the deployed system, multiple modifications are required.

[0005] If database management is used, manual data updates are required. Manual database operations are prone to errors and can cause system failures. If the system is complex, such as a big data visualization system, frequent database changes can impact access performance. Adding a new module still requires the system to be deployed again.

[0006] Whether based on configuration files or a database, the system undergoes offline / online operations, requiring quality and maintenance procedures. This entire process takes at least two hours, significantly impacting user experience. With business growth, increased traffic, frequent system iterations, and frequent changes in the developers involved, the code eventually becomes difficult to maintain, and page loading speeds slow down. Summary of the Invention

[0007] Embodiments of this disclosure present a system, method, and apparatus for dynamically expanding page modules.

[0008] In a first aspect, embodiments of this disclosure provide a dynamic page module expansion system, comprising: a registration server configured to, in response to receiving a registration request for a new page module, register the new page module according to the registration request and send a message indicating that the page module has been added; and a service server configured to, in response to receiving the message indicating that the page module has been added, obtain module data of the new page module from the registration server, load the module data and perform page redrawing to generate a page with the added page module.

[0009] Module data refers to the data displayed on the page. For example, the operations dashboard module would display operational growth data, growth rate, number of customers, etc. Furthermore, for a system, everything displayed on a page is considered data, including numbers, text, images, etc.

[0010] In some embodiments, the system further includes: an auxiliary server configured to receive messages from the registration server, aggregate them to generate a message list, and periodically send the message list to the business system, wherein the messages include at least one of the following: messages about page modules being added, messages about page modules not being alive, messages about page modules being online, and messages about page modules being offline.

[0011] In some embodiments, the business server is further configured to: generate a unique identifier for the newly added page module; refresh the module data periodically based on the unique identifier; and in response to detecting an inaccessible page module during the refresh process, delete the module data of the inaccessible page module, redraw the page, and generate an updated page.

[0012] In some embodiments, the service server is further configured to: in response to receiving a service request for a target page module, send the service request to the registration server and receive a service processing result from the backend server of the target page module; and the registration server is further configured to: in response to receiving the service request, query the address of the backend server of the target page module based on the registration information of the target page module, and forward the service request to the backend server based on the address.

[0013] In some embodiments, the registration server is further configured to: reject service requests from the service server for the target page module in response to detecting that the traffic of the backend server of the target page module exceeds a predetermined threshold.

[0014] In some embodiments, the registration server is further configured to: output alarm information according to a pre-configured alarm method in response to detecting page module abnormalities or changes.

[0015] In some embodiments, the registration server is further configured to: maintain a heartbeat with the backend server of the page module via a long connection; and send a message indicating that the page module is not alive in response to detecting that the page module is not alive via the heartbeat. The service server is further configured to: in response to receiving the message that the page module is not alive, load the module data of the page modules other than the page module that is not alive, and perform page redraw to generate a page after the page module is deleted.

[0016] In some embodiments, the registration server is further configured to: load a preset configuration file, and set relevant parameters of the business server, the registration server, the page module, and the auxiliary server according to the configuration file.

[0017] In some embodiments, the registration server is further configured to: in response to detecting an online request or an offline request for a page module, send an online message or an offline message for the page module; the business server is further configured to: in response to receiving the online message or the offline message, reload the module data of the page module, and perform page redraw to generate an updated page.

[0018] In some embodiments, the auxiliary server is further configured to: store a first log of the registration server and a second log of the business server; and, in response to receiving a query request from a target page module, query the relevant logs of the target page module from the first log and the second log.

[0019] Secondly, embodiments of this disclosure provide a method for dynamically expanding page modules, comprising: a registration server responding to receiving a registration request for a new page module, registering the new page module according to the registration request, and sending a message indicating that the page module has been added; and a service server responding to receiving the message indicating that the page module has been added, obtaining module data of the new page module from the registration server, loading the module data and redrawing the page to generate a page with the added page module.

[0020] Thirdly, embodiments of this disclosure provide an electronic device, including: one or more processors; and a storage device having one or more computer programs stored thereon, which, when executed by the one or more processors, cause the one or more processors to perform the method as described in the second aspect.

[0021] Fourthly, embodiments of this disclosure provide a computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method as described in the second aspect.

[0022] Fifthly, embodiments of this disclosure provide a computer program product including a computer program that, when executed by a processor, implements the method described in the second aspect.

[0023] The page module dynamic expansion system, method, and apparatus provided in the embodiments of this disclosure divide the front-end system's pages into independent rendering modules according to business categories, with each module being an independent service. The page then periodically refreshes the data within each module, detects the latest rendering module data, and redraws the page. This solution adopts a microservice model, encapsulating each module as a service, improving page loading speed and avoiding lag caused by excessive page data. This solution uses service discovery, so the online and offline status of sub-modules can be automatically and dynamically expanded without frequent main system deployments or business processing interruptions due to sub-module online / offline status. This solution uses module inspection to avoid direct manual database operations, improving database security and resolving the problem of frequent developer changes leading to difficult code maintenance.

[0024] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0025] Other features, objects, and advantages of this disclosure will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0026] Figure 1 This is an exemplary system architecture diagram to which one embodiment of this disclosure can be applied;

[0027] Figure 2 This is a flowchart of an embodiment of the page module dynamic expansion method according to the present disclosure;

[0028] Figure 3 This is a schematic diagram of an application scenario of the dynamic expansion method for page modules according to this disclosure;

[0029] Figure 4 This is a flowchart of yet another embodiment of the page module dynamic expansion method according to the present disclosure;

[0030] Figure 5 This is a schematic diagram of the structure of a computer system suitable for implementing embodiments of the present disclosure. Detailed Implementation

[0031] The present disclosure will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.

[0032] It should be noted that, unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other. This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.

[0033] Figure 1 An exemplary system architecture is shown that can be applied to embodiments of the page module dynamic expansion method or page module dynamic expansion device disclosed herein.

[0034] like Figure 1 As shown, the dynamic expansion system for page modules may include a registration server and a business server. The system may also include an auxiliary server and a database. The registration server and the business server can directly exchange messages, or they can forward messages through the auxiliary server. Whether an auxiliary server is needed can be determined based on a preset configuration file.

[0035] 1) Business Server: The business server runs the business system. The business system is responsible for implementing specific business logic and handling business requests. During business implementation, frequent dynamic loading and updates of the page are required. The dynamic expansion of the page module is mainly achieved through three parts: the page redraw module, the extensible module, and the service call module. The functional modules included in the business system are shown below:

[0036] Fixed business modules: These are used to render the main page. They initialize many system parameter configurations and necessary plugins for the front-end pages within the business system. They load and render the core business logic while providing a foundation for numerous extensible page modules. This foundation means that all other business module pages are nested on top of this basic system before being displayed to the user.

[0037] ID generator: Used by extensible modules to generate IDs for data (ID: can be understood as a number for a piece of data). The ID is a string that contains basic information about the page module, and the ID must be globally unique.

[0038] Scalable Module: This function is invoked during "initialization," the auxiliary server's "notification module," and when page modules are found to be inaccessible during scheduled page inspections. This module retrieves relevant page module data from the database. Using this module for inspection avoids direct manual database manipulation, thus improving database security.

[0039] Page Repaint Module: The page repaint function is triggered when a new page module is added or deleted. Based on the latest page module information, the page is rearranged and reloaded.

[0040] Service Invocation Module: Since all page modules are registered in a registry server (which can be Node.js), all page module rendering and data retrieval will use the registry server's domain. This module is essentially the registry server's SDK, with built-in features including the invocation domain, API calls, and cross-domain handling.

[0041] 2) Registration Server (also known as the Registry Center): Responsible for managing page modules and providing service proxy services for the business system, while also resolving cross-domain issues between the business system and the registry center. The registration server's control module can handle the online and offline processing of page modules, configure common parameters, and monitor module availability. Since the business system routes all requests to page modules to this registration server, service proxy processing is also necessary for these requests to ensure that all requests to page modules are routed to the real service address. This hides the real address of the page modules and avoids the risk of exposing internal service IPs or domain names. The content of the requests is the business request on the page: such as product search, purchase, image loading, etc. Anything dynamically loaded on the webpage is considered part of the request content. The registration server includes the following functional modules:

[0042] Interface module: Provides interfaces for all external requests from the registration server, allowing access from both the registration server's control module and business systems. Examples include module availability status, configuration file information, page module access addresses, configuration subscriptions, and module subscriptions.

[0043] Control Module: The control module is a visual interface that provides functions such as page module registration, page module request rate limiting, page module liveness configuration, monitoring configuration, alarm person configuration, online processing, and offline processing.

[0044] Registration Module: The registration module is the core of this system. It provides registration functionality for page modules, configuration subscription functionality for page module providers and business systems, and a list of subscribed modules for business systems.

[0045] Addressing Module: This module obtains the optimal list of registration server IP addresses by matching fixed rules, providing stable access for both the provider and the caller (business system) and preventing traffic congestion on any physical machine. The key to obtaining the optimal list of registration server IP addresses by matching fixed rules lies in clearly defining the rules and executing them efficiently. First, the fixed rules to be matched need to be clearly defined, ensuring that the rules are operable and explicit. Then, the execution strategy includes: Automated matching: Utilizing algorithms or software tools for automated matching to improve efficiency and accuracy. Optimization and iteration: Based on the matching results, continuously optimize the rules and execution strategies to achieve the best matching effect. Traffic load balancing is employed; if the traffic on an IP is already particularly high, it will not be included in the candidate IP address list.

[0046] Monitoring module: Processes monitoring data and log data generated by the system. If any abnormality or change is detected in the front-end submodule, it notifies the relevant party via email through alarm configuration.

[0047] Configuration Management Module: Supports front-end sub-module permissions, access weights, A / B traffic, online and offline marking, parameter routing, server-side rate limiting, and other functions.

[0048] Inspection module: Maintains a heartbeat with the front-end sub-module instance through a long connection to monitor the liveness of the front-end sub-module. If an anomaly occurs, it immediately notifies the monitoring service.

[0049] Discovery module: With the help of notification functions, it can quickly receive service online / offline messages and push change information to business systems in real time.

[0050] Caching: Caches information such as front-end submodule instances, groups, provider responsible persons, and caller instances, allowing callers (business systems) to subscribe to information in real time.

[0051] 3) Auxiliary Server: Responsible for assisting the business server and registration server, providing notification functions, log query functions, business system configuration functions, database reading functions, and visualization functions. The auxiliary server may include the following functional modules:

[0052] The notification module acts as an intermediary between the business system and the registration server. It aggregates messages generated by the registration server and pushes them to the business system at regular intervals. This is done to prevent the business system from crashing due to excessive message volume on the registration server.

[0053] Log module: Provides log storage and query functions for business systems and registration servers.

[0054] Configuration module: Provides business systems with visual parameter configuration and variable configuration for different online environments.

[0055] Management module: This refers to the visual interface of the three main modules mentioned above.

[0056] 4) Database: All data generated by the entire solution is stored in the database, such as log data storage, module information storage, configuration center data storage, etc.

[0057] It should be understood that Figure 1 The number of business servers, registration servers, databases, and auxiliary servers shown is merely illustrative. Depending on implementation needs, any number of business servers, registration servers, databases, and auxiliary servers can be included.

[0058] In some optional implementations of this embodiment, the page module dynamic expansion system further includes: an auxiliary server configured to receive messages from the registration server, aggregate them to generate a message list, and periodically send the message list to the business system. The messages include at least one of the following: messages indicating a page module has been added, messages indicating a page module is not active, messages indicating a page module has been launched, and messages indicating a page module has been deactivated. By using the auxiliary server, messages can be pushed to the server periodically, avoiding the resource waste caused by real-time message pushes.

[0059] In some optional implementations of this embodiment, the business server is further configured to: generate a unique identifier for the newly added page module; periodically refresh the module data based on the unique identifier; and, in response to detecting an inaccessible page module during the refresh process, delete the module data of the inaccessible page module, redraw the page, and generate an updated page. Requesting a specific page's URL or interface URL and returning an error code indicates an inaccessible page, commonly 404, 500, or 503. This avoids loading inaccessible page modules, which could lead to a poor user experience.

[0060] In some optional implementations of this embodiment, the business server is further configured to: in response to receiving a business request for a target page module, send the business request to the registration server and receive the business processing result from the backend server of the target page module; and the registration server is further configured to: in response to receiving the business request, query the address of the backend server of the target page module according to the registration information of the target page module, and forward the business request to the backend server according to the address. Since the business system sends all requests for page modules to the registration server, service proxy processing is also required for requests to access page modules so that all requests to access page modules can access the real service address. This hides the real address of the page module and avoids the risk of exposing internal service IPs or domain names.

[0061] In some optional implementations of this embodiment, the registration server is further configured to: reject business requests from the business server for the target page module in response to detecting that the traffic of the target page module's backend server exceeds a predetermined threshold. This allows for rate limiting of requests to the page module, protecting the security of the page module's backend server.

[0062] In some optional implementations of this embodiment, the registration server is further configured to: output alarm information according to a pre-configured alarm method in response to detecting page module anomalies or changes. In addition to outputting alarm information on the monitoring display interface, relevant contacts can also be notified via email, SMS, or other means.

[0063] In some optional implementations of this embodiment, the registration server is further configured to: maintain a heartbeat with the backend server of the page module via a long connection; and send a message indicating that the page module is not alive in response to the heartbeat detection. The business server is further configured to: in response to receiving the message indicating that the page module is not alive, load the module data of the page modules other than the dead page module, and redraw the page to generate a page after the page module is deleted. The heartbeat detection checks for dead page modules. The business system loads the module data of the page modules other than the dead page modules, and then redraws the page; the new page will not display content related to the dead page modules.

[0064] In some optional implementations of this embodiment, the registration server is further configured to: load a preset configuration file, and set relevant parameters of the business server, the registration server, the page module, and the auxiliary server according to the configuration file.

[0065] In some optional implementations of this embodiment, the registration server is further configured to: in response to detecting an online request or an offline request for a page module, send an online message or an offline message for the page module; the business server is further configured to: in response to receiving the online message or offline message, reload the module data of the page module, redraw the page, and generate an updated page. Online and offline actions are performed by clicking buttons on the control interface provided by the registration server. Online and offline instructions are sent to the business system, and the business system then performs a series of automated program calculations based on these instructions to realize the online and offline actions of the page module.

[0066] In some optional implementations of this embodiment, the auxiliary server is further configured to: store the first log of the registration server and the second log of the business server; and, in response to receiving a query request from the target page module, query the relevant logs of the target page module from the first log and the second log. The first log of the registration server and the second log of the business server can be collected and stored in a database. Users can then specifically query the relevant logs.

[0067] Continue to refer to Figure 2 The diagram illustrates a flow 200 of an embodiment of a page module dynamic expansion method according to the present disclosure. This page module dynamic expansion method includes the following steps:

[0068] Step 201: Upon receiving the registration request for the new page module, the registration server registers the new page module according to the registration request and sends a message indicating that the page module has been added.

[0069] In this embodiment, the provider of a page module can apply to register a new page module through the control interface provided by the registration server. After uploading the page module's server address, page module data, page module name, and other information, the provider submits it to the registration server's registration module for registration. The registration server then notifies the business server that a new page module has been added and that the business server needs to update the page.

[0070] Step 202: Upon receiving the message that a page module has been added, the business server retrieves the module data of the new page module from the registration server, loads the module data, and redraws the page to generate the page after the page module has been added.

[0071] In this embodiment, after receiving the message about adding a new page module, the business server needs to obtain the module data of the new page module from the registration server. Based on the basic module data, the module data of the new page module is loaded, and then the page is redrawn to generate the page with the added module.

[0072] The method provided by the above embodiments of this disclosure offers an extension based on a registration server, enabling the front-end to automatically expand and remove page modules. The registration server can be used by any business system or simultaneously by multiple business systems, solving the problem of quickly expanding and removing functional modules from front-end pages.

[0073] See also Figure 3 , Figure 3 This is a schematic diagram illustrating an application scenario of the page module dynamic expansion method according to this embodiment. Figure 3 In the application scenario, the specific process is as follows:

[0074] Step 1: Adding a new page module to the front end requires registration on the registration server. You'll need to fill in the module's actual address, the provider, a brief description of its function, etc. If it's an existing module, skip to Step 3.

[0075] Step 2: Once the registration server detects a new page module registration, it will push the page module to the notification module of the auxiliary server. Then, it waits for the business system (the caller) to invoke the module.

[0076] Step 3: The business system accesses the registration server. The registration server may include multiple sub-servers. The registration server starts the addressing module and then finds the optimal sub-server (the one with the lowest relative request traffic). Because a page module may have many callers, and other callers may have high traffic, if all the traffic is directed to the same machine, that machine will crash. Therefore, a machine with relatively low traffic is selected to provide registration services.

[0077] Step 4: Then, locate the basic information of the front-end page module in the cache, especially the group information. Using a proxy service, forward the request to the actual address. Then, return the module name, IP address, module development manager, module testing manager, module product manager, deployment group information, etc., to the business system (caller).

[0078] Step 5: Module instance inspection, real-time detection of the liveness of front-end page modules. If a failure is found, immediately activate the notification mechanism and the monitoring service, and notify the responsible party by email to repair it.

[0079] Further reference Figure 4 This illustrates a flow 400 of another embodiment of the dynamic expansion method for page modules. Flow 400 of this dynamic expansion method for page modules includes the following steps:

[0080] Step 401: In response to detecting a page module's online request or a page module's offline request, the registration server sends an online message or a offline message for the page module.

[0081] In this embodiment, the provider of a page module can perform online and offline operations on the page module through the control interface provided by the registration server. After the provider selects a target page module and clicks the online button, the registration server sends an online message for the target page module to the business server. After the provider selects a target page module and clicks the offline button, the registration server sends an offline message for the target page module to the business server.

[0082] Step 402: Upon receiving an online or offline message, the business server reloads the module data of the page module and redraws the page to generate an updated page.

[0083] In this embodiment, if an online message is received, the system checks whether the target page module's module data has been saved in the business server. If not, the module data of the target page module is retrieved from the registration server. The module data of the online target page module is loaded, and the page is redrawn to generate an updated page. If an offline message is received, the module data of the offline target page module is not loaded, but the module data of other active page modules are retained, and the page is redrawn to generate an updated page.

[0084] In existing technology, taking a page module offline requires manually logging into the server, killing the original code's running state, and then deleting the code. If a page module is to be brought back online, it requires logging into the server, uploading the code to the service, installing the necessary software, and finally starting the service using Linux commands, allowing users to access it.

[0085] The method provided in the above embodiments of this disclosure allows the front-end to automatically expand and de-emerge page modules. The online and offline deployment of page modules can be automatically and dynamically expanded without frequent deployments by the main system, and the system will not be paused due to the online / offline deployment of page modules.

[0086] It should be noted that the collection, gathering, updating, analysis, processing, use, transmission, and storage of user personal information involved in this disclosed technical solution all comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken to prevent unauthorized access to user personal information data and to safeguard user personal information security, network security, and national security.

[0087] According to embodiments of this disclosure, this disclosure also provides an electronic device and a readable storage medium.

[0088] An electronic device includes: one or more processors; and a storage device having one or more computer programs stored thereon, which, when executed by the one or more processors, cause the one or more processors to implement the method described in process 200 or 400.

[0089] A computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in process 200 or 400.

[0090] Figure 5A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0091] like Figure 5 As shown, device 500 includes a computing unit 501, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 502 or a computer program loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.

[0092] Multiple components in device 500 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows device 500 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0093] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as road planning methods. For example, in some embodiments, the road planning method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the road planning method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the road planning method by any other suitable means (e.g., by means of firmware).

[0094] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0095] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0096] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0097] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0098] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0099] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be servers in distributed systems or servers incorporating blockchain technology. Servers can also be cloud servers, or intelligent cloud computing servers or intelligent cloud hosts with artificial intelligence technology.

[0100] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0101] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A dynamic page module expansion system, comprising: The registration server is configured to respond to a registration request for a new page module, register the new page module according to the registration request, and send a message indicating that the page module has been added. The business server is configured to, in response to receiving a message that the page module has been added, obtain the module data of the newly added page module from the registration server, load the module data, and redraw the page to generate the page after the page module has been added.

2. The system according to claim 1, wherein, The system also includes: An auxiliary server is configured to receive messages from the registration server, aggregate them to generate a message list, and periodically send the message list to the business system. The messages include at least one of the following: messages about page modules being added, messages about page modules being offline, messages about page modules being online, and messages about page modules being offline.

3. The system according to claim 1, wherein, The service server is further configured to: Generate a unique identifier for the newly added page module; The module data is refreshed periodically based on the unique identifier. In response to the detection of inaccessible page modules during the refresh process, the module data of the inaccessible page modules is deleted, the page is redrawn, and an updated page is generated.

4. The system according to claim 1, wherein, The business server is further configured to: in response to receiving a business request for a target page module, send the business request to the registration server, and receive the business processing result from the backend server of the target page module; and The registration server is further configured to: in response to receiving the business request, query the address of the backend server of the target page module based on the registration information of the target page module, and forward the business request to the backend server based on the address.

5. The system according to claim 1, wherein, The registration server is further configured to: In response to the detection that the traffic of the backend server of the target page module exceeds a predetermined threshold, the service request for the target page module from the service server is rejected.

6. The system according to claim 1, wherein, The registration server is further configured to: In response to the detection of page module abnormalities or changes, alarm information is output according to the pre-configured alarm method.

7. The system according to claim 1, wherein, The registration server is further configured to: maintain a heartbeat with the backend server of the page module via a long connection; and send a message indicating that the page module is not alive in response to the heartbeat detecting that the page module is not alive. The business server is further configured to: in response to receiving a message that the page module is not alive, load the module data of the page modules other than the page module that is not alive, and redraw the page to generate the page after the page module is deleted.

8. The system according to claim 2, wherein, The registration server is further configured to: Load the preset configuration file, and set the relevant parameters of the business server, the registration server, the page module, and the auxiliary server according to the configuration file.

9. The system according to claim 1, wherein, The registration server is further configured to: in response to detecting an online request or an offline request of a page module, send an online message or an offline message of the page module. The business server is further configured to: in response to receiving the online or offline message, reload the module data of the page module, redraw the page, and generate an updated page.

10. The system according to claim 2, wherein, The auxiliary server is further configured to: Store the first log of the registration server and the second log of the business server; In response to receiving a query request from the target page module, the relevant logs of the target page module are queried from the first log and the second log.

11. A method for dynamically expanding page modules, comprising: Upon receiving a registration request for a new page module, the registration server registers the new page module according to the registration request and sends a message indicating that the page module has been added. In response to receiving the message that the page module has been added, the business server obtains the module data of the newly added page module from the registration server, loads the module data, and redraws the page to generate the page after the page module has been added.

12. An electronic device, comprising: One or more processors; Storage device, on which one or more computer programs are stored, When the one or more computer programs are executed by the one or more processors, the one or more processors perform the method as described in claim 11.

13. A computer-readable medium having a computer program stored thereon, wherein, When the computer program is executed by a processor, it implements the method as described in claim 11.

14. A computer program product comprising a computer program that, when executed by a processor, implements the method according to claim 11.