Electronic map operation and maintenance method, electronic map data use method and service system
By using back-end development equipment and virtual cloud server clusters in the electronic map service system to generate mirror data at different development stages and perform identification information management, the shortcomings of electronic map data management and version control in the existing technology are solved, efficient data management and version control are achieved, development costs are reduced and user experience is improved.
Patent Information
- Application Number
- CN202210111748.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-29
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2042-01-29
AI Technical Summary
When performing regional deletion and merging, the existing electronic map production process lacks efficient data management and version control, resulting in high development costs and poor user experience.
By introducing back-end development equipment and virtual cloud server clusters into the electronic map service system, mirror data at different development stages are generated and identification information is generated in the virtual cloud server cluster, which is used to distinguish and manage different versions of electronic map data.
It realizes efficient management and version control of electronic map data, reduces development costs, improves user experience, and provides a foundation for version rollback.
Smart Images

Figure CN114490073B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to an electronic map operation and maintenance method, an electronic map data use method, and an electronic map service system. Background Art
[0002] With the diversification of the needs of smart life, the use of electronic maps is becoming more and more widespread. The commonly used electronic map production process is: generate the original electronic map through mapping software and upload it to the map maker, and then the map maker can develop based on the original electronic map and publish it to the server. The new version of the electronic map will directly replace the old version of the electronic map in the server. When it is necessary to perform operations such as area deletion and area merging on the electronic map according to the actual planning of the building, you can log in to the development platform of the map maker to perform the operation. Summary of the invention
[0003] In a first aspect, the present disclosure provides an electronic map operation and maintenance method, which is applied to an electronic map service system, wherein the electronic map service system includes a backend development device and a virtual cloud server cluster, wherein the backend development device is communicatively connected to the virtual cloud server cluster, and the method includes:
[0004] The back-end development device obtains the target electronic map data to be updated;
[0005] The back-end development device sequentially generates mirror data of different development stages corresponding to the target electronic map data;
[0006] The back-end development device publishes each of the mirror data to the virtual cloud server cluster in sequence, wherein the mirror data of the last development stage in each of the mirror data constitutes the new version of the electronic map data, and the other mirror data in each of the mirror data except the mirror data of the last development stage constitutes the old version of the electronic map processing process data;
[0007] The virtual cloud server cluster generates identification information corresponding to each of the mirror data, wherein the identification information is used to distinguish different mirror data.
[0008] Optionally, the sequentially generating mirror data of different development stages corresponding to the target electronic map data includes:
[0009] sequentially generating branch data of different development stages corresponding to the target electronic map data;
[0010] After each branch data is generated, the branch data is packaged into a process file;
[0011] Building the process file into mirror data;
[0012] Among them, the branch data of different development stages include development branch data, test branch data and pre-release branch data, and correspondingly, the mirror data of different development stages include development environment electronic map data mirror, test environment electronic map data mirror and production environment electronic map data mirror.
[0013] Optionally, publishing each of the mirror data to the virtual cloud server cluster in sequence includes:
[0014] After each image data is constructed, the image data is published to the virtual cloud server cluster.
[0015] Optionally, the branch data at different development stages are all stored in the project code repository of the backend development device, and the mirror data at different development stages include the storage address of the project code repository and the branch name corresponding to the mirror data;
[0016] The generating identification information corresponding to each of the mirror data includes:
[0017] Determine the current timestamp of generating the identification information this time according to the current timestamp and the historical timestamp of generating the identification information last time;
[0018] Encode the current timestamp to obtain a first value;
[0019] For each of the mirror data, read the storage address of the project code repository and the branch name corresponding to the mirror data from the mirror data;
[0020] Generate a second value according to the storage address of the project code repository and the branch name corresponding to the mirror data;
[0021] The first value and the second value are combined or operated to obtain identification information corresponding to the mirror data.
[0022] Optionally, determining the current timestamp of generating the identification information this time according to the current timestamp and the historical timestamp of last generating the identification information includes:
[0023] Determine whether the current first timestamp is less than the historical timestamp of the last time the identification information was generated;
[0024] If the first timestamp is greater than or equal to the historical timestamp, the latest second timestamp is determined as the current timestamp for generating the identification information this time.
[0025] Optionally, before determining the timestamp of generating the identification information this time according to the current timestamp and the historical timestamp of generating the identification information last time, the method further includes:
[0026] Accumulate the historical sequence number corresponding to the operation of generating the identification information last time to obtain the current sequence number corresponding to the operation of generating the identification information this time;
[0027] If the first timestamp is greater than or equal to the historical timestamp, determining the latest second timestamp as the current timestamp for generating the identification information this time includes:
[0028] If the first timestamp is equal to the historical timestamp, determining whether the current sequence number is equal to a preset maximum value;
[0029] If the current sequence number is equal to the preset maximum value, blocking the preset time length to release temporary resources, and determining the latest second timestamp as the current timestamp for generating the identification information this time;
[0030] If the current sequence number is less than the preset maximum value, the latest second timestamp is determined as the current timestamp for generating the identification information this time.
[0031] Optionally, if the first timestamp is greater than or equal to the historical timestamp, determining the latest second timestamp as the current timestamp for generating the identification information this time includes:
[0032] If the first timestamp is greater than the historical timestamp, the current sequence number is set to 0, and the latest second timestamp is determined as the current timestamp for generating the identification information this time.
[0033] Optionally, the determining whether the current first timestamp is less than the historical timestamp of the last time the identification information was generated further includes:
[0034] If the first timestamp is smaller than the historical timestamp, invalid identification information is generated.
[0035] Optionally, generating a second value according to the storage address of the project code repository and the branch name corresponding to the mirror data includes:
[0036] Hash-encode the storage address of the project code repository to obtain a first hash value;
[0037] Performing hash coding on the branch name corresponding to the mirror data to obtain a second hash value, thereby obtaining a second value including the first hash value and the second hash value;
[0038] The combining or operating the first value and the second value to obtain identification information corresponding to the mirror data includes:
[0039] The first numerical value, the first Hash value, and the second Hash value are combined or operated to obtain identification information corresponding to the mirror data.
[0040] Optionally, after generating identification information corresponding to each of the mirror data, the method further includes:
[0041] A corresponding data processing interface is configured for each mirror data, wherein the data processing interface is used to add data, delete data, modify data, and search data for the mirror data corresponding to the data processing interface.
[0042] In a second aspect, the present disclosure further provides a method for using electronic map data, which is applied to the electronic map service system in the electronic map operation and maintenance method described in the first aspect above, wherein the electronic map service system further includes a business server cluster, and the virtual cloud server cluster is communicatively connected to the business server cluster. The method is used to use the mirror data obtained by the electronic map operation and maintenance method described in the first aspect above, and the method includes:
[0043] The service server cluster receives an electronic map download request sent by a user terminal;
[0044] The business server cluster sends a request for obtaining the new version of the electronic map data to the virtual cloud server cluster in response to the electronic map download request;
[0045] The virtual cloud server cluster sends the new version of the electronic map data to the business server cluster in response to the acquisition request;
[0046] The business server cluster sends the new version of the electronic map data to the user terminal.
[0047] Optionally, the method further comprises:
[0048] The business server cluster detects whether the virtual cloud server cluster has updated electronic map data by polling the virtual cloud server cluster;
[0049] When the virtual cloud server cluster obtains new version electronic map data after updating, the virtual cloud server cluster sends the new version electronic map data to the business server cluster;
[0050] When receiving the new version of the electronic map data, the service server cluster sends a prompt message to the user terminal, wherein the prompt message is used to prompt the terminal user to download the new version of the electronic map data to update to the latest electronic map.
[0051] Optionally, the electronic map service system further includes a reverse proxy server cluster, and the business server cluster is communicatively connected to the user terminal via the reverse proxy server cluster.
[0052] Optionally, the business server cluster receives an electronic map download request sent by a user terminal, including: the reverse proxy server cluster receives the electronic map download request sent by the user terminal; the reverse proxy server cluster schedules the electronic map download request to a target business server in the business server cluster according to a preset scheduling mechanism; the target business server receives the electronic map download request;
[0053] The business server cluster sends a request for obtaining the new version of the electronic map data to the virtual cloud server cluster in response to the electronic map download request, including: the target business server sends a request for obtaining the new version of the electronic map data to the virtual cloud server cluster in response to the electronic map download request;
[0054] The business server cluster sends the new version of the electronic map data to the user terminal, including: the target business server sends the new version of the electronic map data to the reverse proxy server cluster; the reverse proxy server cluster sends the new version of the electronic map data to the user terminal.
[0055] Optionally, the method further comprises:
[0056] The business server cluster sends a big data service request to the virtual cloud server cluster;
[0057] The virtual cloud server cluster obtains required related data from at least one of the mirror data in response to the big data service request;
[0058] The virtual cloud server cluster processes the relevant data according to the big data service request to obtain a processing result;
[0059] The virtual cloud server cluster sends the processing result to the business server cluster.
[0060] Optionally, in response to the big data service request, obtaining required related data from at least one of the mirror data includes:
[0061] In response to the big data service request, required related data is obtained from at least one of the mirror data through the address and port of the mirror data in the local area network to which the virtual cloud server cluster belongs.
[0062] Optionally, the performing data processing on the relevant data includes:
[0063] Performing data analysis on the relevant data by using a data analysis model;
[0064] and / or,
[0065] Generate a visual chart based on the relevant data.
[0066] In a third aspect, the present disclosure further provides an electronic map service system, including a backend development device and a virtual cloud server cluster, wherein the backend development device is communicatively connected with the virtual cloud server cluster;
[0067] The back-end development device is configured to obtain target electronic map data to be updated; sequentially generate mirror data of different development stages corresponding to the target electronic map data; and sequentially publish each of the mirror data to the virtual cloud server cluster, wherein the mirror data of the last development stage in each of the mirror data constitutes the new version of the electronic map data, and the other mirror data in each of the mirror data except the mirror data of the last development stage constitutes the old version of the electronic map processing process data;
[0068] The virtual cloud server cluster is configured to generate identification information corresponding to each of the mirror data, wherein the identification information is used to distinguish different mirror data.
[0069] Optionally, the electronic map service system further includes a business server cluster, and the virtual cloud server cluster is communicatively connected to the business server cluster;
[0070] The business server cluster is configured to send a computing service request to the virtual cloud server cluster;
[0071] The virtual cloud server cluster is further configured to obtain relevant data required for calculation from at least one of the mirror data in response to the computing service request; perform data analysis on the relevant data according to the computing service request to obtain analysis results; and send the analysis results to the business server cluster.
[0072] Optionally, the electronic map service system further comprises a reverse proxy server cluster, the business server cluster comprises a plurality of business servers, and the reverse proxy server cluster is communicatively connected with each of the business servers;
[0073] The reverse proxy server cluster is configured to dispatch the request sent by the user terminal to one of the service servers in the service server cluster according to a preset dispatching mechanism.
[0074] The above description is only an overview of the technical solution of the present disclosure. In order to more clearly understand the technical means of the present disclosure, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present disclosure more obvious and easy to understand, the specific implementation methods of the present disclosure are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0076] Figure 1 A flowchart showing the steps of an electronic map operation and maintenance method according to an embodiment of the present disclosure is shown;
[0077] Figure 2 A block diagram of an electronic map service system according to an embodiment of the present disclosure is shown;
[0078] Figure 3 A flowchart showing another method for operating and maintaining an electronic map according to an embodiment of the present disclosure is shown;
[0079] Figure 4 A flowchart of electronic map operation and maintenance according to an embodiment of the present disclosure is shown;
[0080] Figure 5 A flow chart of generating a first value according to an embodiment of the present disclosure is shown;
[0081] Figure 6 Another flow chart for generating a first value according to an embodiment of the present disclosure is shown;
[0082] Figure 7 A flow chart of generating a unique ID according to an embodiment of the present disclosure is shown;
[0083] Figure 8 A flowchart showing a method for using electronic map data according to an embodiment of the present disclosure is shown;
[0084] Fig. 9 A block diagram of another electronic map service system according to an embodiment of the present disclosure is shown;
[0085] Fig.10 A flow chart of updating electronic map data in a user terminal according to an embodiment of the present disclosure is shown;
[0086] Fig.11 A block diagram of another electronic map service system according to an embodiment of the present disclosure is shown;
[0087] Fig.12 A flowchart of providing big data services according to an embodiment of the present disclosure is shown. Specific embodiments
[0088] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0089] Unless otherwise defined, the technical terms or scientific terms used in the present disclosure should be understood by people with ordinary skills in the field to which the present disclosure belongs. The "first", "second" and similar words used in the present disclosure do not indicate any order, quantity or importance, but are only used to distinguish different components. Similarly, similar words such as "one", "one" or "the" do not indicate a quantitative limit, but indicate that there is at least one. Similar words such as "include" or "include" mean that the elements or objects appearing before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Similar words such as "connect" or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. Positional words such as "upper", "lower", "left", "right" are only used to indicate the relative position relationship based on the drawings. When the absolute position of the described object changes, the relative position relationship may also change accordingly.
[0090] Reference Figure 1 , showing a flowchart of the steps of an electronic map operation and maintenance method according to an embodiment of the present disclosure, the method is applied to an electronic map service system, referring to Figure 2 The electronic map service system 100 includes a backend development device 10 and a virtual cloud server cluster 20 , wherein the backend development device 10 is communicatively connected with the virtual cloud server cluster 20 .
[0091] In some embodiments, the backend development device 10 may be a terminal or other device used by electronic map developers to develop electronic map backends, which is not specifically limited in the embodiments of the present disclosure. It is understood that in the embodiments of the present disclosure, the backend development device 10 may include at least one device.
[0092] In some embodiments, the virtual cloud server cluster 20 is a server cluster that can provide cloud services and provides a virtualized environment, wherein the virtual cloud server cluster 20 can provide cloud services based on multiple physical servers.
[0093] The method comprises the following steps:
[0094] Step 101: The back-end development device obtains the target electronic map data to be updated.
[0095] When an electronic map is made for the first time, the original electronic map can be drawn through a map editor according to the actual drawings of the building. Subsequently, related functions need to be developed based on the original electronic map, such as identifying positioning devices such as Bluetooth beacons. Therefore, the original electronic map is used as the target electronic map data to be updated.
[0096] In some embodiments, the back-end development device can obtain the original electronic map by drawing it through a map editor based on the actual drawings of the building. Of course, the original electronic map can also be sent to the back-end development device after being drawn on other devices or platforms. The embodiments of the present disclosure are not limited to this.
[0097] When making electronic maps for the second time and subsequently, it is necessary to develop functions such as optimization or map modification based on the old version of electronic map data. Therefore, in this case, the latest version of electronic map data released last time is used as the target electronic map data to be updated.
[0098] Optionally, the target electronic map data may specifically include vector data, road network data, and location data of some positioning devices (such as Bluetooth beacons), etc.
[0099] Also optionally, the area indicated by the target electronic map data may include at least a portion of an indoor area and / or at least a portion of an outdoor area, which is not limited in the embodiments of the present disclosure.
[0100] Step 102: The back-end development device sequentially generates mirror data of different development stages corresponding to the target electronic map data.
[0101] In the process of developing electronic maps, the back-end development equipment can develop the target electronic map data in three stages, namely the preliminary development stage, the testing stage and the pre-release stage. In the preliminary development stage, the target electronic map can be developed with related functions such as target object identification and regional integration. After the development is completed, it enters the testing stage; in the testing stage, the target electronic map can be functionally tested, and if the test passes, it enters the pre-release stage; in the pre-release stage, the target electronic map data can be deleted of redundant data, final verification, etc.
[0102] After each development stage is completed, the data obtained in this stage can be constructed into mirror data, thereby obtaining three mirror data.
[0103] Step 103: The backend development device publishes each mirror data to the virtual cloud server cluster in turn, wherein the mirror data of the last development stage in each mirror data constitutes the new version of the electronic map data, and the other mirror data in each mirror data except the mirror data of the last development stage constitutes the old version of the electronic map processing process data.
[0104] After the backend development device generates each image data, it can publish the image data to the virtual cloud server cluster.
[0105] Among them, the mirror data corresponding to the pre-release stage is the electronic map data obtained based on the production environment of the actual application. Therefore, the mirror data of the last development stage in each mirror data, that is, the mirror data obtained in the pre-release stage, constitutes the new version of the electronic map data, which can be provided to the user terminal for use.
[0106] The mirror data obtained in the preliminary development stage records what functions have been developed for the target electronic map, and the mirror data obtained in the testing stage records what functions have been tested on the target electronic map. Therefore, the other mirror data in each mirror data except the mirror data in the last development stage, that is, the mirror data obtained in the preliminary development stage and the mirror data obtained in the testing stage, constitute the processing data of the old version of the electronic map.
[0107] Since the mirror data obtained in the initial development and testing phases can reflect the development and testing process of the target electronic map, the old electronic map processing data is retained in the virtual cloud server cluster together with the new electronic map data, so that the historical electronic map data can be maintained in the virtual cloud server cluster. Historical electronic map data is very important for the improvement of electronic map services. By statistically analyzing historical electronic map data, electronic map services can be optimized and user experience can be improved.
[0108] In addition, the old version of the electronic map processing process data is retained together with the new version of the electronic map data in the virtual cloud server cluster, so that the old version can be rolled back when problems arise in the newly released new version of the electronic map data. This avoids the need for a large amount of time to redevelop the electronic map when problems arise in the new version of the electronic map data, which affects user use. Therefore, the embodiment of the present disclosure can reduce development costs and improve user experience by maintaining the old version of the electronic map processing process data.
[0109] Step 104: The virtual cloud server cluster generates identification information corresponding to each mirror data, where the identification information is used to distinguish different mirror data.
[0110] In the disclosed embodiment, corresponding identification information can be generated for the mirror data at each development stage, so that each mirror data can be distinguished by unique identification information, thereby realizing the distinction between new and old versions of electronic map data, and also realizing the distinction between data obtained at different development stages.
[0111] In the embodiment of the present disclosure, the mirror data of each development stage is distinguished by different identification information, so that when problems occur in the new version of the electronic map later, it is easy to find out which development stage the problem occurred in and repair the mirror data of different development stages.
[0112] The disclosed embodiment may adopt a clustered server architecture. Compared with a single server, a clustered server has a strong fault recovery capability and can promptly switch the services related to the server that has experienced a downtime failure to other servers. In the disclosed embodiment, various versions of historical electronic map data can be distributedly stored through different servers in the cluster, and the mirror data is identified by unique identification information within the cluster. In this way, when a server has a downtime failure and needs to migrate data and related services to other servers, the unique identification information within the cluster can ensure that in the migrated server, the migrated mirror data and the original mirror data in the server can be distinguished.
[0113] In the disclosed embodiment, the back-end development device first obtains the target electronic map data to be updated, and then sequentially generates mirror data of different development stages corresponding to the target electronic map data, and sequentially publishes each mirror data to the virtual cloud server cluster, wherein the mirror data of the last development stage in each mirror data constitutes the new version of the electronic map data, and the other mirror data in each mirror data constitutes the old version of the electronic map processing data, and then the virtual cloud server cluster can generate identification information corresponding to each mirror data to distinguish different mirror data. In the disclosed embodiment, while publishing the new version of the electronic map data to the virtual cloud server cluster, the old version of the electronic map processing data can be retained, and each mirror data can be distinguished by unique identification information, thereby realizing the maintenance and management of historical electronic map data and providing a basis for version rollback.
[0114] Reference Figure 3 , showing a step flow chart of another electronic map operation and maintenance method according to an embodiment of the present disclosure. Before describing the method, some related contents are first introduced.
[0115] In some optional embodiments, the virtual cloud server cluster can be a K8S cluster, which is an open source container cluster management system that provides functions such as application deployment, maintenance, and expansion mechanism. It can be used to manage containerized applications on multiple hosts in the cloud platform. The K8S cluster can make the containerized deployment of applications simple and efficient.
[0116] The process of integrating applications into containers and running them is called containerization. In containerized deployment, applications can be containerized first through Docker. Docker is an open source application container engine that allows developers to package their applications and dependent packages into a portable container and then publish them to computers running operating systems such as Linux and Windows, or to virtualized environments such as K8S clusters.
[0117] Combination Figure 4 The specific process of electronic map operation and maintenance shown in the figure includes the following steps:
[0118] Step 201: The back-end development device obtains the target electronic map data to be updated.
[0119] The implementation of this step may refer to step 101 of the above embodiment.
[0120] Step 202: The backend development device sequentially generates branch data of different development stages corresponding to the target electronic map data, wherein the branch data of different development stages include development branch data, test branch data and pre-release branch data.
[0121] Reference Figure 4 The data obtained after the initial development stage is the development branch data, the data obtained after the test stage is the test branch data, and the data obtained after the pre-release stage is the pre-release branch data. The branch data of different development stages are stored in the project code warehouse of the back-end development device. In actual applications, different development projects correspond to different project code warehouses, and different project code warehouses have different storage addresses in the back-end.
[0122] Step 203: After each branch data is generated, the backend development device packages the branch data into a process file.
[0123] Reference Figure 4 After the back-end development device generates the development branch data, it can be submitted to the test branch and packaged into a development process file; after the back-end development device completes the testing and generates the test branch data, it can be submitted to the pre-release branch and packaged into a test process file; after the back-end development device generates the pre-release branch data, it can be packaged into a pre-release process file.
[0124] Optionally, refer to Figure 4 Taking the Maven project (Maven is a tool with functions such as project building, project dependency management, and project information management) as an example, the back-end development equipment can package the branch data into a process file through the mvn cleanpackage command.
[0125] Step 204: the back-end development device constructs the process file into mirror data, wherein the mirror data at different development stages includes a development environment electronic map data mirror, a test environment electronic map data mirror, and a production environment electronic map data mirror.
[0126] Reference Figure 4 The back-end development device can build the development process files into the development environment electronic map mirror data (mirror data is also called mirror), build the test process files into the test environment electronic map mirror data, and build the development process files into the production environment electronic map mirror data.
[0127] Taking containerization through Docker and the virtual cloud server cluster as a K8S cluster as an example, the creation of image data can be done by writing and configuring the Dockerfile script and then executing the docker build command. When the docker build command is executed, docker will find the Dockerfile script file and create a docker image according to the instructions in the Dockerfile script file.
[0128] Dockerfile scripts usually include the following four parts: basic image information, maintainer information, image operation instructions, and instructions executed when the container is started. Among them, the basic image can be the basic image provided by Docker, such as nodejs image, java image, mongodb image, nginx image, etc., or it can be a basic image provided by a third party; the maintainer is the maintainer of the process file; the image operation instructions include instructions to copy the process file to a directory in the container, instructions to specify the directory to be operated as the directory, instructions to create an image, and instructions to expose the container's external port, etc.
[0129] In the disclosed embodiment, the development environment electronic map data image, the test environment electronic map data image and the production environment electronic map data image can all be constructed in the above manner. Through containerized deployment, the automatic image construction of the electronic map operation and maintenance process is realized, the deployment efficiency of the electronic map application is improved, the labor cost is saved, and data management is facilitated.
[0130] Step 205: After each image data is constructed, the backend development device publishes the image data to the virtual cloud server cluster.
[0131] Reference Figure 4 After the back-end development equipment builds the development environment electronic map data image, it can publish the development environment electronic map data image to the virtual cloud server cluster; after the back-end development equipment builds the test environment electronic map data image, it can publish the test environment electronic map data image to the virtual cloud server cluster; after the back-end development equipment builds the production environment electronic map data image, it can publish the production environment electronic map data image to the virtual cloud server cluster.
[0132] Each time the backend development device publishes a piece of image data to the virtual cloud server cluster, the virtual cloud server cluster can generate unique identification information for the image data through subsequent steps to distinguish different image data for easy data management.
[0133] Step 206: The virtual cloud server cluster determines the current timestamp for generating the identification information this time according to the current timestamp and the historical timestamp of the last time the identification information was generated.
[0134] In the disclosed embodiment, the virtual cloud server cluster can generate a corresponding unique ID as identification information for each mirror data through a unique ID (Identity) generator. In some embodiments, the unique ID generator can generate a unique ID based on a timestamp.
[0135] Specifically, in an optional implementation, step 206 may include the following steps:
[0136] S1: Determine whether the current first timestamp is smaller than the historical timestamp of the last time the identification information was generated.
[0137] S2: If the first timestamp is greater than or equal to the historical timestamp, the latest second timestamp is determined as the current timestamp for generating the identification information this time.
[0138] Figure 5 A flowchart of a unique ID generator generating a first value is shown, referring to Figure 5, the unique ID generator can first obtain the current timestamp, that is, the first timestamp, and then determine whether the current first timestamp is less than the historical timestamp of the last unique ID generation. If the first timestamp is greater than or equal to the historical timestamp, it means that the start time of the current generation of the unique ID is equal to or later than the time when the unique ID was generated last time, and the timing is correct, and then the latest second timestamp can be determined as the current timestamp of the current generation of the identification information. Among them, the first timestamp is the time when step S1 is executed, and the second timestamp is the time when step S2 is executed, and the second timestamp is later than the first timestamp. In actual applications, since the server executes the steps very quickly, the time difference between the second timestamp and the first timestamp is less than seconds.
[0139] Furthermore, in actual applications, the unique ID generator will generate some temporary cache data, such as calculation examples, in the process of generating a unique ID, thereby occupying some CPU (Central Processing Unit) resources, such as computing resources, storage resources, etc. Therefore, in the embodiments of the present disclosure, optionally, the virtual cloud server cluster can also count the number of times the unique ID generator continuously generates a unique ID by accumulating serial numbers. When the serial number accumulates to a certain value, the temporary cache data is uniformly released, thereby releasing CPU resources. In this way, the space and resources in the virtual cloud server cluster can be effectively utilized.
[0140] The virtual cloud server cluster can represent the serial number by a fixed-bit binary number, thereby limiting the maximum value of the serial number. For example, the value range of a 16-bit serial number is 0-65535, that is, the maximum value of the serial number can be accumulated to 65535. Therefore, when the serial number accumulates to the maximum value, the temporary cache data can be released uniformly.
[0141] Specifically, before step 206, the following steps are also included:
[0142] The historical serial number corresponding to the operation of generating identification information last time is accumulated to obtain the current serial number corresponding to the operation of generating identification information this time.
[0143] Accordingly, Figure 6 A flowchart of another unique ID generator generating a first value is shown, referring to Figure 6 , step S2 may specifically include:
[0144] S21: If the first timestamp is equal to the historical timestamp, determine whether the current sequence number is equal to a preset maximum value;
[0145] S22: If the current sequence number is equal to the preset maximum value, block the preset time length to release temporary resources, and determine the latest second timestamp as the current timestamp for generating the identification information this time;
[0146] S23: If the current sequence number is less than the preset maximum value, the latest second timestamp is determined as the current timestamp for generating the identification information this time.
[0147] Among them, when it is necessary to generate a unique ID this time, a preset value, such as 1, can be added to the serial number corresponding to the unique ID generated last time, so as to obtain the current serial number corresponding to the operation of generating identification information this time. Furthermore, when the unique ID generator determines that the first timestamp is not less than the historical timestamp, it is necessary to further determine whether the first timestamp is greater than or equal to the historical timestamp. If the first timestamp is equal to the historical timestamp, it means that the current generation process is carried out immediately after the last generation process, and it is a continuous generation process with the last time, then the unique ID generator needs to continue to determine whether the current serial number is equal to the preset maximum value, wherein the preset maximum value is also the maximum binary number that can be represented by the serial number bits (such as 65535 in the above example).
[0148] The first case: If the serial number is equal to the preset maximum value, the process of generating the unique ID will be blocked for a preset period of time, that is, it will be suspended for a preset period of time. During the blocking process, temporary data can be cleaned up and temporary resources can be released. After the blocking reaches the preset period of time, the process will continue and the latest second timestamp will be determined as the timestamp of generating the unique ID this time.
[0149] The second case: if the current serial number is less than the preset maximum value, the latest second timestamp is directly determined as the current timestamp for generating the unique ID this time.
[0150] Among them, in the first case, the serial number is equal to the preset maximum value, but still does not exceed the preset maximum value. Therefore, the generation process can be successfully completed this time to generate a valid ID.
[0151] In addition, in the first case, since the process of generating the unique ID is blocked, the second timestamp in the first case is delayed by a preset time length compared to the second timestamp in the second case. In some embodiments, the preset time length may be 1 second.
[0152] In addition, step S2 may further include:
[0153] S24: If the first timestamp is greater than the historical timestamp, the current sequence number is set to 0, and the latest second timestamp is determined as the current timestamp for generating the identification information this time.
[0154] Among them, if the current first timestamp is greater than the historical timestamp of the last generation of the unique ID, it means that there is a certain time interval between the current generation process and the last generation process, and it is a discontinuous generation process with the last time. In this case, the unique ID generator can set the current serial number to 0, so that the next time the unique ID is generated, the serial number starts to accumulate from 0. After the current serial number is set to 0, the latest second timestamp is determined as the current timestamp of the current generation of the unique ID.
[0155] The above-mentioned blocking step can make the starting time of the next generation of the unique ID not equal to the time when the unique ID was generated last time, so that the next generation process is discontinuous with the current generation process. When step S1 is executed in the next generation process, it will be judged that the first timestamp is greater than the historical timestamp, and then the next serial number will be set to 0 through step S24, so that the next serial number will not exceed the maximum value allowed by the serial number (that is, the preset maximum value).
[0156] In addition, after step S1, refer to Figure 5 and Figure 6 , and may also include the following steps:
[0157] S3: If the first timestamp is smaller than the historical timestamp, invalid identification information is generated.
[0158] If the current first timestamp is less than the historical timestamp of the last unique ID generation, it means that the start time of the current unique ID generation is earlier than the time when the unique ID was generated last time, the timing is incorrect, and an invalid ID can be generated.
[0159] Step 207: The virtual cloud server cluster encodes the current timestamp to obtain a first value.
[0160] Reference Figure 5 and Figure 6 After the unique ID generator obtains the current timestamp, it can encode the current timestamp to obtain the first value. In the disclosed embodiment, the first value is related to the timestamp of the current generation of the unique ID, and therefore has uniqueness.
[0161] Step 208: For each image data, the virtual cloud server cluster reads the storage address of the project code repository and the branch name corresponding to the image data from the image data, wherein the branch data of different development stages are stored in the project code repository of the back-end development device, and the image data of different development stages include the storage address of the project code repository and the branch name corresponding to the image data.
[0162] Figure 7 A flowchart of a unique ID generator generating a unique ID is shown, referring to Figure 7For each image data, the unique ID generator can read the storage address of the project code repository and the branch name corresponding to the image data from the image data. Different projects (such as Maven projects) have different code repositories, and the storage addresses of the code repositories are also different, and different image data in the same project have different branch names.
[0163] Step 209: The virtual cloud server cluster generates a second value according to the storage address of the project code repository and the branch name corresponding to the mirror data.
[0164] The unique ID generator may generate a second value related to the project to which the image data belongs and the corresponding branch according to the storage address of the project code repository and the branch name corresponding to the image data.
[0165] In some embodiments, reference Figure 7 Step 209 can be specifically implemented by the following steps, including:
[0166] Hash the storage address of the project code repository to obtain a first hash value;
[0167] The branch name corresponding to the mirror data is hash-encoded to obtain a second hash value, thereby obtaining a second value including the first hash value and the second hash value.
[0168] Among them, the unique ID generator can use a hash algorithm to hash the storage address of the project code repository and the branch name corresponding to the image data, thereby obtaining a first hash value related to the project and a second hash value related to the branch corresponding to the image, and the second value includes the first hash value and the second hash value.
[0169] Step 210: The virtual cloud server cluster combines or operates the first value and the second value to obtain identification information corresponding to the mirror data, wherein the identification information is used to distinguish different mirror data.
[0170] In the case where the second value includes a first hash value and a second hash value, step 210 may include:
[0171] The first numerical value, the first Hash value, and the second Hash value are combined or operated to obtain identification information corresponding to the mirror data.
[0172] The combination method may be to combine the first numerical value, the first hash value, and the second hash value into a numerical value according to a preset arrangement order, and the numerical value is the unique ID of the mirror data. The operation method may be to operate the first numerical value, the first hash value, and the second hash value according to a preset operation method, such as addition, multiplication, etc., to obtain a calculation result, and the calculation result is the unique ID of the mirror data.
[0173] In the embodiment of the present disclosure, the first value is unique, and the second value is related to the project and the corresponding branch to which the mirror data belongs. Therefore, the identification information obtained based on the first value and the second value can not only be used to distinguish different mirror data, but also can reflect the project and the corresponding branch to which the mirror data belongs. In this way, when problems occur in the mirror data during the operation and maintenance process, the problematic project and branch can be quickly found based on the identification information of the mirror data, thereby improving the operation and maintenance efficiency.
[0174] Of course, in practical applications, the unique ID can also be optionally generated using a UUID (Universally Unique Identifier) generator, Redis atomic self-increment, a snowflake algorithm, etc., and the embodiments of the present disclosure are not limited to this.
[0175] In actual applications, after a set of development environment electronic map data images, test environment electronic map data images, and production environment electronic map data images are released, when the actual site corresponding to the drawing has changes such as area deletion (for example, a certain building is planned outside the park), area merger (for example, adding an area to merge into a parking lot to expand parking spaces), etc., the electronic map can be first modified in the back-end development device, and the area to be deleted from the electronic map is deleted, or the area to be merged is drawn in the electronic map, so as to obtain an updated electronic map, and then new development branch data is obtained after other development. Then, new test branch data and new pre-release branch data are obtained through testing and other links, and then through steps 203-210, a new set of development environment electronic map data images, test environment electronic map data images, and production environment electronic map data images are obtained, so as to achieve area deletion and area merger of the electronic map.
[0176] Each time the actual site changes, three mirror data can be obtained based on the actual site after the change, and the three mirror data released each time can be stored in the virtual cloud server cluster and distinguished by unique identification information within the cluster.
[0177] In addition, in some embodiments, the following steps may be included after step 210:
[0178] A corresponding data processing interface is configured for each mirror data, wherein the data processing interface is used to add data, delete data, modify data and search data for the mirror data corresponding to the data processing interface.
[0179] Among them, the mirror data is stored in a specific device of the virtual cloud server cluster. When statistics, analysis and other operations are required based on the mirror data, the relevant data in the mirror data needs to be read from the corresponding device. Therefore, the virtual cloud server cluster can configure a corresponding data processing interface for each mirror data, and open the data processing interface to other devices, so that other devices can add, modify, delete and check the relevant data through the data processing interface.
[0180] In the disclosed embodiment, during the entire operation and maintenance process, each data or processing process can be visualized to facilitate developers to develop and maintain electronic maps more efficiently.
[0181] In the disclosed embodiment, the back-end development device first obtains the target electronic map data to be updated, and then sequentially generates mirror data of different development stages corresponding to the target electronic map data, and sequentially publishes each mirror data to the virtual cloud server cluster, wherein the mirror data of the last development stage in each mirror data constitutes the new version of the electronic map data, and the other mirror data in each mirror data constitutes the old version of the electronic map processing data, and then the virtual cloud server cluster can generate identification information corresponding to each mirror data to distinguish different mirror data. In the disclosed embodiment, while publishing the new version of the electronic map data to the virtual cloud server cluster, the old version of the electronic map processing data can be retained, and each mirror data can be distinguished by unique identification information, thereby realizing the maintenance and management of historical electronic map data and providing a basis for version rollback.
[0182] Reference Figure 8 , showing a flowchart of steps of a method for using electronic map data according to an embodiment of the present disclosure, the method is applied to the electronic map service system 100 in the electronic map operation and maintenance method as described above, with reference to Fig. 9 The electronic map service system 100 also includes a business server cluster 30 , the virtual cloud server cluster 20 is communicatively connected to the business server cluster 30 , and the user terminal 200 is communicatively connected to the business server cluster 30 .
[0183] In some embodiments, the business server cluster 30 can provide further services based on the mirror data (electronic map data) provided by the virtual cloud server cluster 20, such as security services, operation and maintenance services, etc. in the area indicated by the map.
[0184] The method can be used to use the mirror data obtained by the electronic map operation and maintenance method as described above, and the method includes the following steps:
[0185] Step 301: The service server cluster receives an electronic map download request sent by a user terminal.
[0186] When a user needs to view an electronic map, the user terminal can send an electronic map download request to the service server cluster through the electronic map client to request to obtain the latest version of the electronic map data.
[0187] Step 302: In response to the electronic map download request, the business server cluster sends a request for obtaining new version electronic map data to the virtual cloud server cluster.
[0188] The business server cluster receives the electronic map download request, responds, and then sends a request to obtain the new version of the electronic map data to the virtual cloud server cluster.
[0189] Step 303: The virtual cloud server cluster sends the new version of the electronic map data to the business server cluster in response to the acquisition request.
[0190] The virtual cloud server cluster receives the electronic map download request, responds, and then returns the new version of the electronic map data, that is, the production environment electronic map mirror data, to the business server cluster.
[0191] Step 304: The business server cluster sends the new version of the electronic map data to the user terminal.
[0192] After receiving the new version of the electronic map data, the business server cluster can return it to the user terminal that requested the electronic map data. In the disclosed embodiment, the map data service can be provided by the virtual cloud server cluster, and the business service can be provided by the business server cluster. The business service and the map data service are stored in different server clusters to achieve decoupling of the two. Server decoupling means distinguishing the server's computing, memory and other resources so that server resources can be allocated according to the specific needs of each workload, which can improve the efficiency of providing services.
[0193] Optionally, refer to Fig.10 , the method may further include the following steps:
[0194] The business server cluster polls the virtual cloud server cluster to detect whether the virtual cloud server cluster has updated electronic map data;
[0195] When the virtual cloud server cluster obtains new version electronic map data after updating, it sends the new version electronic map data to the business server cluster;
[0196] When receiving the new version of electronic map data, the service server cluster sends a prompt message to the user terminal, wherein the prompt message is used to prompt the terminal user to download the new version of electronic map data to update to the latest electronic map.
[0197] In the disclosed embodiment, the business server cluster can actively monitor whether the virtual cloud server cluster has any updates to the electronic map data through a polling mechanism. If there is an update, based on the polling mechanism, the virtual cloud server cluster can immediately return the updated electronic map data to the business server cluster after the update is completed.
[0198] Optionally, when the business server is a Web server, a WebSocket (network socket) connection may be used for communication between the business server cluster and the virtual cloud server cluster, and accordingly, the polling method may use WebSocket polling.
[0199] Prior to this, a communication connection that can implement a polling mechanism must first be established between the business server cluster and the virtual cloud server cluster. Taking the WebSocket connection as an example, the business server cluster first initiates a request to upgrade the request to the WebSocket communication protocol. After receiving the request, the virtual cloud server cluster can return a response protocol upgrade message to the business server cluster, thereby establishing a WebSocket connection between the two, and then the business server cluster can perform polling.
[0200] When the business server cluster performs polling, it can first initiate a query to the virtual cloud server cluster to inquire whether the virtual cloud server cluster has updated the electronic map data. If there is no update, the virtual cloud server cluster will not respond. If there is an update, the virtual cloud server cluster can return the latest electronic map data to the business server cluster. In the business server cluster, it is necessary to set the length of time to wait for the virtual cloud server cluster to respond after the query, as well as the time interval between the end of this query and the start of the next query. If the virtual cloud server cluster does not respond within this time, it is considered that there is no update, and the current query ends, and then the next query is made after the time interval.
[0201] Of course, in actual applications, if the user terminal actively requests the download of the new version of the electronic map data (i.e., step 301), the business server cluster can first suspend polling, and then through steps 302-304, immediately request the latest electronic map data from the virtual cloud server cluster to feedback to the user terminal. The business server cluster can wait for a period of time after the request (the time is usually very short, such as a few seconds). If the latest electronic map data is still not obtained from the virtual cloud server cluster after a period of time, it means that the electronic map data obtained by the business server cluster through the previous polling is the latest electronic map data, and then the business server cluster can directly return the latest local electronic map to the user terminal.
[0202] Compared with the solution in which the business server cluster obtains the latest electronic map data from the virtual cloud server cluster only when the user terminal requests it, the embodiment of the present disclosure increases the polling mechanism of the business server cluster to the virtual cloud server cluster, so that the business server cluster can obtain the latest electronic map data from the virtual cloud server cluster as soon as possible. Therefore, when the user terminal initiates a request, the business server cluster can respond to the user terminal request quickly and send the latest electronic map data to the user terminal quickly, thereby shortening the time for the user terminal to obtain the latest electronic map data and improving the user experience.
[0203] In addition, the disclosed embodiment may also configure a judgment duplication mechanism for the latest electronic map data in the business server cluster to cope with the situation where the virtual cloud server cluster may repeatedly send electronic map data. Specifically, in actual applications, the virtual cloud server cluster may mistakenly believe that there is an update when the electronic map data is not updated due to an error, and then send the electronic map data that has been sent before to the business server cluster. A cache may be set in the business server cluster to store the electronic map data obtained from the virtual cloud server cluster each time. Each time the business server cluster receives an electronic map data from the virtual cloud server cluster, it can compare the unique identification information of the electronic map data with the unique identification information of other electronic map data in the cache. If there is electronic map data with the same unique identification information in the cache, it means that the business server cluster has received the electronic map data before, and then the business server cluster can delete the electronic map data received this time, and there is no need to perform related operations on the electronic map data afterwards, thereby saving the resources of the business server cluster.
[0204] After obtaining the latest electronic map data, the business server cluster can immediately prompt the user to update the electronic map through a message push mechanism.
[0205] In the disclosed embodiment, through the polling mechanism, the business server cluster can obtain the latest electronic map data in the first place, so as to facilitate the user terminal to update the electronic map in time, and avoid problems such as navigation errors caused by users using old versions of electronic maps. In addition, through the message push mechanism, the business server cluster can prompt users to update the electronic map instead of directly sending it to the user terminal to implement the update, so as to avoid affecting users who are using old versions of electronic maps.
[0206] Of course, in actual applications, each time a user terminal needs to use an electronic map, it first determines through the business server cluster whether there is any update to the electronic map data in the virtual cloud server cluster. If so, the current latest version of the electronic map data is returned to the user terminal. If not, the user terminal is notified and the user terminal can use the electronic map data currently stored locally.
[0207] In some embodiments, the terminal user can download the electronic map data to the terminal locally and then use it offline. In this case, the service server cluster can update the local electronic map data through a polling mechanism without affecting the user who uses the electronic map offline.
[0208] In other embodiments, the terminal user can use the electronic map data in the service server cluster online when the terminal maintains a communication connection with the service server cluster, without downloading the electronic map data to the terminal locally.
[0209] In this case, optionally, the virtual cloud server cluster can be set to publish electronic map data at a scheduled time when there are no users or fewer users online, so that the business server cluster can update the local electronic map data at this time to avoid large-scale impact on online users' use.
[0210] In this case, the business server cluster can optionally perform a grayscale update of the electronic map data for all terminal users. When the business server cluster obtains the latest electronic map data from the virtual cloud server cluster, there are still some users who are using the old version of the electronic map data online. In this case, the business server cluster can retain both the latest electronic map data and the old version of the electronic map data, and provide the latest electronic map data to users who access the business server cluster later, but continue to provide the old version of the electronic map to users who are online at this moment. When a user who uses the old version of the electronic map data goes offline and then accesses the business server cluster again, the business server cluster will also provide the latest electronic map data to the user, until all users who use the old version of the electronic map are offline, and the business server cluster can delete the old version of the electronic map data, thereby completely switching to the new version of the electronic map to provide map services. In this solution, it can be ensured that the online user's use of the electronic map data this time is not affected, and the latest electronic map data can be used the next time they go online.
[0211] Reference Fig.11 The electronic map service system 100 may also include a reverse proxy server cluster 40, and the business server cluster 30 is connected to the user terminal 200 through the reverse proxy server cluster 40. Among them, the back-end development device 10, the virtual cloud server cluster 20, the business server cluster 30 and the reverse proxy server cluster 40 belong to the back end, and the user terminal 200 belongs to the front end.
[0212] Accordingly, step 301 may include the following steps: the reverse proxy server cluster receives the electronic map download request sent by the user terminal; the reverse proxy server cluster schedules the electronic map download request to the target business server in the business server cluster according to a preset scheduling mechanism; the target business server receives the electronic map download request.
[0213] Step 302 may include the following steps: the target business server sends a request for obtaining new version electronic map data to the virtual cloud server cluster in response to the electronic map download request.
[0214] Step 304 may include the following steps: the target service server sends the new version of the electronic map data to the reverse proxy server cluster; the reverse proxy server cluster sends the new version of the electronic map data to the user terminal.
[0215] Among them, the electronic map download request of the user terminal is first sent to the reverse proxy server cluster. The reverse proxy server cluster can provide reverse proxy services based on the scheduling mechanism, so as to schedule the electronic map download request to the target business server in the business server cluster, and then the target business server processes the request of the user terminal. Through the reverse proxy mechanism, the user request can be scheduled to the business server that undertakes the request, while the business server that actually provides the service is hidden from the user. The user does not need to know the address of the business server that actually provides the service, nor does it need to be configured on the user front end. In some embodiments, the business server can be a Web (website) server, and the reverse proxy server can be used for Web acceleration, that is, the reverse proxy server is used as a front-end machine of the Web server to reduce the load of the network and server and improve access efficiency.
[0216] Further optionally, the method may also include the following steps:
[0217] The business server cluster sends a big data service request to the virtual cloud server cluster;
[0218] The virtual cloud server cluster obtains required related data from at least one mirror data in response to the big data service request;
[0219] The virtual cloud server cluster processes the relevant data according to the big data service request and obtains the processing result;
[0220] The virtual cloud server cluster sends the processing results to the business server cluster.
[0221] In the disclosed embodiments, the virtual cloud server cluster can not only provide map data services, but also provide big data services, such as big data computing, statistics, analysis, visualization processing, etc. Among them, the virtual cloud server cluster can deploy a data analysis algorithm package to provide big data services such as regression analysis and decision tree analysis. The virtual cloud server cluster can also deploy a data visualization tool set to provide big data services such as automated report generation and AB test data visualization chart production.
[0222] When the business server cluster needs it, it can send a big data service request to the virtual cloud server cluster. After receiving the request, the virtual cloud server cluster responds and obtains the relevant data required for the big data service from at least one mirror data, where the data to be obtained is related to the requested service. The virtual cloud server cluster can then process the relevant data according to the requested big data service to obtain a processing result, where the processing is related to the requested service.
[0223] The above step of obtaining required related data from at least one mirror data in response to the big data service request may specifically include:
[0224] In response to the big data service request, required related data is obtained from at least one mirror data through the address and port of the mirror data in the local area network to which the virtual cloud server cluster belongs.
[0225] In practical applications, data analysis algorithm packages or data visualization tool sets can be stored in different physical servers in the virtual cloud server cluster with each mirror data. Fig.12 , data analysis algorithm package or data visualization tool set ( Fig.12 Taking the data analysis algorithm package as an example, before providing big data services, the physical server where the physical server is located needs to first establish a connection with the physical server where the required mirror data is located through the corresponding LAN address and port, and then it can capture the relevant data in the mirror data through the LAN address and port.
[0226] Afterwards, refer to Fig.12 , the data analysis algorithm package or data visualization tool set can process the captured relevant data through models or tools.
[0227] Optionally, the above step of processing the relevant data may specifically include:
[0228] Conduct data analysis on relevant data through data analysis models;
[0229] and / or,
[0230] Generate visual charts based on relevant data.
[0231] Among them, refer to Fig.12 ,The virtual cloud server cluster can return the big data service processing results such as data analysis results and ,visualized charts to the business server cluster, and the business server cluster can further ,provide other services based on the data analysis results or ,visualized charts.
[0232] In the disclosed embodiments, map data services and big data services are unified in a virtual cloud server cluster, so that computing services and map data can be called under a unified local area network, thereby improving the operating efficiency of big data algorithms; business services and map data services are stored in different server clusters to decouple the two, allowing business servers to focus on processing related business services (such as security services) in the area (such as a park) indicated by the electronic map, without having to consume more computing, network calling, storage and other resources for storing and maintaining map data.
[0233] In the disclosed embodiment, when the business server cluster receives an electronic map download request sent by the user terminal, it responds by sending a request to obtain the new version of the electronic map data to the virtual cloud server cluster. The virtual cloud server cluster responds to the acquisition request and returns the new version of the electronic map data to the business server cluster. The business server cluster then returns the new version of the electronic map data to the user terminal to provide the user terminal with related services of the electronic map, thereby realizing the acquisition and use of the electronic map data.
[0234] The present disclosure also discloses an electronic map service system. Figure 2 , Fig. 9 and Fig.11 , including a backend development device and a virtual cloud server cluster, wherein the backend development device is communicatively connected with the virtual cloud server cluster;
[0235] The back-end development device is configured to obtain target electronic map data to be updated; sequentially generate mirror data of different development stages corresponding to the target electronic map data; and sequentially publish each of the mirror data to the virtual cloud server cluster, wherein the mirror data of the last development stage in each of the mirror data constitutes the new version of the electronic map data, and the other mirror data in each of the mirror data except the mirror data of the last development stage constitutes the old version of the electronic map processing process data;
[0236] The virtual cloud server cluster is configured to generate identification information corresponding to each of the mirror data, wherein the identification information is used to distinguish different mirror data.
[0237] Optionally, refer to Fig. 9, the electronic map service system further includes a business server cluster, and the virtual cloud server cluster is communicatively connected with the business server cluster;
[0238] The business server cluster is configured to send a computing service request to the virtual cloud server cluster;
[0239] The virtual cloud server cluster is further configured to obtain relevant data required for calculation from at least one of the mirror data in response to the computing service request; perform data analysis on the relevant data according to the computing service request to obtain analysis results; and send the analysis results to the business server cluster.
[0240] Optionally, refer to Fig.11 , the electronic map service system further comprises a reverse proxy server cluster, the business server cluster comprises a plurality of business servers, and the reverse proxy server cluster is communicatively connected with each of the business servers;
[0241] The reverse proxy server cluster is configured to dispatch the request sent by the user terminal to one of the service servers in the service server cluster according to a preset dispatching mechanism.
[0242] References herein to "one embodiment," "embodiment," or "one or more embodiments" mean that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment of the present disclosure. In addition, please note that examples of the term "in one embodiment" do not necessarily all refer to the same embodiment.
[0243] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present disclosure can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0244] In the claims, any reference signs placed between brackets shall not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present disclosure may be implemented by means of hardware comprising a number of different elements and by means of a suitably programmed computer. In a unit claim enumerating a number of means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names.
[0245] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. An electronic map operation and maintenance method, characterized in that: Applied to an electronic map service system, the electronic map service system includes a backend development device and a virtual cloud server cluster, the backend development device is communicatively connected with the virtual cloud server cluster, and the method includes: The back-end development device obtains the target electronic map data to be updated; The back-end development device sequentially generates mirror data of different development stages corresponding to the target electronic map data; The back-end development device publishes each of the mirror data to the virtual cloud server cluster in sequence, wherein the mirror data of the last development stage in each of the mirror data constitutes the new version of the electronic map data, and the other mirror data in each of the mirror data except the mirror data of the last development stage constitutes the old version of the electronic map processing process data; The virtual cloud server cluster generates identification information corresponding to each of the mirror data, wherein the identification information is used to distinguish different mirror data.
2. The method according to claim 1, characterized in that The sequentially generating mirror data of different development stages corresponding to the target electronic map data includes: sequentially generating branch data of different development stages corresponding to the target electronic map data; After each branch data is generated, the branch data is packaged into a process file; Building the process file into mirror data; Among them, the branch data of different development stages include development branch data, test branch data and pre-release branch data, and correspondingly, the mirror data of different development stages include development environment electronic map data mirror, test environment electronic map data mirror and production environment electronic map data mirror.
3. The method according to claim 2, characterized in that The step of publishing each of the mirror data to the virtual cloud server cluster in sequence includes: After each image data is constructed, the image data is published to the virtual cloud server cluster.
4. The method according to claim 2, characterized in that: The branch data of the different development stages are all stored in the project code warehouse of the back-end development device, and the mirror data of the different development stages include the storage address of the project code warehouse and the branch name corresponding to the mirror data; The generating identification information corresponding to each of the mirror data includes: Determine the current timestamp of generating the identification information this time according to the current timestamp and the historical timestamp of generating the identification information last time; Encode the current timestamp to obtain a first value; For each of the mirror data, read the storage address of the project code repository and the branch name corresponding to the mirror data from the mirror data; Generate a second value according to the storage address of the project code repository and the branch name corresponding to the mirror data; The first value and the second value are combined or operated to obtain identification information corresponding to the mirror data.
5. The method according to claim 4, characterized in that The determining the current timestamp of generating the identification information this time according to the current timestamp and the historical timestamp of generating the identification information last time includes: Determine whether the current first timestamp is less than the historical timestamp of the last time the identification information was generated; If the first timestamp is greater than or equal to the historical timestamp, the latest second timestamp is determined as the current timestamp for generating the identification information this time.
6. The method according to claim 5, characterized in that Before determining the timestamp of generating the identification information this time according to the current timestamp and the historical timestamp of generating the identification information last time, the method further includes: Accumulate the historical sequence number corresponding to the operation of generating the identification information last time to obtain the current sequence number corresponding to the operation of generating the identification information this time; If the first timestamp is greater than or equal to the historical timestamp, determining the latest second timestamp as the current timestamp for generating the identification information this time includes: If the first timestamp is equal to the historical timestamp, determining whether the current sequence number is equal to a preset maximum value; If the current sequence number is equal to the preset maximum value, blocking the preset time length to release temporary resources, and determining the latest second timestamp as the current timestamp for generating the identification information this time; If the current sequence number is less than the preset maximum value, the latest second timestamp is determined as the current timestamp for generating the identification information this time.
7. The method according to claim 6, characterized in that If the first timestamp is greater than or equal to the historical timestamp, determining the latest second timestamp as the current timestamp for generating the identification information this time includes: If the first timestamp is greater than the historical timestamp, the current sequence number is set to 0, and the latest second timestamp is determined as the current timestamp for generating the identification information this time.
8. The method according to claim 5, characterized in that After determining whether the current first timestamp is less than the historical timestamp of the last time the identification information was generated, the method further includes: If the first timestamp is smaller than the historical timestamp, invalid identification information is generated.
9. The method according to claim 4, characterized in that The generating a second value according to the storage address of the project code repository and the branch name corresponding to the mirror data includes: Hash-encode the storage address of the project code repository to obtain a first hash value; Performing hash coding on the branch name corresponding to the mirror data to obtain a second hash value, thereby obtaining a second value including the first hash value and the second hash value; The combining or operating the first value and the second value to obtain identification information corresponding to the mirror data includes: The first numerical value, the first Hash value, and the second Hash value are combined or operated to obtain identification information corresponding to the mirror data.
10. The method according to claim 1, characterized in that After the identification information corresponding to each of the mirror data is generated, the method further includes: A corresponding data processing interface is configured for each mirror data, wherein the data processing interface is used to add data, delete data, modify data, and search data for the mirror data corresponding to the data processing interface.
11. A method for using electronic map data, characterized in that: An electronic map service system applied to the electronic map operation and maintenance method according to any one of claims 1 to 10, wherein the electronic map service system further comprises a business server cluster, the virtual cloud server cluster is communicatively connected to the business server cluster, and the method is used to use the mirror data obtained by the electronic map operation and maintenance method according to any one of claims 1 to 10, and the method comprises: The service server cluster receives an electronic map download request sent by a user terminal; The business server cluster sends a request for obtaining the new version of the electronic map data to the virtual cloud server cluster in response to the electronic map download request; The virtual cloud server cluster sends the new version of the electronic map data to the business server cluster in response to the acquisition request; The business server cluster sends the new version of the electronic map data to the user terminal.
12. The method according to claim 11, characterized in that The method further comprises: The business server cluster detects whether the virtual cloud server cluster has updated electronic map data by polling the virtual cloud server cluster; When the virtual cloud server cluster obtains new version electronic map data after updating, the virtual cloud server cluster sends the new version electronic map data to the business server cluster; When receiving the new version of the electronic map data, the service server cluster sends a prompt message to the user terminal, wherein the prompt message is used to prompt the terminal user to download the new version of the electronic map data to update to the latest electronic map.
13. The method according to claim 11, characterized in that The electronic map service system further includes a reverse proxy server cluster, and the business server cluster is communicatively connected with the user terminal via the reverse proxy server cluster.
14. The method according to claim 13, characterized in that The business server cluster receives an electronic map download request sent by a user terminal, including: the reverse proxy server cluster receives the electronic map download request sent by the user terminal; the reverse proxy server cluster schedules the electronic map download request to a target business server in the business server cluster according to a preset scheduling mechanism; the target business server receives the electronic map download request; The business server cluster sends a request for obtaining the new version of the electronic map data to the virtual cloud server cluster in response to the electronic map download request, including: the target business server sends a request for obtaining the new version of the electronic map data to the virtual cloud server cluster in response to the electronic map download request; The business server cluster sends the new version of the electronic map data to the user terminal, including: the target business server sends the new version of the electronic map data to the reverse proxy server cluster; the reverse proxy server cluster sends the new version of the electronic map data to the user terminal.
15. The method according to claim 11, characterized in that The method further comprises: The business server cluster sends a big data service request to the virtual cloud server cluster; The virtual cloud server cluster obtains required related data from at least one of the mirror data in response to the big data service request; The virtual cloud server cluster processes the relevant data according to the big data service request to obtain a processing result; The virtual cloud server cluster sends the processing result to the business server cluster.
16. The method according to claim 15, characterized in that The step of obtaining required related data from at least one of the mirror data in response to the big data service request includes: In response to the big data service request, required related data is obtained from at least one of the mirror data through the address and port of the mirror data in the local area network to which the virtual cloud server cluster belongs.
17. The method according to claim 15, characterized in that The processing of the relevant data includes: Performing data analysis on the relevant data by using a data analysis model; and / or, Generate a visual chart based on the relevant data.
18. An electronic map service system, characterized in that: It includes a back-end development device and a virtual cloud server cluster, wherein the back-end development device is communicatively connected with the virtual cloud server cluster; The back-end development device is configured to obtain target electronic map data to be updated; sequentially generate mirror data of different development stages corresponding to the target electronic map data; and sequentially publish each of the mirror data to the virtual cloud server cluster, wherein the mirror data of the last development stage in each of the mirror data constitutes the new version of the electronic map data, and the other mirror data in each of the mirror data except the mirror data of the last development stage constitutes the old version of the electronic map processing process data; The virtual cloud server cluster is configured to generate identification information corresponding to each of the mirror data, wherein the identification information is used to distinguish different mirror data.
19. The electronic map service system according to claim 18, characterized in that: The electronic map service system further includes a business server cluster, and the virtual cloud server cluster is communicatively connected with the business server cluster; The business server cluster is configured to send a computing service request to the virtual cloud server cluster; The virtual cloud server cluster is further configured to obtain relevant data required for computing from at least one of the mirror data in response to the computing service request; According to the computing service request, data analysis and processing are performed on the relevant data to obtain analysis results; The analysis result is sent to the business server cluster.
20. The electronic map service system according to claim 19, characterized in that: The electronic map service system further comprises a reverse proxy server cluster, wherein the service server cluster comprises a plurality of service servers, and the reverse proxy server cluster is in communication connection with each of the service servers; The reverse proxy server cluster is configured to dispatch a request sent by a user terminal to one of the service servers in the service server cluster according to a preset dispatching mechanism.
Citation Information
Patent Citations
Hadoop cluster system and Hadoop cluster rapid establishment method based on container technology
CN106790483A
Industrial Internet of Things low-code rapid development system and method based on micro-service
CN113495724A