A tenant permission management and configuration system based on a SAAS platform
By using a SaaS-based tenant permission management and configuration system, and leveraging data extraction, segmentation, and verification modules, a difference mapping table is generated and breakpoint verification is performed. This solves the problem of the integrity of difference publications in cross-tenant publications and achieves traceable records and minimal difference publications at the territorial coding granularity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 杭州友成科技有限公司
- Filing Date
- 2026-03-25
- Publication Date
- 2026-07-07
AI Technical Summary
In cross-tenant publishing scenarios, existing technologies struggle to ensure the integrity of minimum difference publishing under constraints of local coding granularity and cross-tenant audit traceability requirements. They lack deterministic constraints and evidentiary descriptions of difference composition, transmission boundaries, and effective boundaries.
The system utilizes a SaaS-based tenant permission management and configuration system. A data extraction module acquires release snapshots and geographic code sets, performs index filtering and differential extraction to generate target and difference lists. A data segmentation module then performs granular segmentation to generate a difference mapping table. Next, a data verification module generates release channels and performs breakpoint verification to form a target record set. Finally, an output module performs validity checks and threshold comparisons to output a complete release vector.
Under the constraint of territorial coding granularity, the arrival and effectiveness of the difference list in the target list are verified, forming a traceable partition sequence record, ensuring the integrity of the minimum difference publication, and meeting the cross-tenant audit traceability requirements.
Smart Images

Figure CN121919202B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of resource management technology, and more specifically, to a tenant permission management and configuration system based on a SaaS platform. Background Technology
[0002] The existing platform generates a menu tree around the tenant context, with "application" as the root, and is pruned by multiple parameters such as "mode, pull flag, and failure status". The public data dictionary supports referencing and overriding. The initialization of WMS / MES rules (document type, warehouse strategy, barcode type) needs to be linked with the menu display and permission binding to take effect. In order to support the differentiated online deployment of branch offices / regions, the operation and maintenance side manages the target set by the region identifier (code) and adopts the method of "configuration snapshot - difference package construction - shadow version pointer switching" for release. At the same time, concurrent deduplication, idempotent replay, rollback and full-process auditing are required to adapt to the daily synchronization scenarios of multiple targets and cross networks.
[0003] However, in scenarios where locality identifiers (codes) are used as the synchronization unit and cross-tenant publishing is carried out using "configuration snapshot - difference package - shadow version pointer switching", the publishing object has converged from a whole package update to fine-grained differences containing only necessary changes. The publishing path also requires auditable closed-loop proof of the arrival, effectiveness, rollback and version switching of differences. Existing mechanisms lack deterministic constraints and evidence-based descriptions of the composition, transmission boundaries and effectiveness boundaries of differences in this link. Therefore, the defect of existing technology is that it is difficult to ensure the integrity of minimum difference publishing under the constraints of locality coding granularity and cross-tenant audit traceability requirements.
[0004] In view of this, the present invention proposes a tenant permission management and configuration system based on a SaaS platform to solve the above problems. Summary of the Invention
[0005] To overcome the aforementioned deficiencies of the prior art, the present invention provides a tenant permission management and configuration system based on a SaaS platform.
[0006] To achieve the above objectives, the present invention provides the following technical solution:
[0007] Firstly, a tenant permission management and configuration system based on a SaaS platform is provided, including:
[0008] Data extraction module: used to obtain release snapshots and local code sets, perform index filtering on local code sets based on release snapshots to obtain target lists, and perform differential extraction on release snapshots to obtain difference lists. The release snapshot refers to version data containing tenant context and difference information.
[0009] Data segmentation module: used to perform granular segmentation processing on the difference list based on the target list to obtain a difference mapping table. The granular segmentation processing refers to the partial splitting and index alignment of the difference list according to the target list.
[0010] Data verification module: used to perform channel generation processing on the release snapshot to obtain the release channel, and perform breakpoint verification processing on the difference mapping table according to the release channel to obtain the target record set. The target record set refers to the transmission arrival level record set formed after completing the breakpoint verification processing on the release channel for each local code in the target list and according to each difference item listed in the difference mapping table.
[0011] Output module: Used to perform effective verification processing on the target list based on the target record set to obtain the effective record set, and to perform threshold comparison processing on the difference mapping table based on the effective record set to obtain the complete release vector.
[0012] In some embodiments, the method of performing index filtering on the territorial code set based on the published snapshot to obtain the target list includes:
[0013] Based on the batch number and version pointer in the published snapshot, a partition key is established for each local code in the local code set. Candidate indexes are obtained according to the key mapping relationship between the partition key and the schema field of the published snapshot.
[0014] Based on candidate indexes and published snapshots, the enabled and disabled fields are read for each local code. After alignment by partition key, only enabled and not disabled items are retained, and they are summarized into an admission list in partition order.
[0015] Based on the admission list and release snapshot, deduplication is performed on the local code by batch number, and cross-version residues are removed by comparing the current version with the version pointer, while maintaining the consistency of partition order and index, and outputting a valid list;
[0016] Based on the valid list and published snapshot, a batch number, version pointer and timestamp are written for each local code to generate a corresponding key entry, and then aggregated by partition key and output as the target list in partition order.
[0017] In some embodiments, a method for performing differential extraction processing on a published snapshot to obtain a list of differences includes:
[0018] Read the differential digest from the release snapshot and limit the comparison range based on the batch number and version pointer in the release snapshot;
[0019] Based on the limited comparison range, the menu item change identifiers and button item change identifiers in the differential summary are analyzed, and the menu item change identifiers and button item change identifiers are collected to obtain the initial change set;
[0020] The initial change set is processed for field completion and consistency verification to obtain the target change set. The target change set is then processed for deduplication, merging, and reordering to obtain the difference list.
[0021] In some embodiments, the method of performing granular segmentation processing on the difference list based on the target list to obtain the difference mapping table includes:
[0022] Based on the target list and the difference list, a pairing relationship is established between each territory code and each difference item to generate a matching pair set. The territory code is taken from the territory entries in the target list, the difference item is taken from the change entries in the difference list, and the matching pair set only contains the difference pairing entries that need to be issued in the current batch.
[0023] Based on the matching pairs and partition keys, hierarchical alignment is performed according to the geographical partition to obtain the alignment index;
[0024] Based on the alignment index and the difference list, the granularity of the hierarchical difference pairing entries is reduced to generate a sub-difference set;
[0025] Based on the sub-difference set and the partition key, each local code is used as the key and the corresponding set of difference items is used as the value to construct a key-value structure to obtain a difference mapping table. The set of difference items is obtained by collecting the sub-difference set under the constraint of alignment index.
[0026] In some embodiments, the method for performing hierarchical alignment processing based on matching pairs and partition keys to obtain an alignment index includes:
[0027] Based on the matching pair set and the partition key, the difference pair entries corresponding to each local code are assigned to their partitions, and the serial numbers are recorded according to the order of appearance in the matching pair set to obtain the partition list.
[0028] Based on the partition list and the pattern field of the published snapshot, the difference pairing entries are rearranged according to the pattern field within each partition, and consecutive numbers are created for entries with the same pattern to obtain a hierarchical list.
[0029] Based on the hierarchical list and partition key, in each partition, difference pairs that are inconsistent with the pattern field are removed, while the rearranged sequence relationship is preserved, resulting in an aligned index.
[0030] In some embodiments, the method for performing channel generation processing on a release snapshot to obtain a release channel includes:
[0031] Based on the batch number and version pointer in the release snapshot, a channel number is generated for each local code according to the partition key, and then summarized into a channel list in partition order;
[0032] Based on the channel list and the target list, the local codes not in the target list are removed, while the partition order consistent with the target list is retained to obtain the valid channels;
[0033] Based on the effective channels and the difference mapping table, the number of difference items and the sequence number range that each locality coding record hits are formed by channel binding;
[0034] Based on channel binding, the batch number and version pointer of the published snapshot are written and the partition order is fixed. The output is the published channel according to the local code.
[0035] In some embodiments, the method for performing breakpoint verification on the difference mapping table according to the publication channel to obtain the target record set includes:
[0036] Based on the channel and difference mapping table, within each local code, the set of difference items is aligned with the channel number one by one according to the partition key, and the sequence number and sequence number range corresponding to each difference item are recorded to obtain the channel sequence.
[0037] Based on the channel sequence and the published channel, the arrival status of the corresponding sequence number is read sequentially according to the channel number within each local code, while maintaining the consistency of the partition order, to obtain the reconciliation sequence;
[0038] Based on the reconciliation sequence and the channel sequence, breakpoint resume verification is performed according to the sequence number range. The consecutively arriving sequence number intervals are merged and the unarrived sequence number intervals are located to obtain the resume sequence.
[0039] Based on the continuation sequence and partition key, the arrival status is summarized under each local code and the batch number and version pointer are written, and the result is output as the target record set in partition order.
[0040] In some embodiments, based on the reconciliation sequence and the channel sequence, a method for performing breakpoint resume verification processing according to the sequence number range, merging consecutively arriving sequence number intervals and locating the unarrived sequence number intervals to obtain the resume sequence includes:
[0041] Based on the reconciliation sequence and channel sequence, the sequence number range is aligned according to the local code and partition key, and the arrival status and non-arrival status of each sequence number are recorded sequentially, while maintaining the consistency of the partition order.
[0042] Based on the arrival and non-arrival status, adjacent and arrived sequence numbers are merged to form consecutive arrival start and end sequence numbers, while retaining the start and end relationship corresponding to the partition order.
[0043] Based on the start and end relationships, locate the unreached sequence number range and summarize and output it as a continuation sequence according to the location code and partition order.
[0044] In some embodiments, the method for performing an effectiveness verification process on the target list based on the target record set to obtain the effective record set includes:
[0045] Based on the target record set and the target list, the arrival status is aligned under each territory code according to the partition key, only the territory codes located in the target list are retained, and the partition order is maintained;
[0046] Based on the target record set and the difference mapping table, under each locality code, the intersection comparison process is performed between the arrival difference items in the target record set and the difference item set in the difference mapping table to obtain the effective entry set;
[0047] Based on the effective entry set and release snapshot, write the batch number, version pointer and timestamp for each effective entry in the effective entry set, and summarize and output them as an effective record set in partition order.
[0048] In some embodiments, the method of performing threshold comparison processing on the difference mapping table based on the effective record set to obtain the published complete vector includes:
[0049] Based on the effective record set and the difference mapping table, the effective entries and the number of difference item sets are counted and the coverage ratio is calculated in each territory, while maintaining the partition order to obtain the coverage table.
[0050] Based on the coverage table and the preset ratio threshold, the coverage ratio is compared with the preset ratio threshold for each territory, the Boolean bits of the comparison result are recorded and the partition order is maintained to obtain the hit list.
[0051] Based on the hit list and target list, the batch number and version pointer are written in the order of the local code, and the complete release vector of this batch is output.
[0052] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0053] This invention relies on the unified context of the batch number and version pointer of the release snapshot to perform index filtering on the local code set to obtain the target list and perform differential extraction on the release snapshot to obtain the difference list. On this basis, the difference list is processed by granular segmentation based on the target list to obtain the difference mapping table to fix the boundary of the difference items at the local code granularity. Further, the release snapshot is processed by channel generation to obtain the release channel, and the difference mapping table is processed by breakpoint verification based on the release channel to obtain the target record set to solidify the arrival layer records. Then, the target list is processed by effectiveness verification based on the target record set to obtain the effective record set, and the difference mapping table is processed by threshold comparison based on the effective record set to output the release complete vector. Thus, under the constraint of local code granularity, the arrival and effectiveness of the difference list in the target list are verified, and the release complete vector is given as a Boolean result in the order of the target list. At the same time, the target record set and the effective record set form a traceable partitioned sequence record under the connection of batch number and version pointer to meet the cross-tenant audit traceability requirements. In addition, the difference mapping table limits the minimum difference range and avoids interference from non-target distribution and comparison, ensuring the integrity of the minimum difference release. Attached Figure Description
[0054] Figure 1 This is a schematic diagram of the structure of a tenant permission management and configuration system based on a SaaS platform according to the present invention;
[0055] Figure 2 This is a flowchart illustrating a tenant permission management and configuration method based on a SaaS platform according to the present invention. Detailed Implementation
[0056] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to specific embodiments and the accompanying drawings. In the following detailed description, many specific details are set forth to provide a thorough understanding of the exemplary embodiments described. However, it will be apparent to those skilled in the art that the described embodiments may be practiced without some or all of these specific details. In other exemplary embodiments, well-known structures have not been described in detail to avoid unnecessarily obscuring the concepts of this disclosure. It should be understood that the specific embodiments described herein are merely illustrative of the present invention and are not intended to limit the present invention. Furthermore, the various aspects described in the embodiments may be combined arbitrarily without conflict.
[0057] Example 1
[0058] Please see Figure 1 As shown, this embodiment discloses a tenant permission management and configuration system based on a SaaS platform, including:
[0059] Data extraction module: used to obtain release snapshots and local code sets, perform index filtering on local code sets based on release snapshots to obtain target lists, and perform differential extraction on release snapshots to obtain difference lists. The release snapshot refers to version data containing tenant context and difference information.
[0060] In this embodiment, a release snapshot refers to the version data package corresponding to this release, which includes a batch number, a version pointer, a tenant context, and a differential digest with the previous version. The batch number is a unique number used to identify a release batch, which is associated with the date, time, and sequence and serves as a unique key throughout the entire process. The version pointer is a version index identifier that points to the current version or a shadow version. The differential digest is a summary of change entries obtained by comparing the current version pointer with the previous version within the release snapshot, which is used for unified alignment and traceability throughout the entire release process. The SAAS platform refers to a Software as a Service (SaaS) platform.
[0061] The geographic code set refers to the set of geographic codes for candidate release objects, used to represent all geographic areas that may receive this release. The target list refers to the actual set of release objects obtained after filtering the geographic code set based on the release snapshot (where to release), corresponding one-to-one with the current batch and version pointer. The difference list refers to the set of specific changes to be issued this time (what to release), obtained by differential extraction from the release snapshot. The granularity can be as fine as differences in menu nodes, button permissions, etc. For example:
[0062] Batch number: BATCH-2025-10-22-001;
[0063] Version pointer: shadow_v43 (shadow version);
[0064] Tenant context: Tenant = YX Manufacturing, Application = MES Management Platform;
[0065] Differential Summary: Menu Node {WMS / Inbound / Full Inspection Inbound Order: Rename}, Button Permissions {btn_submit: Add}, Expiration Status {WMS / Outbound / Purchase Return Outbound: Expired}.
[0066] The territory code set indicates all territories that may receive this release;
[0067] Example: {BJ01,SZ02,SH-PD,WH-CANG,TJ-BIN};
[0068] For example: BJ01 (Beijing jurisdiction), SH-PD (Shanghai Pudong jurisdiction).
[0069] The target list refers to the actual set of released objects obtained by filtering the local code set based on the release snapshot, and it corresponds one-to-one with the current batch and version pointer;
[0070] For example:
[0071] Based on the "Application = MES Management Platform, Mode = MES Mode Enabled" in the published snapshot, filter out the regions where MES is not enabled;
[0072] The result is: {BJ01,SH-PD,WH-CANG} (e.g., SZ02 is excluded if MES is not enabled).
[0073] The difference list refers to the set of specific changes that need to be issued this time, obtained by differential extraction from the published snapshot. The granularity can be as fine as menu nodes, button permissions and other difference items.
[0074] For example:
[0075] Difference ID=D001: Menu node “WMS / Inbound / Full Inspection Inbound Order” → name revised to “WMS / Inbound / Incoming Material Full Inspection Order” (node renaming);
[0076] Difference ID=D002: Add button permission btn_submit (Add Button) to the "WMS / Inbound / Full Inspection Inbound Order" page;
[0077] Difference ID=D003: The menu node “WMS / Outbound / Purchase Return Outbound” is in an invalid state (node invalid);
[0078] Difference ID=D004: The attribute set of the barcode type "Location Code" has a new field "Valid Area Identifier" (new attribute, if linked to your initialization rules).
[0079] Methods for performing index filtering on the geographic code set based on the published snapshot to obtain the target list include:
[0080] Based on the batch number and version pointer in the published snapshot, a partition key is established for each local code in the local code set. Candidate indexes are obtained according to the key mapping relationship between the partition key and the schema field of the published snapshot.
[0081] Based on candidate indexes and published snapshots, the enabled and disabled fields are read for each local code. After alignment by partition key, only enabled and not disabled items are retained, and they are summarized into an admission list in partition order.
[0082] Based on the admission list and release snapshot, deduplication is performed on the local code by batch number, and cross-version residues are removed by comparing the current version with the version pointer, while maintaining the consistency of partition order and index, and outputting a valid list;
[0083] Based on the valid list and published snapshot, a batch number, version pointer and timestamp are written for each local code to generate a corresponding key entry, and then aggregated by partition key and output as the target list in partition order.
[0084] In this embodiment, the enabled field is used to indicate whether a certain location code is in the release enabled state under the current batch number and version pointer. The invalid field is used to indicate whether a certain location code is in the invalid state under the current batch number and version pointer. The partition key is used to indicate the partition identifier of a certain location code and its partition order. The partition key and the location code have a one-to-one correspondence under the same batch number and version pointer. The partition key is used to assign a fixed partition identifier and partition order to the location code, and accordingly, the location code is assigned to the corresponding partition and kept aligned throughout the entire process. WMS refers to Warehouse Management System and MES refers to Manufacturing Execution System.
[0085] Based on the batch number and version pointer of the released snapshot to solidify the filtering context, partition keys are generated for each locality code set to limit locality boundaries. A key mapping relationship is established by combining the partition key with the pattern field to obtain a candidate index. The aim is to form a reusable and traceable locality candidate set under the same batch. Then, the enabled and invalid fields are read using the candidate index as the index surface. After aligning with the partition key, only enabled and non-invalid locality codes are retained and summarized into an admission list. The purpose is to converge effective targets at the locality code granularity to support subsequent minimum difference distribution. Duplicate entries in the same batch are deleted using the batch number as the unique key, and cross-version residues are removed by comparing with the current version using the version pointer. At the same time, the partition order and index consistency are maintained to output a valid list. The purpose is to ensure the uniqueness and consistency of the admission results in both batch and version dimensions.
[0086] Methods for performing differential extraction on published snapshots to obtain a list of differences include:
[0087] Read the differential digest from the release snapshot and limit the comparison range based on the batch number and version pointer in the release snapshot;
[0088] Based on the limited comparison range, the menu item change identifiers and button item change identifiers in the differential summary are analyzed, and the menu item change identifiers and button item change identifiers are collected to obtain the initial change set;
[0089] The initial change set is processed for field completion and consistency verification to obtain the target change set. The target change set is then processed for deduplication, merging, and reordering to obtain the difference list.
[0090] In this embodiment, the snapshot release provides batch number and version pointer as time and version boundaries. The system only parses change entries recorded in the differential summary within these boundaries, avoiding cross-batch and cross-version mixing that could lead to subsequent verification distortion. This provides a consistent data starting point for constructing the difference list. Within a limited scope, the system extracts two types of entries: menu item change identifiers and button item change identifiers. Maintaining the source and type of the entries, these are aggregated into an initial change set. The initial change set serves as the sole input set for subsequent field completion and consistency verification. Field completion is used to supplement the pattern field and failure flag for each change and verify the consistency of the same entry within a limited scope to form the target change set. Subsequently, deduplication and merging are performed based on the batch number and version pointer, and the changes are rearranged in chronological order to output the difference list as a structured result, as shown in the example below:
[0091] When the differential summary in the same release snapshot includes the name revision of the menu "WMS / Inbound / Full Inspection Inbound Order" and the addition of the page button "btn_submit", as well as the deactivation setting of the menu "WMS / Outbound / Purchase Return Outbound", the system first limits the comparison range by batch number and version pointer, extracts the above three types of changes and aggregates them into an initial change set. Then, it completes the mode field and deactivation flag for each item and completes the consistency check to form the target change set. Finally, it completes deduplication and merging and reordering according to batch number and version pointer to obtain the difference list.
[0092] Data segmentation module: used to perform granular segmentation processing on the difference list based on the target list to obtain a difference mapping table. The granular segmentation processing refers to the partial splitting and index alignment of the difference list according to the target list.
[0093] In this embodiment, the method for performing granular segmentation of the difference list based on the target list to obtain the difference mapping table includes:
[0094] Based on the target list and the difference list, a pairing relationship is established between each territory code and each difference item to generate a matching pair set. The territory code is taken from the territory entries in the target list, the difference item is taken from the change entries in the difference list, and the matching pair set only contains the difference pairing entries that need to be issued in the current batch.
[0095] Based on the matching pairs and partition keys, hierarchical alignment is performed according to the geographical partition to obtain the alignment index;
[0096] Based on the alignment index and the difference list, the granularity of the hierarchical difference pairing entries is reduced to generate a sub-difference set;
[0097] Based on the sub-difference set and the partition key, each local code is used as the key and the corresponding set of difference items is used as the value to construct a key-value structure to obtain a difference mapping table. The set of difference items is obtained by collecting the sub-difference set under the constraint of alignment index.
[0098] It should be noted that the location codes in the target list are limited to object boundaries by batch number and version pointer, and the difference items in the difference list are limited to content boundaries. Within these boundaries, the two are matched one by one, and items not in the current batch are removed. Only the difference matching items to be issued are retained to form a matching set, thus providing a stable input for subsequent location-based partitioning and hierarchical alignment. Then, the alignment index is used to limit the range of the matched difference items in each partition. The hierarchical difference matching items are pushed down to the difference item level within the location granularity and the partition order is inherited to form a sub-difference set, so that subsequent encapsulation can maintain the correspondence between location codes and difference items without introducing cross-partition obfuscation.
[0099] For example, the explanation of "based on the sub-difference set and partition key, each local code is used as the key, and the corresponding set of difference items is used as the value to construct a key-value structure to obtain a difference mapping table, where the set of difference items is obtained by collecting the sub-difference sets under the alignment index constraint" is as follows: if the target list is {BJ01, SH-PD} and the difference list contains "WMS / Inbound / Name Revision", "btn_submit Add", and "Purchase Return Invalid", then the sub-difference set collects the hit difference item sets in the BJ01 and SH-PD partitions respectively, and the final difference mapping table is output with BJ01 and SH-PD as keys and their respective difference item sets as values.
[0100] Based on matching pairs and partition keys, hierarchical alignment is performed by geographic partitioning to obtain the alignment index. Methods include:
[0101] Based on the matching pair set and the partition key, the difference pair entries corresponding to each local code are assigned to their partitions, and the serial numbers are recorded according to the order of appearance in the matching pair set to obtain the partition list.
[0102] Based on the partition list and the pattern field of the published snapshot, the difference pairing entries are rearranged according to the pattern field within each partition, and consecutive numbers are created for entries with the same pattern to obtain a hierarchical list.
[0103] Based on the hierarchical list and partition key, in each partition, difference pairs that are inconsistent with the pattern field are removed, while the rearranged sequence relationship is preserved, resulting in an aligned index.
[0104] It is understandable that this embodiment utilizes the pattern field provided by the snapshot to perform hierarchical rearrangement within the partition, so that entries with the same pattern are grouped together and their sequence numbers are continuous, thereby obtaining a hierarchical list to support consistent intra-layer alignment. Then, in each partition, entries that do not match the current pattern field are deleted, while the rearranged sequence number and intra-layer position are retained. The output is an alignment index for use in granular sinking and difference mapping table encapsulation. For example, following the previous example, when BJ01 and SH-PD both match "MES mode enabled" but WH-CANG does not match, the partition list records the pairing sequence number of the two respectively. The hierarchical list rearranges "name revision", "btn_submit addition", and "purchase return invalidation" according to the pattern field and establishes continuous sequence numbers in the partitions of the two. Finally, the alignment index only retains the entries that match the pattern field and their sequence numbers to enter the generation of the sub-difference set and difference mapping table.
[0105] Understandably, the boundaries between the target list and the difference list are fixed by the batch number and version pointer of the snapshot release. Based on the target list and the difference list, matching pairs are generated through partition keys to form an alignment index, which is then sinked down to sub-difference sets until the difference mapping table. This ensures that each local code in the target list and the difference item in the difference list are synchronously locked at the local code granularity and the partition order is maintained. At the local code granularity, the difference mapping table only contains the set of difference items that it matches for each local code, excluding cross-partition and cross-version entries, and ensuring the consistency of minimum difference distribution and subsequent verification.
[0106] Data verification module: used to perform channel generation processing on the release snapshot to obtain the release channel, and perform breakpoint verification processing on the difference mapping table according to the release channel to obtain the target record set. The target record set refers to the transmission arrival level record set formed after completing the breakpoint verification processing on the release channel for each local code in the target list and according to each difference item listed in the difference mapping table.
[0107] Methods for generating release channels by performing channel generation processing on release snapshots include:
[0108] Based on the batch number and version pointer in the release snapshot, a channel number is generated for each local code according to the partition key, and then summarized into a channel list in partition order;
[0109] Based on the channel list and the target list, the local codes not in the target list are removed, while the partition order consistent with the target list is retained to obtain the valid channels;
[0110] Based on the effective channels and the difference mapping table, the number of difference items and the sequence number range that each locality coding record hits are formed by channel binding;
[0111] Based on channel binding, the batch number and version pointer of the published snapshot are written and the partition order is fixed. The output is the published channel according to the local code.
[0112] It should be noted that in this embodiment, the batch number and version pointer are used to fix the value range of the same release batch and version. The partition key is used to assign the local code to the corresponding partition. A unique channel number is generated under each local code and kept consistent with the partition order. Finally, a channel list is formed in partition order. The target list limits the local scope of participation in this batch. Local codes that do not belong to the target list are removed from the channel list. Only the partition order and local set consistent with the target list are retained, so that the effective channels and the target list are consistent in both partition and order.
[0113] For example, the explanation for "writing batch number and version pointer based on channel binding and release snapshot and fixing partition order, and outputting as release channel according to local code" is as follows: using the target list {BJ01, SH-PD} and the corresponding set of difference items in the difference mapping table, the number and sequence range of difference items are written for BJ01 and SH-PD respectively in channel binding and fixed together with batch number and version pointer. Finally, the release channel is output according to local code, ensuring that the release channel is completely aligned with the target list and difference mapping table in terms of batch, version and partition order.
[0114] Methods for obtaining the target record set by performing breakpoint verification on the difference mapping table based on the release channel include:
[0115] Based on the channel and difference mapping table, within each local code, the set of difference items is aligned with the channel number one by one according to the partition key, and the sequence number and sequence number range corresponding to each difference item are recorded to obtain the channel sequence.
[0116] Based on the channel sequence and the published channel, the arrival status of the corresponding sequence number is read sequentially according to the channel number within each local code, while maintaining the consistency of the partition order, to obtain the reconciliation sequence;
[0117] Based on the reconciliation sequence and the channel sequence, breakpoint resume verification is performed according to the sequence number range. The consecutively arriving sequence number intervals are merged and the unarrived sequence number intervals are located to obtain the resume sequence.
[0118] Based on the continuation sequence and partition key, the arrival status is summarized under each local code and the batch number and version pointer are written, and the result is output as the target record set in partition order.
[0119] In this embodiment, the partition order is fixed by the partition key under the same batch number and version pointer. The difference items are sequentially bound to the channel number within the local code and a continuous sequence number and sequence number range are generated. This forms a channel sequence that can be directly referenced by subsequent arrival information. For example, channel sequences are established for BJ01 and SH-PD respectively. The system uses the sequence number and sequence number range given by the channel sequence as the index surface. It reads the arrival information sequentially within the published channel and keeps it consistent with the partition order, thereby forming a reconciliation sequence that corresponds one-to-one with the local code. This facilitates subsequent resuming transmission verification on the same index surface. Within the same local code, the reconciliation sequence and channel sequence are compared according to the sequence number range. The adjacent sequence numbers with the same arrival information are merged into the start and end sequence numbers. The gap is marked as the unarrived sequence number interval, thereby outputting a resuming transmission sequence that can be directly used for retransmission and verification. For example, when BJ01 arrives with sequence numbers 1 to 3 and does not arrive with sequence number 4, the arrival start and end are [1,3] and the unarrived interval is [4,4].
[0120] Based on the reconciliation sequence and channel sequence, breakpoint resume verification is performed according to the sequence number range. The method for merging consecutively arriving sequence number intervals and locating the unarrived sequence number intervals to obtain the resume sequence includes:
[0121] Based on the reconciliation sequence and channel sequence, the sequence number range is aligned according to the local code and partition key, and the arrival status and non-arrival status of each sequence number are recorded sequentially, while maintaining the consistency of the partition order.
[0122] Based on the arrival and non-arrival status, adjacent and arrived sequence numbers are merged to form consecutive arrival start and end sequence numbers, while retaining the start and end relationship corresponding to the partition order.
[0123] Based on the start and end relationships, locate the unreached sequence number range and summarize and output it as a continuation sequence according to the location code and partition order.
[0124] Furthermore, based on the arrival start and end sequence numbers, gaps are marked within the same sequence number range as the unarrived sequence number range, and after summarizing in the territorial coding and partition order dimensions, the output is a continuation sequence. For example, when SH-PD arrives at sequence numbers 1 to 2, does not arrive at sequence numbers 3 to 3, and arrives at sequence numbers 4 to 5, the continuation sequence records the unarrived interval [3,3] and the arrival start and end [1,2] and [4,5].
[0125] Output module: Used to perform effective verification processing on the target list based on the target record set to obtain the effective record set, and to perform threshold comparison processing on the difference mapping table based on the effective record set to obtain the complete release vector.
[0126] The methods for performing an effectiveness verification process on the target list based on the target record set to obtain the effectiveness record set include:
[0127] Based on the target record set and the target list, the arrival status is aligned under each territory code according to the partition key, only the territory codes located in the target list are retained, and the partition order is maintained;
[0128] Based on the target record set and the difference mapping table, under each locality code, the intersection comparison process is performed between the arrival difference items in the target record set and the difference item set in the difference mapping table to obtain the effective entry set;
[0129] Based on the effective entry set and release snapshot, write the batch number, version pointer and timestamp for each effective entry in the effective entry set, and summarize and output them as an effective record set in partition order.
[0130] In this embodiment, under the same batch number and version pointer, the partition key is used as the alignment basis. The arrival status of the target record set is matched with the target list item by item, and the location codes not in the target list are deleted. The partition order consistent with the target list is retained as a fixed index surface for subsequent comparison. Within the same location code, the set of difference items that should exist is limited by the difference mapping table. The arrival difference items in the target record set are intersected with this set item by item. Only the items that appear at the same time are retained as the effective item set, thereby giving the effective objective value range in a structured manner.
[0131] For example, if the target list is {BJ01, SH-PD} and the difference mapping table contains "name revision, btn_submit addition, and purchase return invalidation" in both partitions, when the target record set shows that three items have arrived in BJ01 while only two items have arrived in SH-PD, the intersection comparison process obtains a set of effective entries consisting of three items in BJ01 and a set of effective entries consisting of two items in SH-PD. Then, the batch number and version pointer are written and summarized into an effective record set according to the partition order.
[0132] Methods for obtaining the complete release vector by performing threshold comparison processing on the difference mapping table based on the effective record set include:
[0133] Based on the effective record set and the difference mapping table, the effective entries and the number of difference item sets are counted and the coverage ratio is calculated in each territory, while maintaining the partition order to obtain the coverage table.
[0134] Based on the coverage table and the preset ratio threshold, the coverage ratio is compared with the preset ratio threshold for each territory, the Boolean bits of the comparison result are recorded and the partition order is maintained to obtain the hit list.
[0135] Based on the hit list and target list, the batch number and version pointer are written in the order of the local code, and the complete release vector of this batch is output.
[0136] It should be noted that the range of the proportional threshold is 0~1 (e.g., 1.0 represents full coverage). The release complete vector refers to a Boolean vector arranged according to the geographical code order and partition order of the target list, where each bit corresponds to a geographical code. Under the same batch number and version pointer, the value is taken by comparing the coverage ratio of the effective record set to the difference mapping table with the preset threshold. Reaching the threshold is recorded as 1, and not reaching it is recorded as 0. For example, using the target list {BJ01, SH-PD} and the difference mapping table containing three differences in each partition, the release... The effective record set shows that BJ01 has 3 effective entries and SH-PD has 2 effective entries. Based on the effective record set and the difference mapping table, after aligning by location code and partition key, the coverage ratio of BJ01 is 3 / 3 and the coverage ratio of SH-PD is 2 / 3 in the coverage table. Based on the coverage table and the preset threshold to take the full coverage condition, the corresponding boolean bit of BJ01 is 1 and the corresponding boolean bit of SH-PD is 0 in the hit list. Based on the hit list and the target list, the batch number and version pointer are written in the order of location code, and the complete release vector of this batch is output as {1, 0}.
[0137] Understandably, with the alignment of the release channel and the difference mapping table, an arrival chain is formed by partition key, consisting of channel sequence, reconciliation sequence, continuation sequence, and target record set. The partition order is kept consistent under the same batch number and version pointer. Based on this arrival chain, an effective entry set, effective record set, coverage table, hit list, and release complete vector are generated sequentially. The advantage of combining these two steps is that it transforms the "arrival status" into a directly auditable "effective result" and finally provides a structured conclusion oriented towards the target list with the release complete vector. This forms a closed-loop evidence collection path that is "alignable, replayable, and verifiable" in the local coding dimension, meeting the cross-tenant audit traceability requirements.
[0138] It should be noted that in this embodiment, the effective record set refers to the result obtained by performing an intersection comparison between the reached difference items in the target record set and the difference item set in the difference mapping table under the same batch number and version pointer. The effective record set is a subset of the target record set. The threshold comparison only counts the number of effective entries in the effective record set and the number of difference item sets in the difference mapping table at the granularity of the local coding, calculates the coverage ratio and compares it with the preset threshold to generate the hit list and release the complete vector. The difference mapping table is no longer compared item by item again.
[0139] Furthermore, the data flow of this technical solution is: difference mapping table - target record set - effective record set - coverage table - hit list - publish complete vector, and there is no backflow or circular dependency between the effective verification and the threshold comparison.
[0140] Because the target record set and the effective record set perform one-to-one comparison and summarization of the difference item set at the "arrival" and "effectiveness" levels respectively, and finally map the coverage table and hit list to the complete release vector, it verifies at the local coding granularity that "only the difference item set required for this batch has arrived and is consistently effective". With the ability of the retransmission sequence to fill in the missing intervals, it effectively ensures the release integrity of the minimum difference and can be traced and replayed within the range of batch number and version pointer. This solves the technical problem of "difficulty in ensuring the release integrity of the minimum difference under the constraints of local coding granularity and cross-tenant audit traceability requirements".
[0141] Example 2
[0142] Please see Figure 2 As shown, based on the same inventive concept, this embodiment discloses a tenant permission management and configuration method based on a SaaS platform. For details not covered in this embodiment, please refer to the relevant sections of Embodiment 1. The method includes:
[0143] Obtain the release snapshot and the local code set. Perform index filtering on the local code set based on the release snapshot to obtain the target list. Perform differential extraction on the release snapshot to obtain the difference list. The release snapshot refers to version data containing tenant context and difference information.
[0144] The difference list is segmented into smaller parts based on the target list to obtain a difference mapping table. The smaller parts segmentation refers to the local splitting and index alignment of the difference list according to the target list.
[0145] The release snapshot is processed to generate a release channel. Based on the release channel, the difference mapping table is processed to perform breakpoint verification to obtain the target record set. The target record set refers to the set of transmission arrival level records formed after breakpoint verification is performed on the release channel for each local code in the target list and based on each difference item listed in the difference mapping table.
[0146] Based on the target record set, an effective verification process is performed on the target list to obtain an effective record set. Based on the effective record set, a threshold comparison process is performed on the difference mapping table to obtain the complete release vector.
[0147] The detailed description above, in conjunction with the accompanying drawings, describes examples but does not represent all examples that can be implemented or fall within the scope of the claims. The terms “example” and “exemplary” are used in this specification to mean “serving as an example, instance or illustration” and do not mean “superior to or better than other examples”.
[0148] Throughout this specification, the phrase "an embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the invention. Therefore, the use of these phrases may refer to more than one embodiment. Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0149] It should also be noted that these embodiments may be described as processes depicted as flowcharts, structural diagrams, or block diagrams. Although a flowchart may describe the operations as sequential processes, many of these operations can be performed in parallel or concurrently, and the order of these operations may be rearranged.
Claims
1. A tenant permission management and configuration system based on a SaaS platform, characterized in that, include: Data extraction module: used to obtain release snapshots and local code sets, perform index filtering on local code sets based on release snapshots to obtain target lists, and perform differential extraction on release snapshots to obtain difference lists. The release snapshots refer to version data containing tenant context and difference information. Data segmentation module: used to perform granular segmentation processing on the difference list based on the target list to obtain a difference mapping table. The granular segmentation processing refers to the partial splitting and index alignment of the difference list according to the target list. Data verification module: used to perform channel generation processing on the release snapshot to obtain the release channel, and perform breakpoint verification processing on the difference mapping table according to the release channel to obtain the target record set. The target record set refers to the transmission arrival level record set formed after completing the breakpoint verification processing on the release channel for each local code in the target list and according to each difference item listed in the difference mapping table. Output module: Used to perform effective verification processing on the target list based on the target record set to obtain the effective record set, and to perform threshold comparison processing on the difference mapping table based on the effective record set to obtain the complete release vector; Methods for performing differential extraction on published snapshots to obtain a list of differences include: Read the differential digest from the release snapshot and limit the comparison range based on the batch number and version pointer in the release snapshot; Based on the limited comparison range, the menu item change identifiers and button item change identifiers in the differential summary are analyzed, and the menu item change identifiers and button item change identifiers are collected to obtain the initial change set; The initial change set is processed for field completion and consistency verification to obtain the target change set. The target change set is then processed for deduplication, merging, and reordering to obtain the difference list. Methods for performing granular segmentation of the difference list based on the target list to obtain the difference mapping table include: Based on the target list and the difference list, a pairing relationship is established between each territory code and each difference item to generate a matching pair set. The territory code is taken from the territory entries in the target list, the difference item is taken from the change entries in the difference list, and the matching pair set only contains the difference pairing entries that need to be issued in the current batch. Based on the matching pairs and partition keys, hierarchical alignment is performed according to the geographical partition to obtain the alignment index; Based on the alignment index and the difference list, the granularity of the hierarchical difference pairing entries is reduced to generate a sub-difference set; Based on the sub-difference set and the partition key, each local code is used as the key and the corresponding set of difference items is used as the value to construct a key-value structure to obtain a difference mapping table. The set of difference items is obtained by collecting the sub-difference set under the constraint of alignment index.
2. The tenant permission management and configuration system based on a SaaS platform according to claim 1, characterized in that, Methods for performing index filtering on the geographic code set based on the published snapshot to obtain the target list include: Based on the batch number and version pointer in the published snapshot, a partition key is established for each local code in the local code set. Candidate indexes are obtained according to the key mapping relationship between the partition key and the schema field of the published snapshot. Based on candidate indexes and published snapshots, the enabled and disabled fields are read for each local code. After alignment by partition key, only enabled and not disabled items are retained, and they are summarized into an admission list in partition order. Based on the admission list and release snapshot, deduplication is performed on the local code by batch number, and cross-version residues are removed by comparing the current version with the version pointer, while maintaining the consistency of partition order and index, and outputting a valid list; Based on the valid list and published snapshot, a batch number, version pointer and timestamp are written for each local code to generate a corresponding key entry, and then aggregated by partition key and output as the target list in partition order.
3. The tenant permission management and configuration system based on a SaaS platform according to claim 1, characterized in that, Based on matching pairs and partition keys, hierarchical alignment is performed by geographic partitioning to obtain the alignment index. Methods include: Based on the matching pair set and the partition key, the difference pair entries corresponding to each local code are assigned to their partitions, and the serial numbers are recorded according to the order of appearance in the matching pair set to obtain the partition list. Based on the partition list and the pattern field of the published snapshot, the difference pairing entries are rearranged according to the pattern field within each partition, and consecutive numbers are created for entries with the same pattern to obtain a hierarchical list. Based on the hierarchical list and partition key, in each partition, difference pairs that are inconsistent with the pattern field are removed, while the rearranged sequence relationship is preserved, resulting in an aligned index.
4. A tenant permission management and configuration system based on a SaaS platform according to claim 3, characterized in that, Methods for generating release channels by performing channel generation processing on release snapshots include: Based on the batch number and version pointer in the release snapshot, a channel number is generated for each local code according to the partition key, and then summarized into a channel list in partition order; Based on the channel list and the target list, the local codes not in the target list are removed, while the partition order consistent with the target list is retained to obtain the valid channels; Based on the effective channels and the difference mapping table, the number of difference items and the sequence number range that each locality coding record hits are formed by channel binding; Based on channel binding, the batch number and version pointer of the published snapshot are written and the partition order is fixed. The output is the published channel according to the local code.
5. A tenant permission management and configuration system based on a SaaS platform according to claim 4, characterized in that, Methods for obtaining the target record set by performing breakpoint verification on the difference mapping table based on the release channel include: Based on the channel and difference mapping table, within each local code, the set of difference items is aligned with the channel number one by one according to the partition key, and the sequence number and sequence number range corresponding to each difference item are recorded to obtain the channel sequence. Based on the channel sequence and the published channel, the arrival status of the corresponding sequence number is read sequentially according to the channel number within each local code, while maintaining the consistency of the partition order, to obtain the reconciliation sequence; Based on the reconciliation sequence and the channel sequence, breakpoint resume verification is performed according to the sequence number range. The consecutively arriving sequence number intervals are merged and the unarrived sequence number intervals are located to obtain the resume sequence. Based on the continuation sequence and partition key, the arrival status is summarized under each local code and the batch number and version pointer are written, and the result is output as the target record set in partition order.
6. A tenant permission management and configuration system based on a SaaS platform according to claim 5, characterized in that, Based on the reconciliation sequence and channel sequence, breakpoint resume verification is performed according to the sequence number range. The method for merging consecutively arriving sequence number intervals and locating the unarrived sequence number intervals to obtain the resume sequence includes: Based on the reconciliation sequence and channel sequence, the sequence number range is aligned according to the local code and partition key, and the arrival status and non-arrival status of each sequence number are recorded sequentially, while maintaining the consistency of the partition order. Based on the arrival and non-arrival status, adjacent and arrived sequence numbers are merged to form consecutive arrival start and end sequence numbers, while retaining the start and end relationship corresponding to the partition order. Based on the start and end relationships, locate the unreached sequence number range and summarize and output it as a continuation sequence according to the location code and partition order.
7. A tenant permission management and configuration system based on a SaaS platform according to claim 6, characterized in that, The methods for performing an effectiveness verification process on the target list based on the target record set to obtain the effectiveness record set include: Based on the target record set and the target list, the arrival status is aligned under each territory code according to the partition key, only the territory codes located in the target list are retained, and the partition order is maintained; Based on the target record set and the difference mapping table, under each locality code, the intersection comparison process is performed between the arrival difference items in the target record set and the difference item set in the difference mapping table to obtain the effective entry set; Based on the effective entry set and release snapshot, write the batch number, version pointer and timestamp for each effective entry in the effective entry set, and summarize and output them as an effective record set in partition order.
8. A tenant permission management and configuration system based on a SaaS platform according to claim 7, characterized in that, Methods for obtaining the complete release vector by performing threshold comparison processing on the difference mapping table based on the effective record set include: Based on the effective record set and the difference mapping table, the effective entries and the number of difference item sets are counted and the coverage ratio is calculated in each territory, while maintaining the partition order to obtain the coverage table. Based on the coverage table and the preset ratio threshold, the coverage ratio is compared with the preset ratio threshold for each territory, the Boolean bits of the comparison result are recorded and the partition order is maintained to obtain the hit list. Based on the hit list and target list, the batch number and version pointer are written in the order of the local code, and the complete release vector of this batch is output.
Citation Information
Patent Citations
Software program version difference analysis method and device, equipment and storage medium
CN114564934A
Content publishing method and device based on Saas platform, equipment and medium
CN119831786A