CN107148625B - Method for the management of the segmentation of information objects stored in a single database - Google Patents

Method for the management of the segmentation of information objects stored in a single database Download PDF

Info

Publication number
CN107148625B
CN107148625B CN201580058828.5A CN201580058828A CN107148625B CN 107148625 B CN107148625 B CN 107148625B CN 201580058828 A CN201580058828 A CN 201580058828A CN 107148625 B CN107148625 B CN 107148625B
Authority
CN
China
Prior art keywords
tenant
delimiter
shared
data
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580058828.5A
Other languages
Chinese (zh)
Other versions
CN107148625A (en
Inventor
奥迪·哈利科维奇·德鲁特
谢尔盖·杰奥尔杰维奇·努拉利耶夫
维克托·格里戈里耶维奇·索斯诺夫斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
1C LLC
Original Assignee
1C LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 1C LLC filed Critical 1C LLC
Publication of CN107148625A publication Critical patent/CN107148625A/en
Application granted granted Critical
Publication of CN107148625B publication Critical patent/CN107148625B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Abstract

The invention relates to an automatic management method for segmenting information objects stored in a single database into individual segments. An automated management method for segmenting information objects stored in a single database, comprising: create a metadata object, "shared properties"; setting a 'shared object' parameter; setting a metadata object named as 'session parameters', wherein the metadata object named as 'session parameters' stores the tenant and/or tenant group ID together with the current delimiter value; identifying a specific tenant and defining a current value for each delimiter metadata object; assigning to each tenant an isolated data region containing metadata objects with an added "share attribute"; when data is written to a split information object having a "shared attribute" metadata object, writing a "shared attribute" value to the corresponding column; a query is generated to obtain data from the data area assigned to the tenant. Delimiters reference split information objects and provide full and partial data splitting.

Description

Method for the management of the segmentation of information objects stored in a single database
Technical Field
The present invention relates to a multi-tenant architecture that provides services to tenants from multiple organizations in an isolated manner, and more particularly, to a method of automatic management that segments information objects stored in a single database into separate pieces.
Multi-tenancy can be used to provide services in a single service (device or deployment) in an isolated manner for tenants (i.e., independent subscribers) from various organizations. It is critical to ensure that subscribers remain isolated from each other.
Background
Known prior art includes solution US 2013/086322a1, which describes a method of partitioning table data by adding one or more fields (columns) for use as separators.
However, this approach tends to be quite time consuming as one or more new separator columns must be added to each table or directory at a time.
Disclosure of Invention
It is an object of the present invention to create a mechanism and method for flexible management of data partitioning by enabling or disabling data partitioning for the same application solution, e.g. to ensure that it can work in local ("desktop") mode and in mode where multiple subscribers access the same network service ("cloud partitioning"), without significant modifications to the architecture of the application solution itself.
The technical result of the invention provides complete and partial data segmentation. For example, some data may be shared by all organizations (e.g., a bank's directory), while other data, such as business or financial data, is tenant-specific and is only displayed and available for a particular organization.
Definition of
Configuration is an application solution based on the 1C platform and is a combination of algorithms, tables, and data structures. The primary purpose of any configuration is proper record keeping, e.g., for accounting purposes. The 1C platform is a set of specialized objects for storing data specific to the subject area: charts of constants, directories, documents and accounts.
An attribute is a field of a directory or document to be filled in that is displayed in the application solution. Each attribute is characterized by properties that specify the type of value it stores and how it can be used by a user.
Delimiters (shared attributes) are metadata objects (configuration objects) that enable the use of a single attribute for multiple configuration objects (directories, documents, charts for accounts, constants, etc.). The configuration developer may add and configure "shared properties" to avoid modifications to the standard configuration objects. In other words, instead of adding a separator column for each existing directory (referred to in the art as a "table"), the developer may set and manage the sharing attributes for all or some of the objects. The "shared attribute" object has some predefined properties such as name, content (list of objects or directories where shared attributes are to be used), value, use of split data.
Metadata is a configuration object that describes the layout of the relevant data and its interaction with the database.
The session parameters are shared configuration objects. Some current value is set and stored in the current 1C: in an enterprise session. For example, session parameters may be used to restrict access to data at the entry level.
The technical result is achieved by combining the advantages of the present invention as described below. In a first embodiment of the present invention, a method for automated management of segmentation of information objects stored in a single database comprises: preliminarily creating at least one metadata object, a "shared attribute", which serves as a delimiter and stores a reference to at least one split information object and a source of a value of the delimiter; setting a "shared attribute" parameter defining how to use it in at least one split information object; setting a metadata object named 'session parameters' which stores IDs of tenants and/or tenant groups that need to be authorized to access various split information objects and also stores current delimiter values; identifying a particular tenant and/or tenant group and defining a current value for each delimiter metadata object at the start of a database session; assigning an isolated data region to each tenant and/or tenant group, the region containing metadata objects with an added "share attribute"; when data is written into the segmentation information object added with the 'shared attribute' metadata object, writing a 'shared attribute' value into a corresponding column; queries are generated to obtain data from data areas assigned to particular "tenants" and/or tenant groups.
In the case of a specific embodiment of the present invention, if the "auto-use" property with respect to the "shared attribute" parameter is set to "use", the created "shared attribute" is automatically added to all existing configuration objects as well as all newly created configuration objects. If the "auto-use" property with respect to the "shared attribute" parameter is set to "not used", then the attribute is not automatically added to the configuration object; the object to which the separator needs to be added is selected using the "content" property of the separator.
In a second embodiment of the present invention, a method for automated management of segmentation of information objects stored in a single database comprises: preliminarily creating at least two "shared attribute" metadata objects to be used as delimiters, each object storing a reference to at least one split information metadata object and a source of a delimiter value; including a reference to a partitionable constant containing a conditional partitioning flag of "true" or "false", the partitionable constant being part of another delimiter itself among the delimiters that reference the partitioned information object; setting a metadata object named as 'session parameters', wherein the metadata object named as 'session parameters' stores IDs of tenants and/or tenant groups needing to access various split information objects and also stores current delimiter values; identifying a particular tenant and/or tenant group once the database session begins, thereby defining a value for each delimiter; assigning an isolated database to each tenant and/or tenant group, the database containing metadata objects and being for assigning data regions to each tenant and/or tenant group by filtering by a "shared attribute" value and a conditional split flag value; when data is written into the split information object referenced by the delimiter, writing the delimiter value into the corresponding delimiter column; queries are generated to obtain data from data areas assigned to particular tenants and/or tenant groups.
In the case of a specific embodiment of the invention, the database contains, in addition to the split information object, at least one shared object that can be accessed by all users at least for read operations, regardless of the session parameters and the conditional split flag values. In addition to its content and value, the "shared attribute" object contains an indication of whether split data can be used in a shared schema that can have at least one of two values "true" or "false", and when a database session begins, a tenant and/or tenant group is identified and current session parameters are set. If the sharing mode is set to "true" and these users invoke an information object in the database, the current session parameters are ignored and access is granted to a random set of entries in the split information object that depend on a set of programmatically-controlled delimiter values, at least for read operations.
The management of data splitting must be flexible to provide enabling or disabling data for the same application solution, e.g., to ensure that it can work in a local ("desktop") mode and can work in a mode where multiple subscribers access the same network service ("cloud splitting"), without significant modifications to the architecture of the application solution itself. Furthermore, certain objects partitioned in memory (such as tables) need to be enabled and disabled in order to partially isolate and make data available to a single subscribing tenant, while other data may be shared by all or some tenants.
The principle of data partitioning is based on a new configuration object, the "shared attribute".
The mode of shared attribute operation is set using data split properties. This configuration object has two modes:
1. if the "data partitioning" property is set to "not used", the created configuration object is used only as an attribute included in a plurality (all) of the configuration objects.
2. If the "data split" property is set to "split," the shared attribute is used as a data delimiter.
This approach provides for management of data partitioning and management of application solution operations stored in the information repository.
The first embodiment of the claimed invention represents a relatively simple method of segmentation using at least one separator.
In a second embodiment, a method of more complex data partitioning using two or more delimiters is described. An advantage of this approach is that it enables the use of conditional data partitioning to manage data partitioning.
A segmentation mechanism featuring a segmentation method provides partial and complete data segmentation. For example, some data may be shared by all organizations (e.g., bank directories), while other data, such as business or financial data, is tenant-specific and is only displayed and available for a particular organization.
This approach greatly simplifies the management and updating of application solution scenarios when a single application solution is used for record keeping in multiple organizations.
A first embodiment of the segmentation method comprises creating a single shared attribute metadata object that serves as a delimiter. The delimiters store references to one or more split information objects. The source of the value of the delimiter is also indicated. Parameters are specified for the delimiter that define how the delimiter is to be used in one or more of the split metadata objects. A metadata object named "session parameters" is set. The metadata object named "session parameters" stores the IDs of tenants and tenant groups that need access to various split information objects. It also stores the current delimiter value. When a database session begins, a particular tenant and/or tenant group is identified and the current value of each delimiter metadata object is defined. The method also includes assigning an isolated data region containing metadata objects with the added "shared attribute" to each tenant and/or tenant group. Further, when information is written into a split information object in a database having a shared attribute, the value of the shared attribute is written into the corresponding column. Accordingly, a query is generated to obtain data from a data area assigned to a particular "tenant" and/or tenant group.
If the created shared attribute needs to be automatically added to all existing and all newly created configuration objects, the "auto-use" property in the shared attribute parameter is set to "use". However, if the "auto-use" property is set to "not used," then the attribute is not automatically added to the configuration object; the "content" property of the separator is used to select the object to which the separator needs to be added.
In another embodiment of the segmentation method (two or more delimiters), a shared attribute metadata object is also created and used as a delimiter. Unlike in the first embodiment, in this embodiment, at least two shared attribute metadata objects are created. It is assumed that the delimiter should include a reference to the constant and the split information object from the database referenced by the delimiter. The constant containing the conditional split flag "true" or "false" is part of another delimiter and is also split. Similarly to the first embodiment, a metadata object named "session parameter" is set. When a tenant is identified and a session begins, an isolated database containing metadata objects is allocated and used to allocate data regions for each tenant and/or tenant group by filtering through a "shared attribute" value and a conditional split flag value. Similar to the first embodiment, this embodiment also includes writing delimiter values into corresponding delimiter columns when writing information into information objects in the database, and generating a query.
Furthermore, the database contains a split information object as well as a shared object, which is accessible by all users at least for read operations, regardless of the session parameters and conditional split flag values.
In addition to its content and value, the "share attribute" contains an indication of whether the split data can be used in the share mode. The pattern may have two values: at least one of "true" or "false". When a database session begins, a particular tenant and/or tenant group is identified, i.e., current session parameters are set.
Detailed Description
In the first embodiment of the present invention, the "data division" property is set to "unused".
Let us consider how this embodiment can be used in 1C software.
At least one delimiter is created in the designer by default prior to software startup. The delimiters are used to automatically segment the shared information base into separate isolated information bases, each of which is managed by its own administrator.
For example, a shared information repository may include multiple information repositories, each containing all of the documents for a particular organization. If the organization delimiter is used as a standard delimiter in the designer, the shared information base is partitioned into multiple information bases, each of which is isolated and operates in its own configuration without access to documents from other isolated databases.
A "shared properties" metadata object is then created. For example, you can do this by selecting share-share attribute-adding a new object in the configuration window.
Next, the properties of the individual shared attributes are specified.
A) The name of the shared attribute is specified in the default property.
B) Among the properties of use:
the content (content property) of the shared attribute is specified using a pull-down menu (i.e., a list of configuration objects) displayed in a configuration editing window, in which the shared attribute to be added is compiled.
The window for editing the shared property content is split into two parts, each containing information on whether the shared property should be applied to a specific object ("use column"):
-top-partially listing all configuration objects that may be included in the shared property content;
the lower part lists objects with settings different from the default settings defined by the automatic usage properties of the shared property.
If the property is set to "use," the lower portion of the window lists objects that are not included in the shared property content.
If the property is set to "not used", the lower portion of the window lists the objects included in the shared property content.
The configuration object may be edited in the upper or lower portion of the window. The edited configuration object will move between portions of the window according to the values in the usage column.
For each configuration object, the usage column can be set to one of three values:
1. automatic: assigning the configuration object to the value of the shared attribute depends on the automatic use property of the shared attribute:
-using: the configuration object is included in the shared attribute content;
-not using: the configuration object is not included in the shared attribute content.
2. Use of: regardless of the automatic usage property value, the configuration object is included in the shared property content.
3. Not used: regardless of the value of the automatic usage property, the configuration object is not included in the shared attribute content.
The following configuration objects may be included in the shared properties content: directories, documents, charting of feature types, charting of accounts, charting of compute types, business processes, tasks, information registers, accumulation registers, accounting registers, compute registers, and exchange plans.
C) The drop down menu in the configuration window is then used to select how to use the shared properties (automatic use properties) in association with the objects listed in the content properties.
If the automatic use property is set to "use," the created shared property is automatically added to all existing configuration objects (if the use of shared properties is enabled for these objects) and all newly created configuration objects.
If the "auto use" property is set to "not used," then the property will not be automatically added to the configuration object; the "content" property is used to select objects that need to add a shared attribute.
If the shared property is used automatically, then this property is also used, but there are some objects to which the shared property should not be added.
Then specifies a metadata object named "session parameters". The metadata object named "session parameters" stores the IDs of the entities (tenants) and/or entity groups (tenant groups) that need to access the various split information objects.
Therefore, when the system is started, the session parameter values are initially set. These values store an indication of the use of the delimiter and the value of the delimiter based on an option to launch a command line or a value designated for the library user.
The system then analyzes the input data, specifically:
-identifying a specific tenant and/or tenant group, or otherwise setting current session parameters (e.g. based on machine ID), thereby defining a value for each metadata object;
identifying a particular delimiter value to be used to segment the shared information base (e.g., if a delimiter is set to an organization, the system segments the shared database into databases isolated by the organization);
-identifying whether a sharing property is set, and if so, determining to which configuration object the sharing property needs to be added.
When all parameters are set, the shared information base is partitioned into multiple isolated information bases in which the created shared data is added to the configuration object used by the administrator based on the specified parameters.
If shared attribute partitioning is conditionally disabled:
1. when reading and writing data, the delimiter values and the current values of the session parameters used are ignored.
Instead, the following values were used.
Use attribute-true (use default delimiter);
delimiter value — default value for delimiter type.
2. When reading and writing information base users, the definition delimiter values and the current values of the session parameters used are ignored.
Instead, the following values were used.
Attribute-false (no delimiter used) is used.
Delimiter value — unused.
In the second embodiment of the present invention, the "data division" property is set to "division".
1. At least two delimiters are created in the designer prior to start-up.
-setting at least one of the plurality of delimiters as a standard (master) delimiter and the standard (master) delimiter is used by default to automatically partition the shared information base into separate isolated databases, each isolated database being managed by its own administrator.
For example, a shared information repository may include multiple information repositories, each containing all of the documents for a particular organization. If an organization delimiter is used as a standard delimiter in the designer, the shared information base is split into multiple information bases, each of which is isolated and operates in its own data area without access to documents from other isolated databases.
The other delimiter represents a newly created shared property configuration object (dependent delimiter), which can be created, for example, by selecting a share-shared property-adding a new object in the configuration window.
2. Then, as shown above, the shared attribute properties such as its name, usage, and content are set.
3. A drop down menu in the configuration window is then used to select the shared attribute segmentation parameter (data segmentation property) with respect to the objects listed in the content property.
In this embodiment, the data splitting property is set as split.
The shared attribute used as a delimiter has additional properties that affect the behavior of the system and modify the behavior of the configuration objects included in the content of the delimiter.
4. A drop down menu in the configuration window is then used in order to select how to use the separator (split data usage property) with respect to the objects included in the separator content.
If the split data usage property is set to "independent," then the split object is not allowed to be invoked if the current repository session does not use delimiters. In this case, delimiters are also not available in dump and data access restrictions in object models, query languages, XML and XDTO formats. When writing split data, the system automatically populates the shared attribute values with the values set in the current session.
This mode may be used when the application solution uses only data from a single data region.
If the split data usage property is set to "independent and shared," the delimiter can be used or ignored. In this mode, a data area defined by the value of the used delimiter is available. In this case, delimiters are also available in object models, query languages, dumps in XML and XDTO formats, and data access restrictions.
If some of the delimiters including an object are not used by the session, the work of using the object becomes inefficient.
This mode is used when the application solution primarily uses data from a single data area (e.g., when entering a document), while in some modes it may use data from multiple or all areas, e.g., for consolidated reporting.
5. A drop-down menu in the configuration window is then used to select the session parameter (data split value property) that stores the delimiter value set in the current session. The session parameter type should exactly match the delimiter type.
6. A drop down menu in the configuration window is then used to select how to use the shared delimiter (data split usage property) with respect to the configuration object in the current session.
The use of shared attribute delimiter management is based on boolean or constant types: if the specified session parameter is set to "true," then a (dependent) delimiter is used in the session.
7. A drop down menu in the configuration window is then used to select the conditional split parameter.
Conditional partitioning is used when the application solution is to be used in both partitioned and non-partitioned modes.
For example, the application solutions may be used offline (in which case, delimiters are not used, although they are included in the solution), or the application solutions may be used for multiple subscribers that are not related to each other (and have separate data sets in the information repository).
This behavior may be achieved using conditional segmentation: disabling the segmentation if the solution is offline; in the split mode, splitting is enabled.
The conditional cut runs were as follows:
objects that store the state of the separator can be set for the separator (or objects included in the separator content).
Changing the value of the object, the segmentation using the separator can be enabled or disabled for all objects (if conditional segmentation is set for the separator) or for selected objects (if conditional segmentation is set for the objects included in the separator content).
-if the delimiter is conditionally disabled, using a default value for the type of delimiter.
As a next step, a metadata object named "Session parameters" is specified. The metadata object named "session parameters" stores the IDs of entities (tenants) and/or entity groups (tenant groups) that need to access various information objects.
Therefore, when the system is started, the session parameter values are initially set. These values store an indication of the use of the delimiter and the current value of the delimiter based on the option of launching a command line or a value specified for the library user.
The system then analyzes the input data, specifically:
-identifying a specific tenant and/or tenant group, or otherwise setting current session parameters (e.g. based on machine ID), thereby defining a current value for each delimiter metadata object;
identifying a specified current delimiter value to be used to segment the shared information base (e.g., if a delimiter is set to an organization, the system segments the shared database into databases isolated by the organization);
-identifying whether a sharing property is set;
-identifying a shared attribute usage pattern (in this embodiment shared attribute is used as a delimiter);
-identifying a configuration object that needs to be segmented by a shared attribute;
-identifying a segmentation pattern of the shared attribute.
When all parameters are set, the shared information base is partitioned into multiple isolated databases, within each isolated database, the configuration objects are partitioned (filtered) by the shared attributes and combined in the new database based on the specified parameters.
Examples of the invention
Example 1. conditional partitioning using constants set in the shared Property Properties.
Separators may be completely disabled using boolean type constants ("true" or "false") that are not partitioned by attributes.
The configuration contains a catalog of items and the digital company sharing attributes are included in the metadata. Conditional splits managed By the Split By Company constant are used for corporate shared properties.
If Split By Company is false, it indicates that no separator is used (segmentation is disabled) and vice versa.
If segmentation is disabled, the availability of inventory will depend on the nature of the segmentation data usage.
If the latter is set to "independent," then no tenant (company) will be authorized to access the entries in the inventory.
If the nature of the shared attribute is set to "independent and shared," all tenants will have access to all entries in the inventory.
Example 2 conditional segmentation set for object (in content properties)
Conditional segmentation may be set for each configuration object included in the content of the delimiter. In this case, segmentation is disabled only for objects for which conditional segmentation has been established.
An embodiment of conditional data partitioning using constants.
Assume that a developer has authored an application solution with a customer and inventory accounting as primary goals. Wherein, the application solution comprises two data storage entities: inventory and contractor inventory.
This solution is ready for the local "desktop" mode; however, there is now a need to adapt to cloud network service patterns. It is expected that at least two subscribers will be authorized to access the solution online, and each of the subscribers will maintain accounting records on behalf of at least two of their affiliated structures.
Assume that there are two subscribers, each of which represents multiple affiliated companies and maintains accounting records. Any list of subscribers and their corresponding affiliates are represented as follows.
Subscriber a
-a company 1 having a company name,
company 2.
Subscriber B
-a company 3 having a company name,
-a company 4 of the company,
company 5.
All organized data is stored in two directories: a single repository of information in contractors and goods. However, in the most common case, users of a certain organization must only have access to records of this particular organization.
Assume further that subscriber a wants organization 1 and organization 2 because they are affiliated with and managed by the same owner to access the entire inventory. Thus, organizations 3, 4, and 5 must be completely isolated within their respective data areas, while organizations 1 and 2, as well as any other organizations that are later to register and controlled by group subscriber a, must share access to the inventory of items and be able to view all records related to subscriber a's items. At the same time, the data areas of the contractor directories are still strictly separated by the organization, regardless of which subscriber they belong to.
The delimiters include a plurality of directories; two of them: the contractors and the goods are segmented. In the latter catalog, the condition division is further set according to the current value of the division commodity constant ("true" or "false"), in which case the division commodity constant is divided by the subscriber, i.e., the value thereof is different for each subscriber. By setting this constant to "true" for user a and "false" for subscriber B, the desired effect is achieved.
The combination of the advantages listed in the independent claims of the invention is sufficient to achieve the claimed technical result.
The authors conclude that the claimed solution meets all the criteria of patentability.

Claims (7)

1. A method of automated management of segmentation of information objects stored in a single database, comprising:
-preliminarily creating at least one "shared attribute" metadata object to be used as a delimiter that stores a reference to at least one partitionable information object and a source of values for the delimiter;
-setting parameters for said "shared properties" defining how said "shared properties" are used in at least one partitionable information object;
-specifying a metadata object named "session parameters", which stores the IDs of tenants and/or tenant groups that need to access various partitionable information objects, and also stores the current delimiter values;
-identifying a specific tenant and/or tenant group and defining a current value for each delimiter at the start of a database session;
-assigning to each tenant and/or tenant group an isolated data area containing metadata objects with an added "sharing property";
-when writing data into a partitionable information object to which said "shared attribute" metadata object is added, writing a "shared attribute" value into the corresponding column;
-generating a query to obtain data from a data area assigned to a specific tenant and/or tenant group.
2. The method of claim 1, wherein if an "auto-use" property included in the "shared properties" parameter is set to "use", the created "shared properties" are automatically added to all existing configuration objects as well as all newly created configuration objects.
3. The method of claim 1, wherein if an "automatic use" property included in the "shared properties" parameter is set to "not used", properties are not automatically added to configuration objects and the "content" property of the delimiter is used to select the object to which the delimiter needs to be added.
4. A method of automated management of segmentation of information objects stored in a single database, comprising:
-preliminarily creating at least two "shared attribute" metadata objects to be used as delimiters, each object storing a reference to at least one partitionable information object and a source of values for the delimiters;
-including in the delimiter that references the partitionable information object a reference to a partitionable constant containing a conditional partitioning flag "true" or "false", the partitionable constant being part of the other delimiter itself;
-specifying a metadata object named "session parameters", which stores the IDs of tenants and/or tenant groups that need to be authorized to access various partitionable information objects, and also stores the current delimiter values;
-identifying a specific tenant and/or tenant group once the database session starts, thereby defining the value of each delimiter;
-assigning an isolated database to each tenant and/or tenant group, said database containing metadata objects and being used for assigning data areas to each tenant and/or tenant group by filtering by a "shared attribute" value and said conditional split flag;
-writing the delimiter value in the corresponding delimiter column of each partitionable information object when writing data in the partitionable information objects referenced by the delimiters;
-generating a query to obtain data from the data area assigned to a specific tenant and/or tenant group.
5. The method of claim 4, wherein the database contains, in addition to the partitionable information object, at least one shared information object that is accessible by all tenants for at least read operations regardless of the session parameters and conditional partitioning flag values.
6. The method of claim 4, wherein a "shared attribute" metadata object contains its content and values, and an indication of whether split data can be used in a shared schema that can have at least one of two values "true" and "false", and when the database session starts, a tenant and/or tenant group is identified and current session parameters are set.
7. The method of claim 6, wherein if the sharing mode is set to "true", the current session parameters are ignored and access is granted to an arbitrary set of entries in the partitionable information objects that depend on a set of program-controlled delimiter values for at least a read operation.
CN201580058828.5A 2014-10-30 2015-10-22 Method for the management of the segmentation of information objects stored in a single database Active CN107148625B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
RU2014143713 2014-10-30
RU2014143713A RU2014143713A (en) 2014-10-30 2014-10-30 METHOD FOR AUTOMATED MANAGEMENT OF DIVISION OF INFORMATION OBJECTS STORED IN ONE DATABASE (OPTIONS)
PCT/RU2015/000698 WO2016068750A1 (en) 2014-10-30 2015-10-22 Method of management of splitting the information object stored in a single database

Publications (2)

Publication Number Publication Date
CN107148625A CN107148625A (en) 2017-09-08
CN107148625B true CN107148625B (en) 2020-11-13

Family

ID=55857912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580058828.5A Active CN107148625B (en) 2014-10-30 2015-10-22 Method for the management of the segmentation of information objects stored in a single database

Country Status (9)

Country Link
EP (1) EP3213237A4 (en)
JP (1) JP2017534987A (en)
KR (1) KR20170075772A (en)
CN (1) CN107148625B (en)
BR (1) BR112017009153A8 (en)
IL (1) IL251658B (en)
MX (1) MX2017005013A (en)
RU (1) RU2014143713A (en)
WO (1) WO2016068750A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468377B1 (en) * 2018-02-13 2019-02-13 オムロン株式会社 Output management apparatus, output management method and program
WO2021230771A2 (en) * 2020-05-12 2021-11-18 Ubic Technologies Llc Method of piece data synchronization describing a single entity and stored in different databases

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862538A (en) * 2006-02-27 2006-11-15 华为技术有限公司 Data configuration system and method for implementing data configuration
CN101777047A (en) * 2009-01-08 2010-07-14 国际商业机器公司 System, equipment and method for accessing database under multiple-tenant environment
JP2011113103A (en) * 2009-11-24 2011-06-09 Hitachi Ltd Multi-tenant type computer system
US8819068B1 (en) * 2011-09-07 2014-08-26 Amazon Technologies, Inc. Automating creation or modification of database objects

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716211B2 (en) * 2004-02-10 2010-05-11 Microsoft Corporation System and method for facilitating full text searching utilizing inverted keyword indices
JP4793839B2 (en) * 2004-06-29 2011-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Access control means using tree structure data
US20060248199A1 (en) * 2005-04-29 2006-11-02 Georgi Stanev Shared closure persistence of session state information
GB0612433D0 (en) * 2006-06-23 2006-08-02 Ibm Method and system for defining a hierarchical structure
US8479256B2 (en) * 2008-11-26 2013-07-02 Red Hat, Inc. Merging mandatory access control (MAC) policies in a system with multiple execution containers
US9542432B2 (en) * 2011-09-30 2017-01-10 Oracle International Corporation Systems and methods for multitenancy data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862538A (en) * 2006-02-27 2006-11-15 华为技术有限公司 Data configuration system and method for implementing data configuration
CN101777047A (en) * 2009-01-08 2010-07-14 国际商业机器公司 System, equipment and method for accessing database under multiple-tenant environment
JP2011113103A (en) * 2009-11-24 2011-06-09 Hitachi Ltd Multi-tenant type computer system
US8819068B1 (en) * 2011-09-07 2014-08-26 Amazon Technologies, Inc. Automating creation or modification of database objects

Also Published As

Publication number Publication date
RU2014143713A (en) 2016-05-27
BR112017009153A2 (en) 2018-01-30
EP3213237A4 (en) 2018-05-30
BR112017009153A8 (en) 2022-12-13
IL251658A0 (en) 2017-06-29
MX2017005013A (en) 2017-07-19
JP2017534987A (en) 2017-11-24
IL251658B (en) 2021-03-25
CN107148625A (en) 2017-09-08
WO2016068750A1 (en) 2016-05-06
KR20170075772A (en) 2017-07-03
EP3213237A1 (en) 2017-09-06

Similar Documents

Publication Publication Date Title
RU2427896C2 (en) Annotation of documents in jointly operating applications by data in separated information systems
US9069788B2 (en) Truncating data associated with objects in a multi-tenant database
RU2458399C2 (en) In-memory caching of shared customisable multi-tenant data
US7886028B2 (en) Method and system for system migration
US8813250B2 (en) Access control program, system, and method
US9703834B2 (en) Topological query in multi-tenancy environment
US20090070382A1 (en) System and Method for Performing a File System Operation on a Specified Storage Tier
US11375015B2 (en) Dynamic routing of file system objects
JP2020537212A (en) Workflow function of the content management system implemented by the client device
KR101828642B1 (en) Brokered item access for isolated applications
EP3507721B1 (en) Real-time document filtering systems and methods
CN103942205A (en) Method, device and system for storing and reading catalogue index
US20160048385A1 (en) Method and apparatus for configuring a software application
US11704114B2 (en) Data structures for managing configuration versions of cloud-based applications
CN107148625B (en) Method for the management of the segmentation of information objects stored in a single database
US11966732B2 (en) Data structures for managing configuration versions of cloud-based applications
US10909487B2 (en) Workflow customization
JP2012512486A (en) System and method for managing a persistent document collection
CN110597827A (en) Storage method and system of interface control file data
US10735504B2 (en) System and method for distributed workbook storage
US9767313B2 (en) Method for automated separation and partitioning of data in a payroll and resource planning system
JP6805809B2 (en) Access right consolidation assistance device, access right consolidation assistance method and access right consolidation assistance program
US20230409603A1 (en) Linear interval-based dynamic range partitioning
CN109508324B (en) Oversized file management method and system based on object storage component
US20210406259A1 (en) Virtual archiving of database records

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant