Geographic information system for chemical and mineral products
By introducing functional upgrade technology of semantic difference recognition and weight-driven scheduling, the problem of unclear module dependency recognition and uncontrollable upgrade in the geographic information system is solved, and the module-level refined upgrade control and dynamic hot switching are realized, which improves the system's response efficiency and stability in high concurrency environments.
Patent Information
- Application Number
- CN202510567564.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2025-08-15
AI Technical Summary
When existing geographic information systems have deep nested dependencies between functional modules, the dependency is unclear, the upgrade is uncontrollable, and the lack of fine-grained rollback mechanism during the upgrade process, resulting in limited system response capabilities and function expansion capabilities, especially in high concurrency environments that are prone to delay or jitter.
A functional upgrade technical solution based on semantic difference recognition and weight-driven scheduling is adopted, combined with the impact range recognition function and path propagation depth evaluation model, a segmented grayscale strategy function and a reversible converged version computer system are introduced to realize module-level refined upgrade control and dynamic hot switching.
It realizes the potential risk paths in advance without affecting business continuity, ensures the system's response efficiency of module upgrades and the unawareness of user operations in a high concurrency environment, and improves the stability and intelligence level of system version upgrades.
Smart Images

Figure CN120492555A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of geographic information systems, in particular to a chemical and mineral geographic information system. Background Art
[0002] As geographic information systems (GIS) continue to expand their application scenarios, users are placing higher demands on system functional response speed, module collaboration, and the real-time nature of online upgrades. Whether in practical scenarios such as mineral surveys and geological disaster warnings, urban planning, and resource development, the system's functional modules must be continuously adjusted to match data changes and evolving business needs. Especially in distributed deployment environments, when functional vulnerabilities emerge, business logic requires fine-tuning, or interface interaction methods require upgrades, the system must possess rapid module-level response and stable iteration capabilities.
[0003] In existing technologies, whole-package replacement upgrade mechanisms or script-triggered update solutions are commonly used to address system functionality updates. These methods are relatively mature in deployment processes and, when combined with automated scripts, can quickly complete batch updates of basic modules. Some solutions also incorporate static dependency description documents and test case libraries to assist with accuracy and regression verification of module upgrades. In applications where system updates are infrequent and functional coupling is low, these existing solutions have some practicality and reasonable deployment stability.
[0004] However, when there are deeply nested dependencies between system functional modules, the update granularity requirements are refined, and high availability needs to be maintained during operation, the existing solutions expose some shortcomings; for example, the upgrade of some modules will implicitly destroy the interfaces on their dependency chain, but due to the lack of real-time structural recognition capabilities, the upgrade risks cannot be predicted, and problems often appear only after the fact; for example, during the module switching process, the online rhythm cannot be dynamically controlled based on user activity and system status, which can easily cause response delays or service jitter during high concurrency periods; there are also many systems that only support full replacement versions and cannot achieve grayscale updates and rollback granularity control. Once an error occurs, they can only rely on whole package rollback, which is costly and slow to respond; these problems seriously limit the rapid response and functional expansion capabilities of the geographic information system, and also hinder the adaptive evolution of the system in a complex business environment. Summary of the Invention
[0005] In response to the deficiencies of the prior art, the present invention provides a chemical mineral geographic information system, which solves the problems in the prior art of unclear dependency identification during the function upgrade process, uncontrollable upgrades, and lack of a fine-grained rollback mechanism.
[0006] To achieve the above objectives, the present invention is implemented through the following technical solutions: a chemical mineral geographic information system, the system comprising: The geographic information database module is used to build structured data tables based on relational databases, establish indexes according to province, genetic type, metallogenic age, deposit size, metallogenic series, metallogenic unit, latitude and longitude location, and resource reserves, and has a joint primary key; A data information processing module is used to convert unstructured data in chemical geological historical data into a standard field format and write it into the geographic information database through a data import interface. The module generates a unique number to identify each piece of mineral information; a content management platform module is used to implement information addition, editing, review, and publication, including a content entry submodule, an information review submodule, and a permission distribution submodule. Each submodule interacts with the geographic information database through a back-end interface; a user authentication and permission control module is used to receive user login requests and generate tokens, and control the scope of permissions through role identification. The module supports single sign-on and is bound to the content management platform module and the information retrieval module. The fragmentation processing module is used to store the high-frequency query results returned by the information retrieval module, including a query cache submodule, a cache priority calculation submodule, and a dynamic invalidation judgment mechanism; An information retrieval module, used to construct a query statement based on field conditions and connect to the geographic information database to perform a composite search, the module including a keyword input unit, a screening dimension selection unit and a result paging unit; A map display module is used to generate map points based on the latitude and longitude information returned by the information retrieval module, and to implement base map switching and pop-up display through the point rendering submodule and layer management submodule; A data backup module, used to perform regular backup operations of the geographic information database according to a preset time plan, including a backup execution script, a backup file manager and a historical version controller; The function upgrade module is used to receive user feedback and perform module updates, and includes a feedback collection submodule, a version identification submodule, and a module replacement submodule.
[0007] Preferably, the geographic information database module includes: The field structure definition unit configures the field type and length based on the preset field template. The fields include province, genetic type, metallogenic era, deposit size, metallogenic series, metallogenic unit, longitude and latitude, and resource reserves. The metallogenic era field is in string format, and the resource reserve field is in floating-point format. The database uses the InnoDB engine to build the field table structure. The unit is established by joint primary key, and the joint primary key index is constructed based on the metallogenic era, genetic type, and longitude and latitude. The primary key constraint method is used to avoid duplicate records, and the longitude and latitude fields are retained to 6 decimal places; The index optimization unit periodically analyzes field call frequency, executes the "SHOWINDEX" and "EXPLAIN" commands to obtain slow query logs, identifies redundant fields and index-missing fields, and generates an index suggestion table for administrators to decide whether to execute.
[0008] Preferably, the data information processing module includes: The field standardization submodule performs semantic recognition and field mapping, maps the genetic type information to the genetic type field, maps the stratigraphic age information to the metallogenic age field, constructs the JSON structure, and verifies the field integrity; The coding identification submodule generates a unique number consisting of the system timestamp, administrative division code and serial number, and binds it to the database primary key field; The data import interface unit supports CSV, XLS and JDBC protocol data import. The import process verifies the number of fields and data types, and writes unqualified records to the log file.
[0009] Preferably, the content management platform module includes: The content entry submodule provides a drop-down option box, a time selector, a map point selection, and rich text input controls. Data is submitted via AJAX, and the background verifies the field format and required status before writing to the database. The information review sub-module configures the preliminary review and final review roles, and records the review status, approval opinions, reviewers and time during the review process; the permission distribution sub-module controls field visibility and operation permissions based on the role-function-field ternary relationship, and the front-end dynamically renders controls according to the permission configuration.
[0010] Preferably, the user authentication and authority control module includes: Login verification unit receives user identity credentials, information is transmitted via HTTPS, passwords are verified by SHA-256 encryption digest, supports OAuth login and generates temporary identity codes; The permission role matching unit loads role permissions based on user ID, with time period and IP address range restrictions; The token generation unit generates a JWT token containing user ID, role, login time and expiration time fields, and stores it locally in the browser.
[0011] Preferably, the information retrieval module includes: The compound condition parsing unit receives the mineralization era, deposit size, resource reserves, longitude and latitude range and keywords, encapsulates them into a JSON structure, converts them into SQL statements and performs preprocessing to prevent SQL injection; The paging processing unit calculates the number of pages based on the total number of records, uses OFFSET and LIMIT to extract the current page data, and returns the paging navigation mark; The query parameter construction unit calls the scoring function to sort the query results. The scoring functions include: geological priority scoring function: calculating "ore deposit scale × resource reserves / distance from the main road"; resource richness scoring function: assigning points according to the reserve interval; traffic convenience scoring function: assigning points according to the density of traffic intersections.
[0012] Preferably, the fragmentation processing module includes: The query cache submodule records query conditions and results, stores them in Redis, uses the condition hash value as the cache key, and directly returns the result when the cache is hit; The cache priority calculation submodule uses the LRU algorithm to manage the cache retention order, record the most recent access time, and eliminate unused records; Dynamic invalidation judgment mechanism monitors database write or update operations, marks corresponding cache invalidations, triggers query reconstruction and cache replacement.
[0013] Preferably, the map display module includes: The point rendering submodule generates a mineral distribution point layer based on longitude and latitude, and displays it as a circular icon. The icon radius is set according to the resource reserves, and the rendering is called by Leaflet or Mapbox framework; The layer management submodule switches between street maps, topographic maps, and satellite maps, supports displaying geological structure zones, fault zones, and transportation network layers, and provides layer switch controls; Pop-up display unit, click on the point to pop up the deposit details, including the deposit name, resource reserves, deposit scale, mineralization series, administrative divisions and notes, and support jumping to the details page.
[0014] Preferably, the data backup module includes: The backup execution script performs database backups on a scheduled basis. Based on the Crontab scheduling rules, MySQLDump is run daily to generate backup files named by date. Backup file manager, archive backup files by month; The historical version controller records the backup time, trigger method and database version, and supports version recovery operations after permission review.
[0015] Preferably, the function upgrade module includes: The feedback collection submodule records user questions and suggestions, categorizes them and stores them in the feedback database, including the source page and operation path; the version identification submodule registers the version number, update time, module and notes, and the module source file includes version comments; Module replaces submodule, replaces module according to update package, automatically backs up before execution, and performs dependency consistency check after replacement.
[0016] The present invention provides a chemical mineral geographic information system. It has the following beneficial effects: 1. This invention utilizes a functional upgrade technology solution based on semantic difference recognition and weight-driven scheduling, achieving refined upgrade control at the module level. This achieves the technical effect of dynamically hot-switching functional versions without restarting the system. Compared to existing solutions that only support static replacement or global packaged updates, this effectively avoids problems such as system crashes caused by inter-module dependency mismatches and version inconsistencies, and addresses the issues of poor controllability and overly coarse granularity in the upgrade process.
[0017] 2. This invention introduces an impact range identification function and a path propagation depth assessment model to quantitatively analyze affected modules before an upgrade. This allows for early detection of potential risk paths without impacting business continuity. Compared to traditional upgrade management solutions that rely on hard-coded dependency tree matching, this approach overcomes the limitations of static structures, which are unscalable and have unpredictable post-upgrade bug propagation paths, thereby improving the accuracy and transparency of pre-upgrade risk warnings.
[0018] 3. This invention uses a segmented grayscale strategy function, combining user activity density and system load to control the module rollout cadence. This achieves the goal of smooth module switching while the system is running. Unlike existing solutions that rely on manual releases or fixed-time scheduling, this effectively addresses their lack of elastic scalability, ensuring efficient module upgrade response and user-imperceptible operation in high-concurrency environments.
[0019] 4. This invention utilizes a reversible confluence version calculation mechanism to automatically resolve compliant versions of dependencies across multiple modules. This technology automatically finds the optimal compatible path in complex module interdependencies. Compared to traditional solutions that rely on manual judgment and documentation for version matching, this solves prominent issues such as version combination explosion, configuration synchronization difficulties, and high release failure rates, significantly improving the stability and intelligence of system version upgrades. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 It is a system structure diagram of the present invention; Figure 2 This is an architectural diagram of the user authentication and authority control module of the present invention; Figure 3 This is an architectural diagram of the content management platform module of the present invention. DETAILED DESCRIPTION
[0021] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the specification of the present invention. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0022] Please see the attached Figure 1 -Attached Figure 3 The embodiment of the present invention provides a chemical mineral geographic information system, the system comprising: The geographic information database module is used to build structured data tables based on relational databases, establish indexes according to province, genetic type, metallogenic age, deposit size, metallogenic series, metallogenic unit, latitude and longitude location, and resource reserves, and has a joint primary key; In this embodiment, the geographic information database module not only performs the basic function of structured field storage but also integrates functions such as geospatial data encoding optimization, spatial index structure management, data integrity constraint control, and query performance evaluation and analysis. On this basis, the system establishes a unified chemical mineral resource data base, ensuring that upper-level functions such as data import, information retrieval, and visualization display operate with stable and efficient data support.
[0023] In this embodiment, the underlying database engine uses InnoDB, which has a row-level locking mechanism, MVCC transaction concurrency control characteristics, and good index support capabilities. It is suitable for business scenarios where geographic space and resource data are frequently added, deleted, modified, and checked.
[0024] Generally, all mineral data is stored as "mineral resource records." Each record contains standard fields and uses longitude and latitude as key geographic location information. Field integrity verification, type matching checks, and joint primary key constraints are required when records are entered into the database.
[0025] In order to achieve unique identification of mineral records, this module establishes a joint primary key index, and its structural construction rules are as follows: PK=Hash(Era||Genesis||Lat||Lon); Where: PK is the joint primary key, which is used to uniquely identify each mineral record in the database; Era is the mineralization era field value, which is a geological age representation, such as "Mesozoic", and is of string type; Genesis is the genetic type field value, such as "Sedimentary" or "Volcanic Hydrothermal", and is of string type; Lat is the latitude field value, which is of double data type and accurate to 6 decimal places; Lon is the longitude field value, which is of double data type and accurate to 6 decimal places; Hash(·) is any deterministic hash function, such as MD5, SHA-1, or a custom 64-bit hash function, used for hash encoding of the combined fields.
[0026] The primary key design ensures that mineral records in different regions, different origins and different eras can be uniquely identified, avoiding the problem of duplicate data writing due to approximate spatial coordinates.
[0027] In actual implementation, the system also supports setting field default value strategies. For example, if certain mineralization series fields have not yet been collected, they will be filled with "N / A" by default to avoid database insertion failures due to missing fields.
[0028] As an option, to enhance spatial query efficiency, this embodiment also supports building a geographic spatial index. In this structure, the system introduces a spatial field geo_Point, which is defined as follows: geo_Point=GEOPoint(Lat,Lon); Among them: geo_Point is a spatial point data structure, which is used to represent the spatial location of mineral data and can be used as a standard point object processed by a GIS engine (such as PostGIS).
[0029] GEOPoint is a geographic coordinate structure or constructor used to combine latitude and longitude into a standardized spatial data format.
[0030] An R-tree index or a spatial quadtree index is constructed for the field to support spatial range retrieval and similar area retrieval operations.
[0031] In some embodiments, the system allows users to perform query filtering based on spatial range. To this end, this module supports calculating the geographic containment relationship between points and rectangular ranges.
[0032] The formula is as follows: InBound=(Lat min ≤Lat≤Lat max )∧(Lon min ≤Lon≤Lon max ); Among them: InBound is a Boolean value, indicating whether the current point is within the query range; Lat, Lon are the latitude and longitude of the current record; Lat min , Lon min To query the upper and lower limits of the latitude range; Lat max , Lon max To query the left and right limits of the longitude range.
[0033] This formula is used in spatial queries to quickly determine whether a record falls within a specified area.
[0034] In terms of index optimization strategy, this module regularly performs field access statistics and index performance evaluation, and calculates the field usage hit rate using the following formula: Among them: H i is the index hit rate of field i; Q i,hit Q is the number of SQL queries where field i is indexed; i,total The total number of SQL queries using field i.
[0035] When H i <θ (the index redundancy determination threshold set by the system, usually 0.3), the system will generate a recommendation report, prompting whether to retain or optimize the index.
[0036] In order to further enhance the versatility of data structures and template reuse capabilities, this module supports field template configuration mechanism.
[0037] In high-concurrency scenarios, this module cooperates with the database lock mechanism to execute transaction commits to avoid the risk of deadlock caused by field write conflicts. Before each record is written, an MVCC snapshot is used to determine whether there is a version conflict to ensure concurrency consistency.
[0038] The data information processing module converts unstructured data from chemical geological historical data into a standard field format and writes it into the geographic information database through a data import interface. The module generates a unique number to identify each piece of mineral information. In the chemical and mineral geographic information system, the data information processing module is not only the core hub for data import but also the starting point for bridging historical documents, maps, and record forms to the structured platform. Its functions include information extraction, field normalization, code uniqueness, format verification, and error management, which directly determine whether the information in the system has the basic capabilities of circulation, comparison, and searchability.
[0039] As part of a fixed configuration process, the data information processing module performs further data quality checks and logical consistency verification after completing field standardization. This process is not only part of the standardization process but also a control measure to ensure semantic consistency within the system.
[0040] In this embodiment, after field identification, the system constructs an integrity evaluation model for each record and uses the following formula to evaluate the field completeness of a single record: Where: C is the field completeness coefficient, ranging from [0,1], which is used to indicate the degree of data coverage of a record in the required fields; N valid N is the number of fields that are actually filled in and have legal format; req It is the total number of predefined required fields, usually including "genesis type", "metallogenic age", "latitude and longitude", "resource reserves" and other fields.
[0041] Generally, when C<1 and the insufficient value field is a key geological field, the record is marked as "low-quality data" by the system and enters the state of waiting for manual review.
[0042] In some special scenarios, such as batch data coming from a certain administrative area standard template, some fields can be set as "weakly required". The system sets the field weight W through the configuration file. i , recalculate the effective score of the record after combining the weighted field importance: Where: S is the weighted score, which represents the score of the record in the data quality assessment; n is the total number of fields to be tested; W i is the weight value of field i, usually ranging from 0.1 to 1; δ i Fill the flag variable for the field, which is 1 if the field i is valid, otherwise it is 0.
[0043] By setting the weight threshold τ, when S<τ (such as set to 3.5), the system automatically prompts the user to fill in the missing fields.
[0044] In addition, after the standardized structure is completed, the coding identification submodule generates a unique number UID and binds it to the record. In practice, to ensure the non-repeatability and time traceability of UID generation, this module adopts the following numbering algorithm: UID=Time 14 ||REG6||SN6; Among them: UID is a unique number used to uniquely identify each mineral record in the system; Time 14 The current system timestamp is a 14-digit string in the format of YYYYMMDDHHMMSS. REG6 is the administrative division code, a 6-digit number set according to the coding rules of the National Bureau of Statistics. SN6 is the serial number part, a 6-digit decimal auto-increment number, which is generated sequentially in the records within the same area and the same minute.
[0045] The generation of serial numbers uses database incremental control or centralized number issuance services to avoid UID conflicts in a distributed environment.
[0046] The system also calculates batch-level error rates for imported data to assess the overall quality of the imported files. This mechanism relies on the following calculation model: Where: E r is the error rate of the imported batch; N err N is the number of records detected to have errors or non-compliant formats in the imported records; all The total number of records in this batch import.
[0047] As an option, when E r If the value exceeds the preset threshold (such as 0.1), the system interrupts the current write process, triggers a rollback, and generates a detailed error report for the user to correct.
[0048] The system also uses the "field mapping efficiency factor" to evaluate semantic recognition and standard field hits. The calculation formula is as follows: Among them: F m is the field mapping efficiency factor, which measures the accuracy of semantic parsing; M succ The number of fields that successfully completed field mapping; M total The total number of fields that can participate in semantic mapping.
[0049] Higher F m The value indicates that the current corpus or template has good structural standardization and is suitable for batch information processing.
[0050] Finally, after the import is complete, all successful records are written to the structured geographic information database module, and the corresponding fields are automatically matched and written to the database's preset field table. If the record contains extended fields or user-defined extensions, the system temporarily stores them in the additional field table and generates field update suggestions.
[0051] The content management platform module is used to realize the addition, editing, review and release of information, including a content entry submodule, an information review submodule and an authority distribution submodule. Each submodule interacts with the geographic information database through a back-end interface. In the chemical mineral geographic information system proposed in the present invention, the content management platform module is closely connected to the data information processing module. It is the direct operation carrier after the data is stored in the warehouse, and it carries the tasks of supplementing, reviewing, correcting and distributing information. It is not only the first interaction node after the formation of structured data, but also the central channel for the transformation of information status (such as "pending review" to "released"). This module is directly oriented to content management personnel, and is an important fulcrum for the transition of data from static storage to dynamic management, and provides effective data source support for subsequent information retrieval modules.
[0052] Typically, the system reads the latest structured records from the geographic information database module through a backend logic interface and displays them on the content management platform as form controls. Administrators can perform field additions, review operations, and confirm permissions on the platform. Once completed, the relevant data is written back to the database in a controlled state, marked as "valid," "published," or "rejected."
[0053] In this embodiment, the content management platform module includes a content entry submodule, an information review submodule, and a rights distribution submodule, which together constitute the human-computer interaction management layer of the system.
[0054] Specifically, the content entry submodule is used to receive data fields entered or supplemented by the user through a graphical interface. The interface contains several interactive controls, such as: Drop-down option box: used to limit the range of field input values, such as limiting "deposit size" to "extra large, large, medium, small"; Time selector: used to quickly enter fields such as "ore-forming era" or "survey time"; Map point selection control: obtain the longitude and latitude of the mineral deposit by clicking on the map interface and write it into the field; Rich text input box: used to fill in unstructured text descriptions such as notes, survey conditions, etc.
[0055] As an option, the front-end control is asynchronously submitted to the back-end processing module via AJAX. After receiving the data, the back-end performs field validity checks and field mandatory judgment logic. Field validity checks include but are not limited to: Format verification (e.g. if longitude and latitude are floating point numbers, the precision is six decimal places); Enumeration value range verification (e.g., the size of a mineral deposit cannot be entered as "extremely small"); Logical consistency check between fields (for example, when the “Mineralization Era” is “Cenozoic Era”, the “Resource Reserves” cannot be negative).
[0056] For field verification, the module uses the following integrity judgment formula: Where: V r is the effective ratio of the field, which is used to evaluate the effectiveness of the content submitted by the user; N valid N is the number of fields that have been filled in and verified; visible The total number of fields visible to the user and that the user has permission to operate.
[0057] Generally, when V r When it is <0.8, the system prompts "Information is incomplete and cannot be submitted" and highlights the missing items.
[0058] After the information is successfully submitted, the record enters the review queue and is subsequently processed by the information review submodule.
[0059] In this embodiment, the information review submodule sets up a two-level review process, including preliminary review and final review roles. Reviewers can review the submitted records and add comments. The review history of each record will fully record the following information: Current review status ("pending preliminary review", "pending final review", "approved", "rejected"); Review comments (text field); Unique identifier of the reviewer (such as reviewer ID); Audit timestamp (standard time format, accurate to the second); To evaluate the efficiency of the audit, the system calculates the average audit time using the following formula: Where: T avg is the average audit time (unit: seconds); n is the number of audit records involved in the calculation; T i,start The audit start timestamp of the i-th record; T i,end The timestamp when the audit is completed for the i-th record.
[0060] In one possible implementation, the system supports a hierarchical authorization mechanism for review operations. The initial review role can view all fields and edit some fields, while the final review role has the final modification and status transfer permissions.
[0061] In this embodiment, the permission distribution submodule dynamically controls the display and operability of interface elements based on the "role-function-field" ternary relationship. This module sets a permission set for each user role and defines the following triple: R = {(U k ,F j ,P i,j )}; Among them: U kis the user role or ID, such as "auditor", "entry clerk", "administrator"; F j For functional points, such as "edit", "view", "delete", "audit"; P i,j For field i in function F j The operable permissions under the , the value is "Visible - Writable", "Visible - Read-only" or "Hidden".
[0062] When the front-end loads the page, it will parse the permission configuration and dynamically render the control behavior of each field. For example, if a user's permission for the "Resource Reserve" field is "Hide", the front-end will completely omit the DOM node of this field, making it impossible to view or tamper with it.
[0063] To enhance controllability, the system also supports a permission inheritance mechanism. For example, a higher-level management role can inherit all field access permissions of subordinate roles, and add approval and rollback functions on top of that.
[0064] In some embodiments, the permission distribution submodule is also linked with the login token system of the user authentication and permission control module to load the permission matrix in real time according to the role information in the JWT token, avoiding repeated database queries during permission verification and improving response speed.
[0065] In addition, this module supports operation logging. Every field edit, status switch, and audit behavior will generate an operation record and write it into the log table, including the operator, operation time, operation field, and the value before and after the change.
[0066] As a supplementary feature, the content management platform in this embodiment also supports "batch editing mode." The system allows you to select multiple records and set unified field values, and performs validation logic on batch field operations in the background. For example, you can batch modify the "Review Status" and "Remarks" fields, but batch modifying unique fields such as spatial coordinates is prohibited.
[0067] User authentication and permission control module, which is used to receive user login requests and generate tokens, and control the scope of permissions through role identification. The module supports single sign-on and is bound to the content management platform module and information retrieval module; In the system of the present invention, the user authentication and permission control module runs throughout the entire system chain. Front-end users accessing the platform interface must complete authentication and obtain a permission token; back-end functional modules rely on the permission model output by this module to determine functional authorization. This module not only performs initial controls such as user login, permission confirmation, and token issuance, but also supports a unified permission verification mechanism across modules, making it a core unit that ensures system security, hierarchical structure, and controllability.
[0068] In this embodiment, user authentication utilizes a standard account authentication mechanism combined with a JWT token mechanism, achieving stateless login to a certain extent and being compatible with the OAuth 2.0 protocol. The system supports user authentication via username and password, as well as OAuth-authorized login via external platforms such as LDAP, WeChat, and DingTalk.
[0069] In order to measure the legitimacy of login behavior and determine whether there is a risk of malicious login, this system introduces a login credibility scoring function in the verification phase. The specific calculation formula is as follows: S auth =w1·B IP +w2·B UA +w3·B Freq ; Where: S auth B is the credibility score of this login behavior, which is usually set in the range of [0,1]. If it is lower than the threshold, it will trigger an abnormal mark; IP Is the IP address a historical login IP? If yes, it is 1, otherwise it is 0; B UA Whether the client device fingerprint (UserAgent) matches the historical record, 1 if yes, 0 if not; B Freq is the login frequency item, which is 1 if the number of login attempts within a reasonable time is within the limit, otherwise it is 0; w1, w2, and w3 are weight factors, satisfying w1+w2+w3=1.
[0070] When S auth <θ auth (If it is set to 0.6 by default), the system will mark the behavior as "suspicious login", record it in the login log, and optionally trigger a verification code verification or temporary freeze policy.
[0071] After completing the identity verification, the system needs to load the permissions of the user's roles. Considering that users may have different functional roles in different modules, the system defines a role-module-function ternary binding model with the following format: Where: R i,j,k Is a Boolean flag, indicating that user U i Is module M j Function point F k With authorization; U i is the i-th user; M j is the jth module, such as "content management module" and "map display module"; F k is the kth function, such as "review", "edit", "export", "map switch", etc.
[0072] The system scans the user's role set, queries the set of functions that can be operated in the corresponding module, forms a dynamic permission set, and calls it in subsequent request interception or front-end rendering.
[0073] In this embodiment, the permission control module supports a role inheritance mechanism to simplify the multi-layer role definition structure and avoid redundant role configuration. The system supports the following inheritance judgment logic: in: The final effective permission of user u to function f under module m (Boolean value); Direct configuration permissions for individual users (if personalized configuration exists); is the permission (Boolean value) of role r to function f under module m; R(u) is the set of roles to which user u belongs; ∨ is the logical OR; ∨ is the logical OR within the set, indicating that the permission is valid if any role has it.
[0074] If there are individual roles with the "revoke inheritance" attribute, the system will dynamically remove the permission coverage corresponding to the role to ensure the flexibility and accuracy of permission granularity control.
[0075] In addition, to ensure the real-time nature of tokens and the principle of least privilege, this module supports a real-time recalculation mechanism for token permissions, which is applicable to the following scenarios: User roles have changed; Adjustment of the system's global permission model; Sensitive operations require secondary confirmation of permissions; A user who has been inactive for a long time requests again.
[0076] When the system triggers permission recalculation, the following refresh function is used: T new =Sign(Header,Payload updated ,K priv ); Where: T new The refreshed new JWT token; Header is the token header information (algorithm, type, etc.); Payload updated K is the updated permission payload information, including roles, permission sets, etc. priv is the system private key, used for signature generation; Sign(·) is the signature function, usually HMAC-SHA256.
[0077] The system replaces the original Token by resending the updated Token to the client to ensure the consistency of the token content and the backend permission status.
[0078] In addition, this module also supports a session invalidation judgment mechanism to identify whether a token has expired, been revoked, or lost its context. The system is based on the following judgment formula: Where: S valid Is the current token valid? now is the current timestamp; t exp The expiration time of the Token; T is the current Token; B black It is a token blacklist collection that records abandoned tokens; Sig(T) verifies whether the token signature is legal and returns "Valid" or "Invalid".
[0079] Once S valid =0, the system will interrupt the request and prompt the user to log in again or perform permission update.
[0080] The fragmentation processing module is used to store the high-frequency query results returned by the information retrieval module, including a query cache submodule, a cache priority calculation submodule, and a dynamic invalidation judgment mechanism; In this system architecture, the fragmentation processing module is designed not only to store query result caches but also to intelligently manage cache status and dynamically update logic, forming a data buffering and optimization bridge between the information retrieval module and the geographic information database. Its mission is not only to match cached items but also to continuously evaluate cache quality, adjust retention policies, and maintain a dynamic balance between system performance and resources.
[0081] To measure the overall effectiveness of cache usage, this embodiment defines a cache hit rate evaluation function that is used to periodically count whether a query successfully hits an existing cache item. The calculation method is as follows: Among them: H c is the cache hit rate, which indicates the proportion of all system queries that directly hit the cache item, with a value range of [0,1]; N hit N is the number of cache queries hit during the statistical period; total The total number of query requests during the statistical period.
[0082] Generally speaking, when H c If the value is lower than the system-set threshold (for example, 0.4), the system will trigger the cache reconstruction mechanism and re-analyze whether there are any structural problems with the current cache strategy and field distribution.
[0083] In order to monitor the usage of cache space, this embodiment introduces the cache space utilization calculation formula: Among them: Uc is the cache space utilization, with a value range of [0,1]; S used The actual memory space occupied by the current cache (unit: MB or bytes); S total The total free space allocated by the system for cache.
[0084] When U c When the value is continuously higher than a certain threshold (such as 0.85), the system will clean up space or eliminate cold data based on cache priority and access popularity.
[0085] Furthermore, the system quantifies the retention value of each cache item by defining a cache validity weight function. The weight function is as follows: W c =γ1·F r +γ2·A r +γ3·S r ; Where: W c is the comprehensive validity weight of the cache item. The higher the value, the more priority the item should be retained. r Score the field heat, which indicates the average access frequency of the fields involved in the cache; A r Score the access activity, indicating the frequency of access to the cache in the recent period; r is the space efficiency score, which indicates the amount of data provided by the cache item per unit space (i.e., cache density); γ1, γ2, and γ3 are weight factors, satisfying γ1+γ2+γ3=1.
[0086] This weight function serves as the core reference value of the cache eviction mechanism, replacing the single LRU priority, and better takes into account space usage and field hotspot characteristics.
[0087] In some usage scenarios, the system supports a similar query condition aggregation recognition mechanism to avoid creating redundant cache items for repeated queries with only slight structural differences. Its core judgment logic is based on the query condition similarity calculation formula: Where: S q is the query condition similarity coefficient, with a value range of [0,1]. The closer the value is to 1, the more similar the two query conditions are. inter is the set of fields involved in both query conditions; F union It is the union of all fields in the two query conditions.
[0088] In general, when S q ≥θ (e.g., set to 0.8), the system considers the two sets of conditions to be logically equivalent and can directly reuse the existing cached results, thereby reducing repeated cache writes.
[0089] In one possible implementation, the system also supports a dynamic cache lifecycle adjustment strategy, where different types of queries determine the default cache duration based on historical usage data. For example, a highly visited field combination (such as "province + resource reserves") would have a TTL of 15 minutes for the corresponding cache item, while a less frequently visited combination could be set to 5 minutes, improving space reuse.
[0090] Finally, to facilitate auditing and caching logic tracking, the system maintains three types of data records: cache hit logs, invalidation logs, and elimination logs, supporting full-cycle management and post-tuning analysis of cache behavior.
[0091] The information retrieval module is used to construct query statements based on field conditions and connect to the geographic information database to perform compound searches. The module includes a keyword input unit, a filter dimension selection unit, and a result paging unit. The information retrieval module not only handles combined screening of field dimensions but also handles fuzzy matching of free keywords, dynamic allocation of ranking weights, and efficient paging responses. To support the system's practical application in processing large-scale mineral data, geographic information, and semantic description mapping, the module incorporates various quantitative analysis methods to optimize query structure and result sorting logic.
[0092] In this embodiment, the keyword matching function uses text vectorization + edit distance model to assist in calculating the matching correlation between keywords and database fields. For this purpose, the keyword similarity scoring function is defined as follows: Among them: K s Score the keyword similarity, ranging from [0,1], the closer to 1, the higher the match; d edit is the edit distance between the keyword and the field value (i.e., the minimum number of transformation steps); L k The length (number of characters) of the keyword entered by the user; L f is the length of the compared field content; max(·) is the maximum value of the two, which is used for normalization processing.
[0093] In general, when K s When it is ≥0.7, the system considers it as a highly relevant term and participates in the matching result sorting. If it is lower than this threshold, it will not be included in the main query set.
[0094] In addition, to evaluate the constraint strength of each field in the current query, the system introduces a field screening efficiency function that reflects the filtering ratio brought by the field in historical searches. The formula is as follows: Where: E f N is the field screening efficiency, ranging from [0,1]; rawIndicates the number of query results under the current query conditions if field f is not applied; N filtered The number of remaining results after adding field f.
[0095] This function maintains a field impact factor matrix in the system background to help users obtain recommended fields during the field selection stage, thereby improving query accuracy and performance.
[0096] In order to reasonably configure the overall impact of the combined fields in the ranking, the information retrieval module uses a field combination weight model, the formula is as follows: Where: W combo is the weighted screening capability index of the current field combination; n is the number of fields included in the current combination; ρ i For field f i The relative weight in this business scenario can be set by the system as a default value or configured by the administrator; For field f i The screening efficiency (derived from the previous formula)
[0097] The system can use this model to score different field combinations and prompt users in advance whether certain field combinations will result in too few or too many result sets, thereby enhancing user control.
[0098] In the paging response part, in order to ensure the coordination between the efficiency of user page jump behavior and system load balancing, the system introduces the paging jump efficiency index: Among them: J p is the paging jump efficiency index, which measures the frequency of page jump behavior; N jumped The number of "direct page jumps" executed by the user in a session; N sequential The number of times users browsed using the "previous page" / "next page" method.
[0099] System according to J p The value automatically selects the data extraction strategy. p If the value is high, window functions (such as ROW_NUMBER()) are used instead of OFFSET to improve the performance of deep page access. p If it is lower, the traditional paging strategy is retained.
[0100] In some embodiments, the system will also dynamically determine whether to call pre-generated cache results or whether to enter the fragmentation processing module based on the query field distribution to reduce unnecessary data re-retrieval.
[0101] At the same time, in this embodiment, the information retrieval module also has a built-in field popularity statistics mechanism to accumulate the daily visits to all fields and define the following field access popularity index: Among them: H f is the access popularity index of field f; N f,day is the number of times field f is searched in the current statistical period (e.g., 1 day); m is the total number of fields in the current system; The total number of calls for all fields in the system during the period.
[0102] This value can be used to display the "Popular Fields" label in the query interface or to adjust the default display order of fields.
[0103] In summary, the information retrieval module in the system of the present invention not only realizes field screening, sorting and paging, but also realizes the optimization of data call and intelligent prompts by introducing keyword similarity, field efficiency evaluation, weight fusion mechanism and paging behavior modeling.
[0104] The map display module is used to generate map points based on the latitude and longitude information returned by the information retrieval module, and realize base map switching and pop-up display through the point rendering submodule and layer management submodule; In the chemical mineral geographic information system proposed in this paper, the map display module, serving as a visual rendering interface following the information retrieval module, is primarily used to intuitively project mineral resource query results into geographic space based on longitude and latitude information. This allows for the geographic location of mineral deposits, overlaying of distribution patterns, and pop-up display of key attributes. The map display module not only spatially represents structured mineral information but also provides users with a graphical interface, further supporting regional analysis, trend analysis, and spatial distribution comparison.
[0105] Typically, the result set output by the information retrieval module contains standard fields and longitude and latitude coordinates. The map display module parses these coordinates and generates layer points. It also uses the layer management mechanism to control the display status of the basemap type and overlay layers, and supports users clicking on individual mineral deposit markers to pop up detailed information windows.
[0106] In this embodiment, the map display module is composed of a point rendering submodule, a layer management submodule, and a pop-up display submodule. The three are managed and scheduled through a unified interface, and the whole is linked to operate with the map container as an interactive carrier.
[0107] Specifically, the point rendering submodule is used to convert the longitude and latitude fields in mineral records into point markers on the map. Generally, the system uses open source mapping engines such as Leaflet or Mapbox as the underlying visualization support. Mineral points are displayed using standard circular icons, whose size is scaled according to the mineral resource reserves. The icon radius is calculated using the following formula: r=r0+α·log(1+R); Among them: r is the radius of the final circular icon (unit: pixel); r0 is the basic radius, which represents the minimum circular icon radius, usually set to 4-6 pixels; α is the scaling factor, which adjusts the icon's sensitivity to changes in resource reserves, for example, a value of 2-5; R is the resource reserves (unit: 10,000 tons), which is the corresponding reserve field value in the current mineral record; log(1+R) uses a logarithmic function to suppress large value deviations and prevent extreme values from dominating the display effect.
[0108] In some embodiments, the point colors can also be rendered in a graded manner, such as setting different color codes according to the "deposit scale" field, or setting icon shapes according to the "mineralization series" to enhance the diversity and readability of the layer expression.
[0109] In this embodiment, the layer management submodule controls the basemap style and the on / off status of additional layers. The system supports switching between multiple basemap types, such as street maps, topographic maps, and satellite images, and provides overlays such as geological structure maps, fault zone distribution maps, and transportation network maps. Layer display priority is controlled by the layer index and dynamically selected by the user through the layer control panel.
[0110] In one possible implementation, the system assigns display weight values to different layers and implements a rendering priority strategy, defined as follows: L w =ω t +ω d ; Where: L w Rendering priority value for the layer; t is the layer type weight, for example, the base map weight is 0 and the overlay layer weight is 1; d This is the weight related to the layer data density, and the display priority is adjusted according to the number of points per unit area of the layer.
[0111] When the map zoom level is adjusted, the system will w Determine whether the layer is displayed to improve rendering performance.
[0112] In this embodiment, the pop-up display submodule is used to display detailed mineral deposit information when a user clicks a location, including but not limited to the deposit name, resource reserves, deposit size, province, metallogenic series, and notes. The pop-up style is dynamically rendered using the template component, supporting separate columns for field names and values, and can also jump to the details page or history page.
[0113] To improve click feedback efficiency and prevent accidental clicks caused by overlapping multiple click points, the system introduces a buffer recognition mechanism for each click event. The click range radius is calculated as follows: Where: R c is the Euclidean distance between the click coordinates and the center of the point (unit: pixel); (xy) is the screen coordinates of the current click point; (x i -y i ): coordinates of the center of the i-th point; if R c ≤δ c (Click the tolerance radius, the system is set to 6-10 pixels), then the point is determined to be selected.
[0114] As an option, if multiple points overlap in the same area, the system will generate a point aggregation mark and display the aggregation number. After the user zooms in on the map, the display will gradually expand to avoid interface clutter.
[0115] Additionally, during map display, the system records user map interaction behaviors, including zoom level changes, layer switching, and point click counts, to assess map usage popularity and point attention. Based on this, the system can construct a popularity distribution model to assist in subsequent map interface optimization and intelligent recommendations.
[0116] In summary, the map display module builds a visual entrance to structured information through graphical rendering of points, controllable layer overlay, and pop-up interactive feedback, forming a closed-loop process from field retrieval to spatial expression in the entire system.
[0117] The data backup module is used to perform regular backup operations of the geographic information database according to a preset time plan, including a backup execution script, a backup file manager, and a historical version controller; In the geographic information system of this invention, the data backup module, as a core component of the back-end data security system, works in conjunction with the data processing, information retrieval, and map display modules to ensure the traceability and recoverability of all system data. This module primarily processes and saves data state snapshots generated by various business modules, including structured databases, geographic information layers, log files, user operation records, system configuration parameters, and other multi-source data.
[0118] Generally speaking, the data backup module will dynamically adjust its strategy based on the system operating status and data change frequency, using a combination of scheduled full backup and periodic incremental backup to ensure performance while avoiding resource waste.
[0119] In this embodiment, the data backup module is composed of five main submodules, namely: a backup scheduling submodule, a change identification submodule, an encryption and compression submodule, an integrity check submodule, and a recovery check submodule.
[0120] In this embodiment, the backup scheduling submodule is responsible for the time management of initialization and periodic triggering, and uses a weighted time power function to determine the backup interval of different data types. Specifically, the following expression is used: Where: ΔT i w is the backup time interval of the i-th type of data (unit: minute); β is the unified backup scheduling benchmark time coefficient (unit: minute), the system default value is 1440 (i.e., daily backup benchmark); ω i is the change frequency factor of the i-th type of data, reflecting the number of updates per unit time; ∈ is the minimum disturbance factor, used to avoid division by zero errors, usually set to 10 -3 .
[0121] This expression can dynamically adapt to the backup scheduling differences between data with high change frequency (such as interaction logs and short-cycle temporary layers) and data with low change frequency (such as geological base maps and mineral dictionary tables).
[0122] In this embodiment, the change identification submodule is used to compare the differences between data snapshots to determine whether to start incremental backup. The system records the hash summary at the data block level and calculates the difference coefficient to determine the threshold. Let snapshot S be t Compared with the previous snapshot S t-1 Contains n data records, and the difference ratio δ is calculated as follows: Where: δ is the data difference ratio (range: [0,1]); n is the total number of data records in the snapshot; is the hash value of the i-th record in the current and previous snapshots; I(·) is an indicator function, which takes the value 1 if the condition in the brackets is met, and 0 otherwise.
[0123] In this embodiment, the encryption and compression submodule performs serial compression and encryption operations on the difference data to prevent data leakage and space waste. Compression uses the LZ4 high-efficiency compression algorithm, and encryption uses the AES-256-CBC mode. The following encryption process is performed on each data block: C i =AES k,IV (P i); Where: C i is the encrypted i-th data block; P i is the original data block plaintext; k is the encryption key (256 bits); IV is the initialization vector, 128 bits in length, which is uniquely generated in each backup task of the system; AES k,IV (·) is a symmetric encryption function performed based on the key k and the initialization vector IV.
[0124] As an option, the system supports periodic rotation of the key kkk and records the key usage time to support retrospective auditing.
[0125] In this embodiment, the integrity check submodule generates a data verification digest after each backup round to ensure that the data has not been tampered with or damaged. A dual-channel verification system of SHA-256 and CRC32 is used. The SHA-256 digest is generated as follows: S h =SHA256(C1||C2||…||C n ); Where: S h A secure hash summary of the entire backup file; C n is the nth encrypted data block; SHA256(·) is a 256-bit irreversible hash function.
[0126] At the same time, the system generates an independent CRC check code for each data block: V i =CRC32(C i ); Used to quickly detect if a single block has been damaged during transfer or writing.
[0127] In this embodiment, the recovery check submodule is used to verify the integrity, validity, and consistency of the restored content during data recovery operations. The system first restores the backup chain based on the recovery index mapping, then recalculates the hash value of each restored block and compares it with the checksum value at the time of backup: Among them: Verify i Restore the verification status for the i-th data block; The hash digest of the restored block; This is the hash digest recorded during the original backup.
[0128] This mechanism ensures that any data restoration errors are caught immediately, improving overall system reliability.
[0129] In some embodiments, the system employs an asynchronous write-back strategy to enhance the non-blocking nature of backup tasks. This strategy involves running the main data operation thread and the backup thread separately. The system maintains a dual-buffered queue in memory, returning a service response immediately after writing data to the queue. Backup operations are completed asynchronously in a thread pool, minimizing latency in the primary service.
[0130] In summary, the data backup module of the present invention achieves highly controllable data protection capabilities in multiple aspects such as intelligent scheduling, efficient difference identification, parallel encryption and compression, and strict recovery and verification.
[0131] Function upgrade module, used to receive user feedback and perform module updates, including feedback collection submodule, version identification submodule and module replacement submodule; In the system architecture of this invention, the function upgrade module is not only a key component supporting the system's self-evolution capabilities, but also responsible for cross-module collaborative evolution. Its operational results directly impact the success of the information retrieval module's functional expansion, the map display module's ability to load new interactive logic, and the data backup module's ability to adapt to the new architecture.
[0132] The technical goal of the feature upgrade module goes beyond simply updating versions. It also encompasses complex processes such as rationally planning the version evolution path, controlling the consistency of dependent module states, assessing the impact of upgrades, and implementing a multi-version grayscale parallel strategy. The following will fully disclose the technical mechanisms that have not yet been fully disclosed, in conjunction with the aforementioned discussion.
[0133] In this embodiment, the module dependency conflict judgment mechanism is used to determine whether the new version function will cause dependency damage to the current existing modules, especially when there is a deep dependency chain or a circular dependency structure. The dependency conflict degree calculation formula is as follows: Where: Ψ is the module dependency conflict degree, which is used to measure the destructiveness of the new version upgrade to the current dependency structure; m is the number of dependencies involved; μ i is the probability of interruption of the i-th dependency, which comes from the estimate of the probability of version incompatibility; ν i Score the currently acceptable structural flexibility of the i-th dependency (range: [0,1]); ∈ is a small perturbation factor to avoid division by zero, usually 10 -5 .
[0134] Generally, if Ψ>θ, the system automatically terminates the upgrade and records the dependency conflict path.
[0135] In this embodiment, the function coverage evaluation submodule is used to measure the coverage of the new version functions relative to the old version at the interface layer, logic layer and data call layer to ensure that the upgrade is an extensibility upgrade rather than a downgrade. Where: Ω is the total functional coverage (range: [0,1]); ρ api is the API interface compatibility rate, which indicates the proportion of old version interfaces that can continue to be called in the new version; ρ logic is the business logic retention rate; ρ data is the data model field compatibility rate; W api , W logic , W data The corresponding level weights are set according to business sensitivity and are usually set to 4:3:3.
[0136] In one possible implementation, if Ω<Ω min (If it is set to 0.8), it will be considered that the function upgrade does not cover the key logic, and the system will block the online launch.
[0137] In this embodiment, the upgrade impact range identification mechanism uses a graph traversal algorithm to extract the set of modules that the new function may affect. Each functional module is a graph node, and the dependency relationship is a directed edge. The system calculates the degree of impact of each module based on the impact propagation function. j ,as follows: Among them: I j is the impact degree of the upgrade on the jth module; P j The set of paths that can be reached from the re-upgrade module contains all the paths of module j; d ij is the number of directed edges in the path from the starting module i to the module j.
[0138] This formula shows that the longer the path propagation distance, the weaker the impact; when I j >I crit (If it is set to 0.6), it means that the module needs to be upgraded synchronously or adapted for compatibility.
[0139] In this embodiment, the module hot-swap efficiency evaluation submodule is used to measure the efficiency of the system during hot-swap of functional module versions to avoid significant impact on user experience. Its core indicator is the hot-swap delay time τ, which is defined by the following formula: Where: τ is the average hot switching delay time perceived by each user (unit: milliseconds); T s The timestamp when all new version functions take effect; T i is the hot switch startup time; N is the number of users currently in session state; the system compares τ with the empirical threshold τ th If the time is exceeded, the system will enter the load reduction upgrade state, that is, suspend some non-core services to prioritize the successful function switching.
[0140] This embodiment also supports a version dependency confluence mechanism. When multi-functional modules need to be upgraded collaboratively, the minimum coexisting version set of dependent versions is automatically identified to avoid operation failures caused by inconsistent versions between different modules. The confluence operation involves solving the minimum covering set problem, which is defined as follows: Where: D k is the set of acceptable versions of the kth module; V j is the candidate version number; V i,min is the minimum compatible version required by the i-th module; n is the number of modules participating in the confluence; is the union of the selected element sets in all candidate solutions; min(∪k=1nDk) means taking the minimum value of a certain indicator among all selected elements as the target optimization function; i is the index variable of the data group, indicating the group number currently being checked; D i is the set of candidate elements corresponding to the i-th data group; j∈D i Represents element j in the i-th data group.
[0141] This mechanism ensures that the final upgraded versions are minimal, conflicts are minimized, and upgrade costs are lowest.
[0142] In summary, the function upgrade module is not just an execution module that simply replaces the code version, but a comprehensive system that combines module dependency graph analysis, impact propagation assessment, interface compatibility detection, hot switch assessment and confluence scheduling capabilities.
[0143] While embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is determined by the appended claims.
Claims
1. Chemical mineral geographic information system, characterized by: The system comprises: The geographic information database module is used to build structured data tables based on relational databases, establish indexes according to province, genetic type, metallogenic age, deposit size, metallogenic series, metallogenic unit, latitude and longitude location, and resource reserves, and has a joint primary key; A data information processing module is used to convert the unstructured data in the chemical geological historical data into a standard field format and write it into the geographic information database through a data import interface. The module generates a unique number to identify each piece of mineral information; The content management platform module is used to realize the addition, editing, review and release of information, including a content entry submodule, an information review submodule and a permission distribution submodule. Each submodule interacts with the geographic information database through a back-end interface; User authentication and authority control module, which is used to receive user login requests and generate tokens, and control the scope of authority through role identification. The module supports single sign-on and is bound to the content management platform module and the information retrieval module; The fragmentation processing module is used to store the high-frequency query results returned by the information retrieval module, including a query cache submodule, a cache priority calculation submodule, and a dynamic invalidation judgment mechanism; An information retrieval module, used to construct a query statement based on field conditions and connect to the geographic information database to perform a composite search, the module including a keyword input unit, a screening dimension selection unit and a result paging unit; A map display module is used to generate map points based on the latitude and longitude information returned by the information retrieval module, and to implement base map switching and pop-up display through the point rendering submodule and layer management submodule; A data backup module, used to perform regular backup operations of the geographic information database according to a preset time plan, including a backup execution script, a backup file manager and a historical version controller; The function upgrade module is used to receive user feedback and perform module updates, and includes a feedback collection submodule, a version identification submodule, and a module replacement submodule.
2. The chemical mineral geographic information system according to claim 1, characterized in that: The geographic information database module includes: The field structure definition unit configures the field type and length based on the preset field template. The fields include province, genetic type, metallogenic era, deposit size, metallogenic series, metallogenic unit, longitude and latitude, and resource reserves. The metallogenic era field is in string format, and the resource reserve field is in floating-point format. The database uses the InnoDB engine to build the field table structure. The unit is established by joint primary key, and the joint primary key index is constructed based on the metallogenic era, genetic type, and longitude and latitude. The primary key constraint method is used to avoid duplicate records, and the longitude and latitude fields are retained to 6 decimal places; The index optimization unit periodically analyzes field call frequency, executes the "SHOWINDEX" and "EXPLAIN" commands to obtain slow query logs, identifies redundant fields and index-missing fields, and generates an index suggestion table for administrators to decide whether to execute.
3. The chemical mineral geographic information system according to claim 1, characterized in that: The data information processing module includes: The field standardization submodule performs semantic recognition and field mapping, maps the genetic type information to the genetic type field, maps the stratigraphic age information to the metallogenic age field, constructs the JSON structure, and verifies the field integrity; The coding identification submodule generates a unique number consisting of the system timestamp, administrative division code and serial number, and binds it to the database primary key field; The data import interface unit supports CSV, XLS and JDBC protocol data import. The import process verifies the number of fields and data types, and writes unqualified records to the log file.
4. The chemical mineral geographic information system according to claim 1, characterized in that: The content management platform module includes: The content entry submodule provides a drop-down option box, a time selector, a map point selection, and rich text input controls. Data is submitted via AJAX, and the background verifies the field format and required status before writing to the database. The information review submodule configures the roles of preliminary review and final review, and records the review status, approval opinion, reviewer and time during the review process; The permission distribution submodule controls field visibility and operation permissions based on the role-function-field ternary relationship. The front-end dynamically renders controls according to the permission configuration.
5. The chemical mineral geographic information system according to claim 1, characterized in that: The user authentication and authority control module includes: Login verification unit receives user identity credentials, information is transmitted via HTTPS, passwords are verified by SHA-256 encryption digest, supports OAuth login and generates temporary identity codes; The permission role matching unit loads role permissions based on user ID, with time period and IP address range restrictions; The token generation unit generates a JWT token containing user ID, role, login time and expiration time fields, and stores it locally in the browser.
6. The chemical mineral geographic information system according to claim 1, characterized in that: The information retrieval module includes: The compound condition parsing unit receives the mineralization era, deposit size, resource reserves, longitude and latitude range and keywords, encapsulates them into a JSON structure, converts them into SQL statements and performs preprocessing to prevent SQL injection; The paging processing unit calculates the number of pages based on the total number of records, uses OFFSET and LIMIT to extract the current page data, and returns the paging navigation mark; The query parameter construction unit calls the scoring function to sort the query results. The scoring functions include: geological priority scoring function: calculates "deposit size × resource reserves / distance to main road"; resource richness scoring function: assigns points based on reserve range; and transportation convenience scoring function: assigns points based on the density of transportation intersections.
7. The chemical mineral geographic information system according to claim 1, characterized in that: The fragmentation processing module includes: The query cache submodule records query conditions and results, stores them in Redis, uses the condition hash value as the cache key, and directly returns the result when the cache is hit; The cache priority calculation submodule uses the LRU algorithm to manage the cache retention order, record the most recent access time, and eliminate unused records; Dynamic invalidation judgment mechanism monitors database write or update operations, marks corresponding cache invalidations, triggers query reconstruction and cache replacement.
8. The chemical mineral geographic information system according to claim 1, characterized in that: The map display module includes: The point rendering submodule generates a mineral distribution point layer based on longitude and latitude, and displays it as a circular icon. The icon radius is set according to the resource reserves, and the rendering is called by Leaflet or Mapbox framework; The layer management submodule switches between street maps, topographic maps, and satellite maps, supports displaying geological structure zones, fault zones, and transportation network layers, and provides layer switch controls; Pop-up display unit, click on the point to pop up the deposit details, including the deposit name, resource reserves, deposit scale, mineralization series, administrative divisions and notes, and support jumping to the details page.
9. The chemical mineral geographic information system according to claim 1, characterized in that: The data backup module includes: The backup execution script performs database backups on a scheduled basis. Based on the Crontab scheduling rules, MySQLDump is run daily to generate backup files named by date. Backup file manager, archive backup files by month; The historical version controller records the backup time, trigger method and database version, and supports version recovery operations after permission review.
10. The chemical mineral geographic information system according to claim 1, characterized in that: The function upgrade module includes: The feedback collection submodule records user questions and suggestions, and stores them in a categorized feedback database, including the source page and operation path. The version identification submodule registers the version number, update time, module and remarks. The module source file contains version comments. Module replaces submodule, replaces module according to update package, automatically backs up before execution, and performs dependency consistency check after replacement.
Citation Information
Cited By
Intelligent safety monitoring and dynamic risk management and control system and method for polyvinyl chloride polymerization section
CN121526312A