JP2017534987A - Management method of dividing information objects stored in a single database - Google Patents

Management method of dividing information objects stored in a single database Download PDF

Info

Publication number
JP2017534987A
JP2017534987A JP2017523361A JP2017523361A JP2017534987A JP 2017534987 A JP2017534987 A JP 2017534987A JP 2017523361 A JP2017523361 A JP 2017523361A JP 2017523361 A JP2017523361 A JP 2017523361A JP 2017534987 A JP2017534987 A JP 2017534987A
Authority
JP
Japan
Prior art keywords
delimiter
tenant
shared
data
value
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.)
Pending
Application number
JP2017523361A
Other languages
Japanese (ja)
Inventor
ハリーコヴィッチ デルーツ,オダエ
ハリーコヴィッチ デルーツ,オダエ
セルゲイ ゲルオギエヴィチ ヌラリエヴ,
セルゲイ ゲルオギエヴィチ ヌラリエヴ,
ヴィクトル グリゴレヴィッチ サスノフスキー,
ヴィクトル グリゴレヴィッチ サスノフスキー,
Original Assignee
リミテッド ライアビリティー カンパニー “1シー”
リミテッド ライアビリティー カンパニー “1シー”
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 リミテッド ライアビリティー カンパニー “1シー”, リミテッド ライアビリティー カンパニー “1シー” filed Critical リミテッド ライアビリティー カンパニー “1シー”
Publication of JP2017534987A publication Critical patent/JP2017534987A/en
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本発明は、単一データベースに格納された情報オブジェクトを個別の小片に分割する自動化された管理の方法に関する。単一データベースに格納された情報オブジェクトを分割する自動化された管理の方法は、メタデータオブジェクト、「共用属性」を作成するステップと、「共用属性」パラメータを設定するステップと、現在のデリミタ値とともにテナントおよび/またはテナントグループIDを格納する「セッションパラメータ」と名付けられたメタデータオブジェクトを設定するステップと、特定のテナントを識別し各々のデリミタ・メタデータ・オブジェクトに対する現在値を定義するステップと、各々のテナントに、追加された「共用属性」を備えたメタデータオブジェクトを含む隔離されたデータ領域を割り当てるステップと、「共用属性」メタデータオブジェクトを含む分割情報オブジェクトにデータを書き込むとき、対応するカラムに「共用属性」値を書き込むステップと、テナントに割り当てられたデータ領域からデータを取得するためのクエリを生成するステップとを含む。デリミタは、分割情報オブジェクトを参照し、完全なデータ分割および部分的なデータ分割を両方とも提供する。The present invention relates to an automated management method for dividing information objects stored in a single database into individual pieces. An automated management method for splitting information objects stored in a single database includes creating metadata objects, "shared attributes", setting "shared attributes" parameters, and the current delimiter value. Setting a metadata object named “session parameter” that stores a tenant and / or tenant group ID; identifying a specific tenant and defining a current value for each delimiter metadata object; Assigning each tenant an isolated data area that includes a metadata object with an added “shared attribute” and when writing data to a split information object that includes a “shared attribute” metadata object In the column Comprising the steps of writing a "value, and generating a query for retrieving data from a data area assigned to the tenant. The delimiter refers to the partition information object and provides both complete and partial data partitioning.

Description

本発明は、隔離されたやり方で多数の組織からのテナントにサービスするマルチテナント機能アーキテクチャに関し、より具体的には、単一データベースに格納された情報オブジェクトを個別の小片に分割する自動化された管理のための方法に関する。
マルチテナント機能を使用して、単一サービス(設備または配置)の中で隔離されたやり方でさまざまな組織(すなわち独立した加入者)からのテナントにサービスすることができる。要所は加入者が互いに隔離されたままでいることを確実にすることである。
The present invention relates to a multi-tenant functional architecture that serves tenants from multiple organizations in an isolated manner, and more specifically, automated management that divides information objects stored in a single database into individual pieces. Relating to the method.
Multi-tenant functionality can be used to serve tenants from various organizations (ie, independent subscribers) in an isolated manner within a single service (equipment or deployment). The key is to ensure that the subscribers remain isolated from each other.

既知の従来技術は、ディスクリミネータとして使用される1つまたは複数のフィールド(カラム)を追加することによってテーブルデータを分割する方法について説明するソリューション米国特許出願公開第2013/086322号明細書を含む。   Known prior art includes a solution US 2013/088632 that describes a method for partitioning table data by adding one or more fields (columns) used as discriminators. .

しかしながら、この方法は、毎回1つまたは複数の新しいディスクリミネータカラムを各々のテーブルまたはカタログに追加しなければならないので、非常に時間がかかる傾向がある。   However, this method tends to be very time consuming because one or more new discriminator columns must be added to each table or catalog each time.

米国特許出願公開第2013/086322号明細書US Patent Application Publication No. 2013/088632

本発明の目的は、例えば、適用ソリューションそれ自体のアーキテクチャへの著しい修正なしで、適用ソリューションがローカル(「デスクトップ」)モードでおよび多数の加入者が同じウェブサービスにアクセスする(「クラウド分割」)モードでともに機能し得ることを確実にするために、データ分割の柔軟な管理のためのメカニズムおよび方法を、すなわち同じ適用ソリューションに対してデータ分割を有効または無効にすることによって、創造することである。   The object of the present invention is, for example, without significant modifications to the architecture of the application solution itself, with the application solution in local (“desktop”) mode and multiple subscribers accessing the same web service (“cloud partitioning”). By creating mechanisms and methods for flexible management of data partitioning, i.e. by enabling or disabling data partitioning for the same application solution, to ensure that they can work together in mode is there.

本発明の技術的な結果は、完全なデータ分割および部分的なデータ分割を両方とも提供する。例えば、一部のデータはすべての組織によって共有され得るのに対して(例えば、銀行のカタログ)、ビジネスまたは金融データなどの他のデータは、テナント特有であり、特定の組織に対してのみ表示され利用可能とされる。   The technical results of the present invention provide both complete and partial data partitioning. For example, some data can be shared by all organizations (eg bank catalogs), while other data such as business or financial data is tenant specific and only visible to specific organizations And made available.

定義   Definition

構成は、1Cプラットフォームに基づく適用ソリューションであり、アルゴリズム、形態およびデータ構造の組合せである。任意の構成の主目的は、例えば会計目的の、正しい記録保持である。1Cプラットフォームは、主題領域に特有のデータすなわち、定数、カタログ、文書および勘定科目表を格納するために使用される専門的なオブジェクトのセットである。   The configuration is an application solution based on the 1C platform, which is a combination of algorithms, forms and data structures. The main purpose of any configuration is correct record keeping, for example for accounting purposes. The 1C platform is a set of specialized objects used to store subject area specific data, ie constants, catalogs, documents and charts of accounts.

属性は、適用ソリューションで表示される、記入されるカタログまたは文書内のフィールドである。各々の属性は、それがどのタイプの値を格納するか、およびユーザがそれをどのように取り扱うことができるかを指定するプロパティによって特徴づけられる。   An attribute is a field in a filled-in catalog or document that is displayed in an application solution. Each attribute is characterized by a property that specifies what type of value it stores and how the user can handle it.

デリミタ(共用属性)は、多数の構成オブジェクト(カタログ、文書、勘定科目表、定数、など)に対する単一属性の使用法を有効にするメタデータオブジェクト(構成オブジェクト)である。構成開発者は、標準的な構成オブジェクトへの修正を回避するために「共用属性」を追加し構成することができる。換言すれば、開発者は、(従来技術で「テーブル」と呼ばれる)各々の既存のカタログにデリミタカラムを追加するよりむしろ、すべてのまたは一部のオブジェクトに対して共用属性を設定および管理することができる。「共用属性」オブジェクトは、名称、コンテンツ(共用属性が使用されることになっているオブジェクトまたはカタログのリスト)、値、分割データの使用法などの、一定の事前定義されたプロパティを得た。   A delimiter (shared attribute) is a metadata object (configuration object) that enables usage of a single attribute for a number of configuration objects (catalog, document, chart of accounts, constants, etc.). Configuration developers can add and configure “shared attributes” to avoid modifications to standard configuration objects. In other words, developers can set and manage shared attributes for all or some objects, rather than adding a delimiter column to each existing catalog (called “tables” in the prior art). Can do. The “Shared Attributes” object gained certain predefined properties such as name, content (list of objects or catalogs for which shared attributes are to be used), values, usage of split data, etc.

メタデータは、関連するデータレイアウトおよびそのデータベースとの相互作用を記述する構成オブジェクトである。   Metadata is a configuration object that describes the associated data layout and its interaction with the database.

セッションパラメータは、共用構成オブジェクトである。ある現在値が現在の1C:エンタープライズセッションの中で設定され格納される。例えば、セッションパラメータは、エントリレベルにおいてデータへのアクセスを制限するために使用することができる。   The session parameter is a shared configuration object. A current value is set and stored in the current 1C: enterprise session. For example, session parameters can be used to restrict access to data at the entry level.

技術的な結果は、以下に説明される本発明の利点の組合せによって達成される。本発明の第1の実施形態で、単一データベースに格納された情報オブジェクトを分割する自動化された管理のための方法は、デリミタとしての役割を果たし少なくとも1つの分割情報オブジェクトへの参照およびデリミタに対する値のソースを格納する、少なくとも1つのメタデータオブジェクト、「共用属性」を予め作成するステップと、1つまたは複数の分割情報オブジェクトで「共用属性」がどのように使用されるかを定義する「共用属性」パラメータを設定するステップと、さまざまな分割情報オブジェクトへのアクセスを許可される必要があるテナントおよび/またはテナントグループのIDを格納し、現在のデリミタ値を同様に格納する、「セッションパラメータ」と名付けられたメタデータオブジェクトを設定するステップと、データベースセッションの開始にあたり特定のテナントおよび/またはテナントグループを識別し各々のデリミタ・メタデータ・オブジェクトに対する現在値を定義するステップと、各々のテナントおよび/またはテナントグループに隔離されたデータ領域を割り当てるステップであって、前記領域は追加された「共用属性」を備えたメタデータオブジェクトを含む、ステップと、「共用属性」メタデータオブジェクトが追加される分割情報オブジェクトにデータを書き込むとき、対応するカラムに「共用属性」値を書き込むステップと、特定のテナントおよび/またはテナントグループに割り当てられたデータ領域からデータを取得するためのクエリを生成するステップとを含む。   Technical results are achieved by a combination of the advantages of the invention described below. In a first embodiment of the present invention, a method for automated management of splitting an information object stored in a single database serves as a delimiter and references to at least one split information object and to the delimiter Define at least one metadata object that stores the source of the value, a step of pre-creating a “shared attribute” and how the “shared attribute” is used in one or more split information objects. The step of setting the “shared attribute” parameter, the ID of the tenant and / or tenant group that needs to be allowed access to various partition information objects, and the current delimiter value as well, the “session parameter” Set up a metadata object named Identifying a specific tenant and / or tenant group at the start of a database session, defining current values for each delimiter metadata object, and assigning an isolated data area to each tenant and / or tenant group The region includes a metadata object with an added “shared attribute”, and when writing data to the split information object to which the “shared attribute” metadata object is added, Writing a “shared attribute” value and generating a query to retrieve data from a data area assigned to a particular tenant and / or tenant group.

本発明の特定の実施形態の場合、「共用属性」パラメータに対する「自動使用」プロパティが「使用」に設定されるならば、作成された「共用属性」は、すべての新しく作成された構成オブジェクトと同様にすべての既存の構成オブジェクトに自動的に追加される。「共用属性」パラメータに対する「自動使用」プロパティが「不使用」に設定される場合、属性は構成オブジェクトに自動的に追加されず、デリミタを追加する必要があるオブジェクトは、デリミタの「コンテンツ」プロパティで選択される。   For certain embodiments of the present invention, if the “Auto Use” property for the “Shared Attributes” parameter is set to “Used”, then the created “Shared Attributes” will be created with all newly created configuration objects. Similarly, it is automatically added to all existing configuration objects. If the "Auto Use" property for the "Shared Attributes" parameter is set to "Not Used", the attribute is not automatically added to the configuration object, and any object that needs to have a delimiter added is the "Delimiter Content" property Selected.

本発明の第2の実施形態で、単一データベースに格納された情報オブジェクトを分割する自動化された管理のための方法は、デリミタとして使用される少なくとも2つの「共用属性」メタデータオブジェクトを予め作成するステップであって、各々のオブジェクトは少なくとも1つの分割情報メタデータオブジェクトへの参照およびデリミタに対する値のソースを格納する、ステップと、別のデリミタそれ自体の一部である、条件付き分割フラグ、「真」または「偽」を含む分割可能な定数への参照を、分割情報オブジェクトを参照するデリミタに含めるステップと、さまざまな分割情報オブジェクトへのアクセスを必要とするテナントおよび/またはテナントグループのIDを格納し、現在のデリミタ値を同様に格納する、「セッションパラメータ」と名付けられたメタデータオブジェクトを設定するステップと、データベースセッションの開始にあたり特定のテナントおよび/またはテナントグループを識別し、したがって各々のデリミタに対する値を定義するステップと、各々のテナントおよび/またはテナントグループに隔離されたデータベースを割り当てるステップであって、前記データベースは、メタデータオブジェクトを含み、「共用属性」値および条件付き分割フラグ値によるフィルタリングを用いて各々のテナントおよび/またはテナントグループのためのデータ領域を割り当てるために使用される、ステップと、デリミタによって参照される分割情報オブジェクトにデータを書き込むとき、対応するデリミタカラムにデリミタ値を書き込むステップと、特定のテナントおよび/またはテナントグループに割り当てられたデータ領域からデータを取得するためのクエリを生成するステップとを含む。   In a second embodiment of the present invention, a method for automated management of splitting information objects stored in a single database pre-creates at least two “shared attribute” metadata objects used as delimiters Each object stores a reference to at least one split information metadata object and a source of values for the delimiter, and a conditional split flag that is part of another delimiter itself, Include a reference to a splittable constant containing "true" or "false" in the delimiter that references the split information object, and the ID of the tenant and / or tenant group that needs access to the various split information objects And store the current delimiter value as well. Setting up a metadata object named “meter”, identifying a specific tenant and / or tenant group at the start of a database session and thus defining a value for each delimiter, and each tenant and / or Assigning an isolated database to a tenant group, said database comprising metadata objects for each tenant and / or tenant group using filtering by "shared attribute" value and conditional split flag value Used to allocate the data area, and when writing data to the split information object referenced by the delimiter, writing the delimiter value to the corresponding delimiter column; Nantes and / or data area allocated to the tenant group and generating a query to retrieve the data.

本発明の特定の実施形態の場合、データベースは、分割情報オブジェクトの他に、セッションパラメータおよび条件付き分割フラグ値にかかわらず、少なくとも読み出し動作のために、すべてのユーザによってアクセス可能である、少なくとも1つの共用オブジェクトを含む。そのコンテンツおよび値に加えて、「共用属性」オブジェクトは、分割データが、2つの値「真」または「偽」のうちの少なくとも1つを有し得る共用モードで使用され得るかどうかの指示を同様に含み、データベースセッションが開始されるときテナントおよび/またはテナントグループが識別され現在のセッションパラメータが設定される。共用モードが「真」に設定されこれらのユーザがデータベース内の情報オブジェクトを呼び出す場合、少なくとも読み出し動作に対して、デリミタ値のプログラム制御されたセットに応じて、現在のセッションパラメータは無視され分割情報オブジェクト内のエントリのランダムなセットにアクセスが許可される。   For certain embodiments of the present invention, the database is accessible by all users, at least for read operations, regardless of the session parameters and conditional partition flag values, in addition to the partition information object, at least one Contains two shared objects. In addition to its content and value, the “shared attribute” object provides an indication of whether the split data can be used in a shared mode that may have at least one of the two values “true” or “false”. Similarly, tenants and / or tenant groups are identified and current session parameters are set when a database session is initiated. When sharing mode is set to true and these users call information objects in the database, the current session parameters are ignored and the split information is ignored, at least for read operations, depending on the program-controlled set of delimiter values. Access is granted to a random set of entries in the object.

発明の開示
例えば、適用ソリューションそれ自体のアーキテクチャへの著しい修正なしで、適用ソリューションがローカル(「デスクトップ」)モードで、および多数の加入者が同じウェブサービスにアクセスする(「クラウド分割」)モードでともに機能し得ることを確実にするために、同じ適用ソリューションに対してデータ分割を有効または無効にするためにデータ分割の管理は柔軟でなければならない。さらに、それは、データを部分的に隔離し、他のデータがすべてのまたは一部のテナントによって共有され得ると同時にそのデータが単一の加入テナントに利用可能であるようにするために、テーブルなどの記憶域内の特定のオブジェクトの分割を有効および無効にする必要がある。
DISCLOSURE OF THE INVENTION For example, without significant modifications to the architecture of the application solution itself, the application solution is in local (“desktop”) mode and in a mode in which multiple subscribers access the same web service (“cloud partition”) To ensure that they can work together, the management of data partitioning must be flexible to enable or disable data partitioning for the same application solution. In addition, it can partially isolate data and other data can be shared by all or some tenants while at the same time making that data available to a single participating tenant, etc. You need to enable and disable the partitioning of certain objects in your storage.

データ分割の原則は新しい構成オブジェクト、「共用属性」に基づいている。   The principle of data partitioning is based on a new configuration object, “Shared Attributes”.

共用属性動作のモードはデータ分割プロパティを使用して設定される。この構成オブジェクトの2つのモードが存在する。すなわち、
1.「データ分割」プロパティが「不使用」に設定される場合、作成された構成オブジェクトは多数の(またはすべての)構成オブジェクトに含まれる属性として使用されるだけである。
2.「データ分割」プロパティが「分割」に設定される場合、共用属性はデータデリミタとして使用される。
The mode of shared attribute operation is set using the data partition property. There are two modes of this configuration object. That is,
1. When the “Data Split” property is set to “Not Used”, the created configuration object is only used as an attribute included in many (or all) configuration objects.
2. If the “Data Split” property is set to “Split”, the shared attribute is used as a data delimiter.

この方法は、インフォベース内の格納データ分割および適用ソリューション動作の管理を提供する。   This method provides for the management of stored data partitioning and application solution operations within the infobase.

特許請求された発明の第1の実施形態は、少なくとも1つのデリミタを使用して分割する比較的単純な方法を表す。   The first embodiment of the claimed invention represents a relatively simple method of dividing using at least one delimiter.

第2の実施形態で、データ分割のより複雑な方法は、2つ以上のデリミタを使用して説明される。この方法の利点は、条件付きデータ分割を使用してデータ分割を管理する能力にある。   In the second embodiment, a more complex method of data partitioning is described using more than one delimiter. The advantage of this method is the ability to manage data partitioning using conditional data partitioning.

分割方法を特徴づける分割メカニズムは、部分的なデータ分割および完全なデータ分割を両方とも提供する。例えば、一部のデータはすべての組織によって共有され得るのに対して(例えば、銀行のカタログ)、ビジネスまたは金融データなどの、他のデータは、テナント特有であり、特定の組織に対してのみ表示され利用可能とされる。   The partitioning mechanism that characterizes the partitioning method provides both partial and complete data partitioning. For example, some data can be shared by all organizations (eg, bank catalogs), while other data, such as business or financial data, is tenant specific and only for a particular organization Displayed and available.

この手法は、単一の適用ソリューションが多数の組織で記録保持のために使用される場合に、適用ソリューションの運営および更新を大いに単純化する。   This approach greatly simplifies the operation and updating of application solutions when a single application solution is used for record keeping in multiple organizations.

分割方法の第1の実施形態は、デリミタとしての役割を果たす単一の共用属性メタデータオブジェクトを作成するステップを含む。デリミタは、1つまたは複数の分割情報オブジェクトへの参照を格納する。デリミタに対する値のソースが同様に示される。1つまたは複数の分割メタデータオブジェクトでデリミタがどのように使用されるかを定義するパラメータが、デリミタに対して指定される。「セッションパラメータ」と名付けられたメタデータオブジェクトが設定される。それは、さまざまな分割情報オブジェクトにアクセスする必要があるテナントおよびテナントグループに対するIDを格納する。それは、現在のデリミタ値を同様に格納する。データベースセッションが開始されるとき、特定のテナントおよび/またはテナントグループが識別され、各々のデリミタ・メタデータ・オブジェクトに対する現在値が定義される。この方法は、各々のテナントおよび/またはテナントグループに、追加された「共用属性」を持つメタデータオブジェクトを含む隔離されたデータ領域を割り当てるステップを同様に含む。加えるに、情報が共用属性を持つデータベース内の分割情報オブジェクトに書き込まれるとき、共用属性の値が対応するカラムに書き込まれる。結果として、特定のテナントおよび/またはテナントグループに割り当てられたデータ領域からデータを取得するためにクエリが生成される。   A first embodiment of the splitting method includes creating a single shared attribute metadata object that serves as a delimiter. The delimiter stores a reference to one or more division information objects. The source of the value for the delimiter is indicated as well. Parameters are defined for the delimiter that define how the delimiter is used in one or more split metadata objects. A metadata object named “Session Parameter” is set. It stores IDs for tenants and tenant groups that need access to various partition information objects. It stores the current delimiter value as well. When a database session is initiated, specific tenants and / or tenant groups are identified and current values for each delimiter metadata object are defined. The method similarly includes assigning each tenant and / or tenant group an isolated data area that includes a metadata object with an added “shared attribute”. In addition, when information is written to a split information object in a database that has a shared attribute, the value of the shared attribute is written to the corresponding column. As a result, a query is generated to retrieve data from the data area assigned to a particular tenant and / or tenant group.

作成された共用属性がすべての既存の構成オブジェクトおよびすべての新しく作成された構成オブジェクトに自動的に追加される必要がある場合、共用属性パラメータ内の「自動使用」プロパティを「使用」に設定する。しかしながら、「自動使用」プロパティが「不使用」に設定される場合、属性は構成オブジェクトに自動的に追加されず、デリミタを追加する必要があるオブジェクトは、デリミタの「コンテンツ」プロパティを使用して選択される。   If the created shared attribute needs to be automatically added to all existing configuration objects and all newly created configuration objects, set the Auto Use property in the shared attribute parameter to Use . However, if the “Auto Use” property is set to “Not Used”, the attribute is not automatically added to the configuration object, and objects that need to have delimiters added using the “Content” property of the delimiter. Selected.

分割方法の別の実施形態(2つ以上のデリミタ)で、共用属性メタデータオブジェクトが同様に作成されデリミタとしての役割を果たす。第1の実施形態と異なり、この実施形態では、少なくとも2つの共用属性メタデータオブジェクトが作成される。デリミタは、このデリミタによって参照されるデータベースからの分割情報オブジェクトとともに定数への参照を含むことになっていると想定される。条件付き分割フラグ、「真」または「偽」を含む定数は、別のデリミタの一部であり、同様に分割される。第1の実施形態と同様に、「セッションパラメータ」と名付けられたメタデータオブジェクトが設定される。テナントが識別されていてセッションが始まるとき、メタデータオブジェクトを含む隔離されたデータベースが割り当てられ、「共用属性」値および条件付き分割フラグ値によるフィルタリングによって各々のテナントおよび/またはテナントグループのためのデータ領域を割り当てるために使用される。第1の実施形態と同様に、この実施形態は、データベース内の情報オブジェクトに情報を書き込むとき対応するデリミタカラムにデリミタ値を書き込むステップとクエリを生成するステップとを同じく含む。   In another embodiment of the splitting method (two or more delimiters), a shared attribute metadata object is similarly created and serves as a delimiter. Unlike the first embodiment, in this embodiment, at least two shared attribute metadata objects are created. The delimiter is assumed to contain a reference to a constant along with the split information object from the database referenced by this delimiter. A constant containing a conditional split flag, “true” or “false”, is part of another delimiter and is split similarly. As in 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 data for each tenant and / or tenant group is filtered by “shared attribute” values and conditional split flag values Used to allocate space. Similar to the first embodiment, this embodiment also includes writing a delimiter value to the corresponding delimiter column and generating a query when writing information to an information object in the database.

さらに、データベースは、セッションパラメータおよび条件付き分割フラグ値にかかわらず、少なくとも読み出し動作のために、すべてのユーザによってアクセス可能である、共用オブジェクトとともに、分割情報オブジェクトを含む。   In addition, the database includes a split information object with shared objects that are accessible by all users, at least for read operations, regardless of session parameters and conditional split flag values.

そのコンテンツおよび値に加えて、「共用属性」は、分割データが共用モードで使用され得るかどうかの指示を同様に含む。このモードは、2つの値すなわち「真」または「偽」のうちの少なくとも1つを有し得る。データベースセッションが始まるとき、特定のテナントおよび/またはテナントグループが識別され、すなわち、現在のセッションパラメータが設定される。   In addition to its content and value, the “shared attribute” also includes an indication of whether the split data can be used in shared mode. This mode may have at least one of two values: “true” or “false”. When a database session begins, a particular tenant and / or tenant group is identified, i.e. the current session parameters are set.

本発明の第1の実施形態で、「データ分割」プロパティは「不使用」に設定される。   In the first embodiment of the present invention, the “data division” property is set to “not used”.

この実施形態が1Cソフトウェアでどのように使用され得るか考えてみよう。   Consider how this embodiment can be used with 1C software.

ソフトウェアを立ち上げる前に、少なくとも1つのデリミタがデザイナにデフォルトで作成される。このデリミタは、共用インフォベースを、各々それ自身の管理者によって管理される別個の隔離されたインフォベースに、自動的に分割するために使用される。   At least one delimiter is created by default in the designer before launching the software. This delimiter is used to automatically split the shared infobase into separate, isolated infobases that are each managed by its own administrator.

例えば、共用インフォベースは、各々特定の組織のすべての文書類を含む、多数のインフォベースを含み得る。組織(Organization)デリミタがデザイナで標準的なデリミタとして使用される場合、共用インフォベースは多数のインフォベースに分割され、それらの各々は、隔離され、他の隔離されたデータベースからの文書類へのアクセスなしでそれ自身の構成で動作する。   For example, a shared infobase may include multiple infobases, each containing all documents for a particular organization. When an Organization delimiter is used as a standard delimiter in the designer, the shared infobase is divided into a number of infobases, each of which is quarantined, to documents from other quarantined databases. Operates in its own configuration without access.

それから「共用属性」メタデータオブジェクトを作成する。例えば、構成ウィンドウで、共有−共用属性−新しいオブジェクトを追加、を選択することによって、それを行うことができる。   Then create a "shared attribute" metadata object. This can be done, for example, by selecting Share-Shared Attributes-Add New Object in the configuration window.

次に、共用属性のプロパティが指定される。
A)共用属性の名称がデフォルトプロパティで指定される。
B)使用プロパティで、
共用属性のコンテンツ(コンテンツプロパティ)が構成編集ウィンドウに表示されるドロップダウンメニューを使用して指定され、すなわち、共用属性が追加されることになる構成オブジェクトのリストが編纂される。
Next, the properties of the shared attribute are specified.
A) The name of the shared attribute is specified by the default property.
B) In the property used,
The content (content property) of the shared attribute is specified using a drop-down menu displayed in the configuration editing window, that is, a list of configuration objects to which the shared attribute is to be added is compiled.

共用属性コンテンツを編集するために使用されるウィンドウは、2つの部分に分割されており、各々共用属性が特定のオブジェクトに適用されるべきであるかどうかについての情報(使用カラム)を含む。すなわち、
−上部は、共用属性コンテンツに含まれ得るすべての構成オブジェクトを列挙し、
−下部は、共用属性の自動使用プロパティによって定義されたデフォルト設定と異なる設定のオブジェクトを列挙する。
The window used to edit the shared attribute content is divided into two parts, each containing information (use column) about whether the shared attribute should be applied to a particular object. That is,
-The top section lists all the configuration objects that can be included in the shared attribute content,
The lower part lists objects with settings that differ from the default settings defined by the auto-use property of the shared attribute.

このプロパティが「使用」に設定される場合、ウィンドウの下部は、共用属性コンテンツに含まれないオブジェクトを列挙する。   If this property is set to "Use", the bottom of the window lists objects that are not included in the shared attribute content.

このプロパティが「不使用」に設定される場合、ウィンドウの下部は、共用属性コンテンツに含まれるオブジェクトを列挙する。   If this property is set to “not used”, the bottom part of the window lists the objects contained in the shared attribute content.

構成オブジェクトは、ウィンドウの上部または下部で編集することができる。編集された構成オブジェクトは、使用カラムにおける値に応じて、ウィンドウの部分の間で移動することになる。   Configuration objects can be edited at the top or bottom of the window. The edited configuration object will move between parts of the window depending on the value in the used column.

各々の構成オブジェクトに対して、使用カラムは、3つの値のうちの1つに設定することができる。   For each configuration object, the usage column can be set to one of three values.

1.自動的に:共用属性への構成オブジェクトの割当は、共用属性の自動使用プロパティの値に依存する。
−使用:構成オブジェクトは共用属性コンテンツに含まれる。
−不使用:構成オブジェクトは共用属性コンテンツに含まれない。
2.使用:構成オブジェクトは、自動使用プロパティ値にかかわらず共用属性コンテンツに含まれる。
3.不使用:構成オブジェクトは、自動使用プロパティ値にかかわらず共用属性コンテンツに含まれない。
1. Automatically: The assignment of a configuration object to a shared attribute depends on the value of the shared attribute's automatic use property.
-Use: The configuration object is included in the shared attribute content.
-Not used: The configuration object is not included in the shared attribute content.
2. Usage: The configuration object is included in the shared attribute content regardless of the automatic usage property value.
3. Not used: The configuration object is not included in the shared attribute content regardless of the auto-use property value.

次の構成オブジェクト、すなわち、カタログ、文書、特性タイプの表、勘定科目表、計算タイプの表、ビジネスプロセス、タスク、情報レジスタ、累積レジスタ、会計レジスタ、計算レジスタおよび交換プランは、共用属性コンテンツに含まれ得る。   The following configuration objects: catalogs, documents, characteristic type tables, charts of accounts, calculation type tables, business processes, tasks, information registers, cumulative registers, accounting registers, calculation registers and exchange plans are included in shared attribute content. May be included.

C)それから、構成ウィンドウ内のドロップダウンメニューを使用して、コンテンツプロパティに列挙されたオブジェクトに関連して共用属性がどのように使用されるか(自動使用プロパティ)を選択する。   C) Then use the drop-down menu in the configuration window to select how shared attributes are used in connection with the objects listed in the content properties (auto-use properties).

自動使用プロパティが「使用」に設定される場合、作成された共用属性は、(共用属性の使用がこれらのオブジェクトに対して有効とされる場合)すべての既存の構成オブジェクトに、そしてすべての新しく作成された構成オブジェクトに自動的に追加される。   If the auto-use property is set to "Use", the created shared attribute will be applied to all existing configuration objects (if use of the shared attribute is enabled for these objects), and to all new Automatically added to the created configuration object.

「自動使用」プロパティが「不使用」に設定される場合、属性は構成オブジェクトに自動的に追加されず、共用属性を追加する必要があるオブジェクトは、「コンテンツ」プロパティを使用して選択される。   If the "Automatic use" property is set to "Not used", the attribute is not automatically added to the configuration object, and objects that need to add a shared attribute are selected using the "Content" property .

このプロパティは、共用属性が自動使用される場合同様に使用されるが、共用属性が追加されるべきではないオブジェクトが存在する。   This property is used in the same way when shared attributes are used automatically, but there are objects for which shared attributes should not be added.

そのとき「セッションパラメータ」と名付けられたメタデータオブジェクトを指定する。それは、さまざまな分割情報オブジェクトにアクセスする必要があるエンティティ(テナント)および/またはエンティティグループ(テナントグループ)のIDを格納する。   At that time, specify the metadata object named "Session Parameter". It stores the IDs of entities (tenants) and / or entity groups (tenant groups) that need to access various partition information objects.

したがって、システムが始まるとき、セッションパラメータ値が初めに設定される。これらの値は、スタートアップのコマンドラインのオプションまたはインフォベースユーザに対して指定された値に基づいて、使用の指示およびデリミタの値を格納する。   Thus, session parameter values are initially set when the system starts. These values store usage instructions and delimiter values based on startup command line options or values specified for the infobase user.

それから、システムは、入力されたデータを分析し、具体的には、
−システムは、特定のテナントおよび/もしくはテナントグループを識別し、または他の方法で(例えばマシンIDに基づいて)現在のセッションパラメータを設定し、したがって各々のメタデータオブジェクトに対する値を定義し、
−システムは、共用インフォベースを分割するために使用される指定されたデリミタ値を識別し(例えば、デリミタが組織(Organization)に設定される場合、システムは、組織によって共用データベースを隔離されたデータベースに分割する)、
−システムは、共用属性が設定されるかどうかを識別し、そうである場合、それは、どの構成オブジェクトを追加する必要があるかを決定する。
すべてのパラメータが設定されるとき、共用インフォベースは、指定されたパラメータに基づいて、作成された共用属性が、管理者によって使用される構成オブジェクトに追加される、多数の隔離されたインフォベースに分割される。
The system then analyzes the entered data, specifically:
The system identifies specific tenants and / or tenant groups, or otherwise sets the current session parameters (eg based on machine ID) and thus defines values for each metadata object;
-The system identifies a specified delimiter value that is used to split the shared infobase (eg, if the delimiter is set to Organization, the system will isolate the shared database by the organization) ),
-The system identifies whether the shared attribute is set, and if so, it determines which configuration objects need to be added.
When all parameters are set, the shared infobase is based on a number of isolated infobases where the shared attributes created are added to the configuration object used by the administrator based on the specified parameters. Divided.

分割された共用属性が条件付きで無効にされる場合、
1.データを読み書きするとき、デリミタ値および使用を定義するセッションパラメータの現在値は無視される。
その代わりに、次の値が使用される。
使用属性−真(デフォルトデリミタが使用される)、
デリミタ値−デリミタタイプに対するデフォルト値。
2.インフォベースユーザを読み書きするとき、デリミタ値および使用を定義するセッションパラメータの現在値は無視される。
その代わりに、次の値が使用される。
使用属性−偽(デリミタは使用されない)。
デリミタ値−使用されない。
If split shared attributes are conditionally disabled,
1. When reading or writing data, the current value of the session parameter that defines the delimiter value and usage is ignored.
Instead, the following values are used:
Usage attribute-true (default delimiter is used),
Delimiter value-the default value for the delimiter type.
2. When reading or writing infobase users, the current values of session parameters that define delimiter values and usage are ignored.
Instead, the following values are used:
Use attribute-false (no delimiters are used).
Delimiter value-not used.

本発明の第2の実施形態で、「データ分割」プロパティは「分割」に設定される。   In the second embodiment of the present invention, the “data division” property is set to “division”.

1.スタートアップの前に、少なくとも2つのデリミタがデザイナに作成される。
−多数のデリミタのうちの少なくとも1つは、標準的な(主な)デリミタとして設定され、各々それ自身の管理者によって管理される、別個の隔離されたインフォベースに共用インフォベースを自動的に分割するためにデフォルトで使用される。
例えば、共用インフォベースは、各々特定の組織のすべての文書類を含む、多数のインフォベースを含み得る。組織(Organization)デリミタがデザイナで標準的なデリミタとして使用される場合、共用インフォベースは多数のインフォベースに分割され、それらの各々は、隔離され、他の隔離されたデータベースからの文書類へのアクセスなしでそれ自身のデータ領域で動作する。
−別のデリミタは、例えば、構成ウィンドウで、共有−共用属性−新しいオブジェクトを追加、を選択することによって、作成することができる新しく作成された共用属性構成オブジェクト(下位デリミタ)を表す。
1. Prior to startup, at least two delimiters are created in the designer.
-At least one of a number of delimiters is set as a standard (main) delimiter, automatically sharing the shared infobase into a separate, isolated infobase managed by its own administrator Used by default to split.
For example, a shared infobase may include multiple infobases, each containing all documents for a particular organization. When an Organization delimiter is used as a standard delimiter in the designer, the shared infobase is divided into a number of infobases, each of which is quarantined, to documents from other quarantined databases. Operates on its own data area without access.
Another delimiter represents a newly created shared attribute configuration object (sub-delimiter) that can be created, for example, by selecting Shared-Shared Attributes-Add New Object in the configuration window.

2.そして次に、上に示されるように、その名称、使用およびコンテンツなどの、共用属性プロパティを設定する。   2. Then, as shown above, set shared attribute properties such as its name, usage, and content.

3.そして次に、構成ウィンドウ内のドロップダウンメニューを使用して、コンテンツプロパティに列挙されたオブジェクトに関連して共用属性分割パラメータ(データ分割プロパティ)を選択する。
この実施形態で、データ分割プロパティは分割に設定される。
デリミタとして使用される共用属性は、システムの挙動に影響を与えデリミタコンテンツに含まれる構成オブジェクトの挙動を修正する追加のプロパティを有する。
3. Then, using the drop-down menu in the configuration window, select a shared attribute partitioning parameter (data partitioning property) in relation to the object listed in the content property.
In this embodiment, the data partition property is set to partition.
Shared attributes used as delimiters have additional properties that affect the behavior of the system and modify the behavior of configuration objects included in the delimiter content.

4.そして次に、構成ウィンドウ内のドロップダウンメニューを使用して、デリミタコンテンツに含まれるオブジェクトに関連してデリミタがどのように使用されるか(分割データ使用プロパティ)を選択する。   4). Then, using the drop-down menu in the configuration window, select how the delimiter is used in relation to the object included in the delimiter content (partitioned data usage property).

分割データ使用プロパティが「独立」に設定される場合、現在のインフォベースセッションがデリミタを使用しない場合オブジェクトを分割する許可された呼出は存在しない。この場合、デリミタは同様に、オブジェクトモデル、クエリ言語、XMLおよびXDTOフォーマットでのダンプ、ならびにデータアクセス制限で利用できない。分割データが書き込まれるとき、システムは、共用属性値を現在のセッションで設定された値で自動的に満たす。   If the split data usage property is set to “independent”, there is no allowed call to split the object if the current infobase session does not use a delimiter. In this case, the delimiter is likewise not available for object models, query languages, dumps in XML and XDTO formats, and data access restrictions. When split data is written, the system automatically fills the shared attribute value with the value set in the current session.

このモードは、適用ソリューションがただ単一データ領域からのデータを使用するとき、使用され得る。   This mode can be used when the application solution only uses data from a single data region.

分割データ使用プロパティが「独立かつ共有」に設定される場合、デリミタは、使用するかまたは無視することができる。このモードでは、使用されるデリミタの値によって定義されるデータ領域が利用可能である。この場合、デリミタは同様に、オブジェクトモデル、クエリ言語、XMLおよびXDTOフォーマットでのダンプ、ならびにデータアクセス制限で利用可能である。   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 delimiter value used is available. In this case, delimiters are also available for object models, query languages, dumps in XML and XDTO formats, and data access restrictions.

セッションが、ある一定のオブジェクトを含むデリミタの一部を使用しない場合、このオブジェクトを取り扱うことはそれほど効率的でなくなる。   If a session does not use part of a delimiter that contains a certain object, handling this object becomes less efficient.

適用ソリューションが単一データ領域からのデータを主として取り扱うとき(例えば文書を入力する間に)このモードを使用し、一方一定のモードでそれは、例えば、整理統合された報告書のために、多数のまたはすべての領域からのデータを使用する場合がある。   Use this mode when the application solution primarily deals with data from a single data area (eg while entering a document), while in certain modes it can be used for multiple reports, for example for consolidated reports. Or data from all areas may be used.

5.そして次に、構成ウィンドウ内のドロップダウンメニューを使用して、現在のセッションで設定されたデリミタ値を格納するセッションパラメータ(データ分割値プロパティ)を選択する。セッション・パラメータ・タイプは、デリミタタイプの完全な一致とするべきである。   5. Then, using the drop-down menu in the configuration window, select a session parameter (data partition value property) that stores the delimiter value set in the current session. The session parameter type should be an exact match of the delimiter type.

6.そして次に、構成ウィンドウ内のドロップダウンメニューを使用して、現在のセッションにおける構成オブジェクトに関連して共用デリミタがどのように使用されるか(データ分割使用プロパティ)を選択する。   6). Then, using the drop-down menu in the configuration window, select how the shared delimiter is used (data partition usage property) in relation to the configuration object in the current session.

共用属性デリミタ管理の使用は、論理型または定数型に基づいており、すなわち、指定されたセッションパラメータが「真」に設定される場合、(下位)デリミタはこのセッションで使用される。   The use of shared attribute delimiter management is based on logical or constant types, i.e. if the specified session parameter is set to "true", the (sub) delimiter is used in this session.

7.そして次に、構成ウィンドウ内のドロップダウンメニューを使用して、条件付き分割パラメータを選択する。   7). Then, using the drop-down menu in the configuration window, select the conditional split parameter.

条件付き分割は、適用ソリューションが分割モードと非分割モードの両方で使用されることになっているとき使用される。   Conditional splitting is used when the applied solution is to be used in both split and non-split modes.

例えば、適用ソリューションはオフラインで使用することができ(この場合デリミタはソリューションに含まれるが使用されない)、または、それは互いに関係がない(そしてインフォベースにデータの独立したセットを有する)多くの加入者のために使用することができる。   For example, an applied solution can be used offline (in this case the delimiter is included in the solution but not used) or it is unrelated to each other (and has an independent set of data in the infobase) Can be used for.

このような挙動は、条件付き分割を使用して実装することができ、すなわち、ソリューションがオフラインである場合、分割は無効とされ、分割モードでそれは有効とされる。   Such behavior can be implemented using conditional partitioning, i.e., if the solution is offline, partitioning is disabled and it is enabled in split mode.

条件付き分割機能は次の通りである。すなわち、
−デリミタ状態を格納するオブジェクトをデリミタ(またはデリミタコンテンツに含まれるオブジェクト)に対して設定することができる。
−このオブジェクトの値を変更することは、すべてのオブジェクトに対して(条件付き分割がデリミタに対して設定される場合)、または選択されたオブジェクトに対して(条件付き分割がデリミタコンテンツに含まれるオブジェクトに対して設定される場合)、このデリミタを使用して分割を有効または無効にすることができる。
−デリミタが条件付きで無効にされる場合、デリミタタイプに対するデフォルト値が使用される。
The conditional split function is as follows. That is,
-An object storing the delimiter state can be set for a delimiter (or an object included in the delimiter content).
-Changing the value of this object can be for all objects (if conditional split is set for delimiter) or for selected objects (conditional split is included in delimiter content) If set for an object), this delimiter can be used to enable or disable splitting.
-If the delimiter is conditionally disabled, the default value for the delimiter type is used.

次のステップとして、「セッションパラメータ」と名付けられたメタデータオブジェクトを指定する。それは、さまざまな分割情報オブジェクトにアクセスする必要があるエンティティ(テナント)および/またはエンティティグループ(テナントグループ)のIDを格納する。   The next step is to specify a metadata object named “Session Parameters”. It stores the IDs of entities (tenants) and / or entity groups (tenant groups) that need to access various partition information objects.

したがって、システムが始まるとき、セッションパラメータ値が初めに設定される。これらの値は、スタートアップのコマンドラインのオプションまたはインフォベースユーザに対して指定された値に基づいて、使用の指示およびデリミタの現在値を格納する。   Thus, session parameter values are initially set when the system starts. These values store the usage instructions and the current value of the delimiter based on the startup command line options or values specified for the infobase user.

それから、システムは、入力されたデータを分析し、具体的には、
−それは、特定のテナントおよび/もしくはテナントグループを識別し、または他の方法で(例えばマシンIDに基づいて)現在のセッションパラメータを設定し、したがって各々のデリミタ・メタデータ・オブジェクトに対する現在値を定義し、
−それは、共用インフォベースを分割するために使用される指定された現在のデリミタ値を識別し(例えば、デリミタが組織(Organization)に設定される場合、システムは、組織によって共用データベースを隔離されたデータベースに分割する)、
−それは、共用属性が設定されるかどうかを識別し、
−それは、共用属性使用モードを識別し(この実施形態では共用属性はデリミタとして使用される)、
−それは、共用属性によって分割することを必要とする構成オブジェクトを識別し、
−それは、共用属性に対する分割モードを識別する。
すべてのパラメータが設定されるとき、共用インフォベースは多数の隔離されたデータベースに分割される。各々の隔離されたデータベースの中で、構成オブジェクトは共用属性によって分割され(フィルタ処理され)、指定されたパラメータに基づいて新しいデータベースで結合される。
The system then analyzes the entered data, specifically:
-It identifies a specific tenant and / or tenant group or otherwise sets the current session parameters (eg based on machine ID) and thus defines a current value for each delimiter metadata object And
-It identifies the specified current delimiter value used to split the shared infobase (eg if the delimiter is set to Organization, the system has isolated the shared database by the organization) Split into databases),
It identifies whether the shared attribute is set and
It identifies the shared attribute usage mode (in this embodiment the shared attribute is used as a delimiter);
It identifies configuration objects that need to be split by shared attributes;
-It identifies the split mode for shared attributes.
When all parameters are set, the shared infobase is divided into a number of isolated databases. Within each isolated database, configuration objects are partitioned (filtered) by shared attributes and joined in a new database based on specified parameters.

[実施例1]
共用属性プロパティの中で設定される定数を使用する条件付き分割。
[Example 1]
Conditional split using constants set in shared attribute properties.

デリミタは、属性によって分割されない論理型定数(「真」または「偽」)を使用して完全に無効にすることができる。   Delimiters can be completely disabled using Boolean constants ("true" or "false") that are not separated by attributes.

構成は商品(Goods)カタログを含み、数値型の会社(Company)共用属性はメタデータに含まれる。会社によって分割(Split By Company)定数によって管理される条件付き分割は、会社(Company)共用属性に対して使用される。   The configuration includes a Goods catalog, and a numerical company common attribute is included in the metadata. Conditional splits managed by the Split By Company constant are used for the Company shared attribute.

会社によって分割(Split By Company)=偽の場合、デリミタが使用されない(分割が無効にされる)ことを意味し、逆もまた同様である。   If Split By Company = False, it means that the delimiter is not used (split is disabled), and vice versa.

分割が無効にされる場合、商品(Goods)カタログの利用可能性は、分割データ使用プロパティに依存することになる。   If splitting is disabled, the availability of the Goods catalog will depend on the split data usage properties.

分割データ使用プロパティが「独立」に設定される場合、いずれのテナント(会社)も商品(Goods)カタログの中のエントリへのアクセスを許可されないことになる。   When the divided data use property is set to “independent”, any tenant (company) is not permitted to access an entry in the product (Goods) catalog.

共用属性の前記プロパティが「独立および共有」に設定される場合、すべてのテナントは商品(Goods)カタログの中のすべてのエントリへのアクセスを有することになる。   If the property of the shared attribute is set to “Independent and Shared”, all tenants will have access to all entries in the Goods catalog.

[実施例2]
(コンテンツプロパティの中で)オブジェクトに対して設定される条件付き分割
[Example 2]
Conditional split set for the object (in the content properties)

条件付き分割は、デリミタのコンテンツに含まれる各々の構成オブジェクトに対して設定することができる。この場合、条件付き分割が設定されるオブジェクトに対してのみ分割が無効にされる。   Conditional partitioning can be set for each constituent object included in the delimiter content. In this case, the division is invalidated only for objects for which conditional division is set.

定数を使用する条件付きデータ分割の実施形態。   An embodiment of conditional data partitioning using constants.

開発者が顧客および棚卸資産会計の主目的で適用ソリューションを著作したと想定する。とりわけ、適用ソリューションは、2つのデータ記憶域エンティティ、すなわち、商品(Goods)カタログおよび契約業者(Contractors)カタログを含む。   Assume that a developer has written an applicable solution for the primary purpose of customer and inventory accounting. In particular, the application solution includes two data storage entities: a Goods catalog and a Contractors catalog.

ソリューションはローカルな「デスクトップ」モードのための既製品であったが、それは今、クラウド・ウェブサービス・モードに適合される必要がある。少なくとも2つの加入者がソリューションへのオンラインアクセスを許可されることになり、加入者の各々は、その系列機構のうちの少なくとも2つのために会計記録を保持することになると予想される。   The solution was off-the-shelf for the local “desktop” mode, but it now needs to be adapted to the cloud web service mode. It is expected that at least two subscribers will be granted online access to the solution and each subscriber will maintain accounting records for at least two of its affiliates.

2つの加入者が存在し、各々が多数の系列会社のために会計記録を保持すると想定する。加入者およびそれらの対応する系列会社の任意のリストが下に表される。   Assume that there are two subscribers, each holding accounting records for multiple affiliates. An optional list of subscribers and their corresponding affiliates is represented below.

加入者(Subscriber)A
−会社(Company)1、
−会社(Company)2。
加入者(Subscriber)B
−会社(Company)3、
−会社(Company)4、
−会社(Company)5。
Subscriber A
-Company 1,
-Company 2.
Subscriber B
-Company 3,
-Company 4,
-Company 5.

すべての組織に対するデータは、2つのカタログ、すなわち、契約業者(Contractors)および商品(Goods)で、単一のインフォベースに格納される。しかしながら、最も一般的な場合、ある一定の組織のユーザは、ただこの特定の組織の記録へのアクセスを有さなくてはならない。   Data for all organizations is stored in a single infobase with two catalogs: Contractors and Goods. However, in the most general case, a user of a certain organization must only have access to this particular organization's records.

組織(Organization)1および組織(Organization)2は同じ所有者によって系列下にされ管理されるので、加入者(Subscriber)Aは組織(Organization)1および組織(Organization)2が全体の商品(Goods)カタログへのアクセスを有することを望むとさらに想定される。したがって、組織(Organization)3、4および5は、それらのそれぞれのデータ領域に完全に隔離されなければならず、一方組織(Organization)1および2ならびに加入者(Subscriber)Aグループによって後に登録され制御される任意の他の組織は、商品(Goods)カタログへの共用アクセスを有し加入者(Subscriber)Aの商品に関するすべての記録を見ることが可能でなければならない。同時に、契約業者(Contractors)カタログのデータ領域は、それらがどの加入者に属するかにかかわらず、組織によって厳密に切り離されたままである。   Since Organization 1 and Organization 2 are affiliated and managed by the same owner, Subscriber A has Organization 1 and Organization 2 as the entire product (Goods). It is further assumed that one wishes to have access to the catalog. Therefore, Organizations 3, 4 and 5 must be completely isolated in their respective data areas, while later registered and controlled by Organizations 1 and 2 and Subscriber A group. Any other organization that must be able to have shared access to the Goods catalog and be able to see all records related to Subscriber A's goods. At the same time, the data areas of the Contractors catalog remain strictly separated by the organization, regardless of which subscriber they belong to.

デリミタは多数のカタログを含み、それらのうちの2つ、すなわち契約業者(Contractors)および商品(Goods)が分割される。商品(Goods)カタログで、分割商品(Split Goods)定数の現在値(「真」または「偽」)に応じて、条件付き分割がさらに設定される。この場合、分割商品(Split Goods)定数は、加入者によって分割され、すなわち、その値は各々の加入者に対して異なる。望ましい効果は、この定数を加入者(Subscriber)Aに対して「真」にそして加入者(Subscriber)Bに対して「偽」に設定することによって達成される。   The delimiter contains a number of catalogs, two of which are divided into Contractors and Goods. In the goods catalog, conditional division is further set according to the current value (“true” or “false”) of the split goods constant (“true” or “false”). In this case, the Split Goods constant is divided by the subscriber, ie its value is different for each subscriber. The desired effect is achieved by setting this constant to “true” for subscriber A and “false” for subscriber B.

発明の独立請求項で列挙された利点の組合せは、特許請求された技術的な結果の達成のために十分である。   The combination of advantages recited in the independent claims of the invention is sufficient for achieving the claimed technical result.

著者らは、特許請求されたソリューションが発明特許性のすべての基準を満たすと確信する。   The authors are convinced that the claimed solution meets all the standards of invention patentability.

本発明は、隔離されたやり方で多数の組織からのテナントにサービスするマルチテナント機能アーキテクチャに関し、より具体的には、単一データベースに格納された情報オブジェクトを個別の小片に分割する自動化された管理のための方法に関する。
マルチテナント機能を使用して、単一サービス(設備または配置)の中で隔離されたやり方でさまざまな組織(すなわち独立した加入者)からのテナントにサービスすることができる。要所は加入者が互いに隔離されたままでいることを確実にすることである。
The present invention relates to a multi-tenant functional architecture that serves tenants from multiple organizations in an isolated manner, and more specifically, automated management that divides information objects stored in a single database into individual pieces. Relating to the method.
Multi-tenant functionality can be used to serve tenants from various organizations (ie, independent subscribers) in an isolated manner within a single service (equipment or deployment). The key is to ensure that the subscribers remain isolated from each other.

既知の従来技術は、ディスクリミネータとして使用される1つまたは複数のフィールド(カラム)を追加することによってテーブルデータを分割する方法について説明するソリューション米国特許出願公開第2013/086322号明細書を含む。
しかしながら、この方法は、毎回1つまたは複数の新しいディスクリミネータカラムを特別な表記法でのメタデータの記述によって各々のテーブルまたはカタログに追加しなければならないので、非常に時間がかかる傾向がある。
Known prior art includes a solution US 2013/088632 that describes a method for partitioning table data by adding one or more fields (columns) used as discriminators. .
However, this method tends to be very time consuming because each time one or more new discriminator columns must be added to each table or catalog by describing the metadata in a special notation. .

米国特許出願公開第2013/086322号明細書US Patent Application Publication No. 2013/088632

本発明の目的は、例えば、適用ソリューションそれ自体のアーキテクチャへの著しい修正なしで、適用ソリューションがローカル(「デスクトップ」)モードでおよび多数の加入者が同じウェブサービスにアクセスする(「クラウド分割」)モードでともに機能し得ることを確実にするために、データ分割の柔軟な管理のためのメカニズムおよび方法を、すなわち同じ適用ソリューションに対してデータ分割を有効または無効にすることによって、創造することである。   The object of the present invention is, for example, without significant modifications to the architecture of the application solution itself, with the application solution in local (“desktop”) mode and multiple subscribers accessing the same web service (“cloud partitioning”). By creating mechanisms and methods for flexible management of data partitioning, i.e. by enabling or disabling data partitioning for the same application solution, to ensure that they can work together in mode is there.

本発明の技術的な結果は、完全なデータ分割および部分的なデータ分割を両方とも提供する。例えば、一部のデータはすべての組織によって共有され得るのに対して(例えば、銀行のカタログ)、ビジネスまたは金融データなどの他のデータは、テナント特有であり、特定の組織に対してのみ表示され利用可能とされる。   The technical results of the present invention provide both complete and partial data partitioning. For example, some data can be shared by all organizations (eg bank catalogs), while other data such as business or financial data is tenant specific and only visible to specific organizations And made available.

定義   Definition

構成は、1Cプラットフォームに基づく適用ソリューションであり、アルゴリズム、形態およびデータ構造の組合せである。任意の構成の主目的は、例えば会計目的の、正しい記録保持である。1Cプラットフォームは、主題領域に特有のデータすなわち、定数、カタログ、文書および勘定科目表を格納するために使用される専門的なオブジェクトのセットである。   The configuration is an application solution based on the 1C platform, which is a combination of algorithms, forms and data structures. The main purpose of any configuration is correct record keeping, for example for accounting purposes. The 1C platform is a set of specialized objects used to store subject area specific data, ie constants, catalogs, documents and charts of accounts.

属性は、適用ソリューションで表示される、記入されるカタログまたは文書内のフィールドである。各々の属性は、それがどのタイプの値を格納するか、およびユーザがそれをどのように取り扱うことができるかを指定するプロパティによって特徴付けられる。   An attribute is a field in a filled-in catalog or document that is displayed in an application solution. Each attribute is characterized by properties that specify what type of value it stores and how the user can handle it.

デリミタ(共通属性)は、多数の構成オブジェクト(カタログ、文書、勘定科目表、定数、など)に対する単一属性の使用法を有効にするメタデータオブジェクト(構成オブジェクト)である。構成開発者は、標準的な構成オブジェクトへの修正を回避するために「共通属性」を追加し構成することができる。換言すれば、開発者は、(従来技術で「テーブル」と呼ばれる)各々の既存のカタログにデリミタカラムを追加するよりむしろ、すべてのまたは一部のオブジェクトに対して共通属性を設定および管理することができる。「共通属性」または≪デリミタ≫オブジェクトは、名称、コンテンツ(共通属性が使用されることになっているオブジェクトまたはカタログのリスト)、値および以下に論じる他のものなどの一定の事前定義されたプロパティを得た。 A delimiter ( common attribute) is a metadata object (configuration object) that enables the use of a single attribute for a number of configuration objects (catalog, document, chart of accounts, constants, etc.). Configuration developers can add and configure “ common attributes” to avoid modifications to standard configuration objects. In other words, developers can set and manage common attributes for all or some objects, rather than adding a delimiter column to each existing catalog (called “tables” in the prior art). Can do. A " common attribute" or «delimiter» object is a certain predefined property such as name, content (list of objects or catalogs for which the common attribute is to be used), value, and others discussed below Got.

セッションパラメータ(アクセス制限オブジェクト)は、メタデータのオブジェクト(構成のオブジェクト)である。1C:エンタープライズのこのセッションの間にある一定の現在値が設定され残っているセッションのいくつかのパラメータの使用は、例えば、認証を通過した特定のユーザと関連付けられたパラメータのセットを設定することを可能にし、そのユーザのためにセッションが開始される。セッションのパラメータはセッションの間にプログラムに従って変更され得るが、このシナリオは、データの完全性を保証する見地から、広く普及しておらず推奨されていない。 The session parameter (access restriction object) is a metadata object ( configuration object) . 1C: A certain current value is set and remains during this session of the enterprise . The use of some parameters of the session allows, for example, to set a set of parameters associated with a particular user that has passed authentication and a session is initiated for that user. Session parameters can be changed programmatically during the session, but this scenario is not widely popular and recommended from the standpoint of ensuring data integrity.

技術的な結果は、以下に説明される本発明の利点の組合せによって達成される。本発明の第1の実施形態で、単一データベースに格納された情報オブジェクトを分割する自動化された管理の方法は、メタデータの少なくとも1つのオブジェクトをデリミタとして作成することと、データベースとの作業の1つのセッションの間にデリミタの値およびデリミタの使用のフラグの記憶域のために意図されたアクセスの制限のメタデータのオブジェクトを設定\作成することと、少なくとも、1つの共用情報オブジェクトについて、およびデリミタに対する値のソースを参照デリミタに保持し、それと同時にソースはアクセスの制限のメタデータのオブジェクトであることと、共用情報オブジェクトへのアクセスを提供するユーザおよび/またはユーザのグループの識別子を保持することと、データベースとの作業のセッションの始めに、特定のユーザを識別し、セッションにおける各々のデリミタに対する関連値およびデリミタの使用のフラグを定義し、それと同時に、指定された値はアクセスの制限のメタデータの対応するオブジェクトに残っていることと、デリミタが追加される情報オブジェクトを含むデータの隔離された領域を指定されたユーザに提供し、それと同時に、このような情報オブジェクトの各々で、セッションにおけるデリミタの値およびデリミタの使用のフラグに従って遂行されるフィルトレーションを用いて、このユーザに利用可能な記録を定義することと、デリミタが参照するデータベースの共用情報オブジェクト内のデータ記録において、対応するカラムにアクセスの制限のメタデータのオブジェクトに保持されたデリミタの値を記録することと、このユーザおよび/またはユーザのグループのために意図されたデータの領域からのデータ獲得のための問合せを生成することと、それと同時にデリミタは≪自動使用≫プロパティを有し、≪自動使用≫プロパティが≪使用≫値に確定される場合、作成されたデリミタはデータベースの情報オブジェクトに追加され、データベースの作成された情報オブジェクトに同様に追加され、かつ、≪自動使用プロパティが値≪不使用≫に確定される場合、デリミタを追加するデータベースの情報オブジェクトの選択はデリミタのプロパティに従って「コンテンツ」を遂行することとを含む。 Technical results are achieved by a combination of the advantages of the invention described below. In the first embodiment of the present invention, an automated management method for dividing information objects stored in a single database includes creating at least one object of metadata as a delimiter, and working with a database. Setting / creating an object of restricted access metadata for storage of delimiter values and delimiter usage flags during one session, at least for one shared information object, and Keep the source of the value for the delimiter in the reference delimiter, while at the same time the source is an object of restricted access metadata and the identifier of the user and / or group of users that provide access to the shared information object And working sessions with the database First, identify a specific user, define the associated value for each delimiter in the session and the use of the delimiter, while at the same time the specified value remains in the corresponding object in the access restriction metadata And providing a designated user with an isolated area of data containing the information object to which the delimiter is added, while at the same time delimiter values and delimiter usage flags in the session for each such information object In the data record in the shared information object of the database that the delimiter refers to, define the record available to this user using the filtration performed according to Records the delimiter value held in the object And generating a query for data acquisition from the region of data intended for this user and / or group of users, and at the same time the delimiter has an «automatic use» property, If the property is fixed to the << Use >> value, the created delimiter is added to the database information object, added in the same way to the database created information object, and the << automatic use property is value << not used In the case of ≫, the selection of the information object of the database to which the delimiter is added includes performing “content” according to the property of the delimiter.

本発明の第2の実施形態で、単一データベースに格納された情報オブジェクトを分割する自動化された管理の方法は、デリミタのメタデータの少なくとも2つのオブジェクトを作成することと、データベースとの作業の1つのセッションの間にデリミタの値の記憶域のために意図されたアクセスの制限のメタデータのオブジェクトを設定\作成することと、少なくとも、データベースの1つの共用情報オブジェクトへの参照および各々のデリミタに対する値のソースをデリミタの各々に保持することと、「真」または「偽」を意味する条件付きデリミタのフラグを含み、別のデリミタの一部であり分割される定数への参照を、このデリミタが参照するデータベースの共用情報オブジェクトに対するデリミタの1つに保持することと、共用情報オブジェクトへのアクセスを提供するユーザおよび/またはユーザのグループの識別子を保持することと、データベースとの作業のセッションの始めに、特定のユーザを識別し、セッションにおける各々のデリミタに対する関連値およびデリミタの使用のフラグを定義し、それと同時に、指定された値はアクセスの制限のメタデータの対応するオブジェクトに残っていることと、条件付きデリミタのフラグが「真」になる場合、デリミタが追加される情報オブジェクトを含むデータの隔離された領域を指定されたユーザに提供し、それと同時にこのような情報オブジェクトの各々でセッションにおけるデリミタの値およびデリミタの使用のフラグに従って遂行されるフィルトレーションを用いて、このユーザに利用可能な記録を定義し、さもなければ、デフォルトでデリミタの値に従って遂行されるフィルトレーションを用いてこのユーザのために利用可能な記録を定義することと、条件付きデリミタのフラグが「真」になる場合、デリミタが参照するデータベースの共用情報オブジェクト内のデータ記録において、対応するカラムにアクセスの制限のメタデータのオブジェクトに保持されたデリミタの値を記録し、さもなければ対応するカラムにデフォルトでデリミタの値を記録することと、このユーザのために意図されたデータの領域からのデータ獲得のための問合せを生成することとを含む。 In a second embodiment of the present invention, an automated management method for splitting an information object stored in a single database includes creating at least two objects of delimiter metadata and working with the database. Setting / creating a metadata object with restricted access intended for storage of delimiter values during one session, and at least a reference to one shared information object in the database and each delimiter Keep the source of the value for each in the delimiter, and a reference to a constant that is part of another delimiter and that contains a conditional delimiter flag that means "true" or "false" Holding in one of the delimiters for the shared information object of the database referenced by the delimiter, and shared information At the beginning of a session of working with the database and maintaining the identifier of the user and / or group of users that provide access to the object, a specific user is identified and the associated value and delimiter for each delimiter in the session Define a usage flag, and at the same time, the specified value remains in the corresponding object in the access restriction metadata and if the conditional delimiter flag is "true", the delimiter is added Using a filtration that is performed according to the delimiter value and delimiter usage flags in the session at each such information object, while providing an isolated area of data containing the information object to the designated user Define the records available to this user, If the default delimiter flag is set to “true”, then the delimiter refers to the record that is available for this user using a filtration performed by default according to the delimiter value. When recording data in a database shared information object, record the delimiter value stored in the access restriction metadata object in the corresponding column, otherwise record the delimiter value by default in the corresponding column. And generating a query for data acquisition from the region of data intended for this user.

本発明の特定の実施形態の場合、データベースは、分割情報オブジェクトの他に、セッションパラメータおよび条件付き分割フラグ値にかかわらず、少なくとも読み込み動作のために、すべてのテナントによってアクセス可能である、少なくとも1つの共用オブジェクトを含む。メタデータのオブジェクト、デリミタが構造および値の指示とともに、値すなわち、「真」または「偽」を受け入れる、共用モードでの分割データの使用の可能性を指定するプロパティを含むという事実は、同時に、データベースとの作業のセッションの始めに特定のユーザおよび/またはユーザのグループを同様に識別する。共用モードに対して≪真≫のパラメータ設定の場合で現在のセッションにおけるデリミタの不使用時に、データベースの情報オブジェクトへのユーザのアピールにおいて、デリミタの現在値によって無視され、少なくとも、読み出しの動作を行うために、デリミタの値のプログラム制御されたセットに応じて共用情報オブジェクト内の記録の任意のセットへのアクセスを提供する。 For certain embodiments of the invention, the database is accessible by all tenants , at least for read operations, in addition to the partition information object, regardless of session parameters and conditional partition flag values, Contains two shared objects. The fact that the metadata object, delimiter, together with structure and value indications, includes a property that specifies the possibility of using split data in shared mode, accepting the value, ie "true" or "false", at the same time, A particular user and / or group of users are similarly identified at the beginning of a session of work with the database. When the parameter setting is `` true '' for the shared mode and the delimiter is not used in the current session, it is ignored by the current value of the delimiter in the user's appeal to the database information object, and at least the read operation is performed. In order to provide access to any set of records in the shared information object in response to a program-controlled set of delimiter values.

発明の開示
例えば、最も適用される決定のアーキテクチャの本質的な変更なしで、それがローカル(「デスクトップ])モードで、およびウェブサービスへの多数の加入者のアクセスモード(「クラウド分割」)でともに機能し得るように、データの分割を管理する、すなわち、同じ適用される決定に対してデータの分割を含めるかまたはスイッチを切る、要求がある。そのうえ、別個のオブジェクトに、特に、データの一部が隔離されて一定のユーザにのみ利用可能であり、他のデータが共有されることになるテーブルに関連した記憶域で分割のスイッチを入れるまたはスイッチを切る要求がある。
Disclosure of the invention
For example, it works both in local (“desktop”) mode and in multiple subscriber access mode to web services (“cloud split”) without substantial changes in the architecture of the most applicable decision. There is a requirement to manage the data partitioning, ie to include or switch off the data partitioning for the same applied decision. In addition, separate objects are switched on, particularly in storage associated with tables where some of the data is isolated and only available to certain users and other data will be shared or There is a request to switch off.

プロトタイプと異なり、2つ以上のデリミタの使用を伴う1つの情報ベースに格納されたデータの分割の管理のより柔軟な方法が提示される。方法の特徴は、それが条件付き分割を適用して、データの分割を管理するのを可能にするということである。このような手法は、同じ適用される決定がクラウドコンピューティングのサービスの数名の顧客の会計のために使用されるとき(さらに−「加入者」)、適用される決定の運営および更新をかなり容易にする。  Unlike prototypes, a more flexible way of managing the partitioning of data stored in one information base with the use of two or more delimiters is presented. A feature of the method is that it allows you to apply conditional partitioning and manage the partitioning of data. Such an approach can significantly manage and update the applied decisions when the same applied decisions are used for accounting for several customers in a cloud computing service (further— “subscribers”). make it easier.

基本的な場合、システムの加入者およびユーザ(すなわち、名前および個人のパスワードを入力して、セッションを始める者)は1人の人に一致し、例えばそれは個別の企業家とすることができる。  In the basic case, system subscribers and users (ie, those who enter a name and personal password to initiate a session) will match one person, for example, it may be an individual entrepreneur.

しかしながら、クラスERP(事業リソース管理)のビジネスのための会計システムを用いる場合、加入者はより多く−それはホールディングであり、いくつかの法人はホールディングの一部とすることができ、多数のユーザがこれもしくはその法人またはホールディングのビジネスディレクションを扱うことになる。  However, when using an accounting system for business of class ERP (Business Resource Management), there are more subscribers-it is holding, some legal entities can be part of holding, It will handle the business direction of this corporation or its holdings.

後者の場合、加入者の各々は、例えば、ホールディングに入っている特定の法人またはビジネス活動のディレクション(生産、貿易およびt.p)へのユーザの所属の判定基準によって、より狭い隔離された領域に自身の情報空間を分割する必要があり得る。  In the latter case, each of the subscribers has a narrower isolated area, for example, depending on the user's affiliation criteria to the specific legal or business activity direction (production, trade and tp) entering the holding May need to divide their information space.

制御は、例えば標準的なPCまたは確立されたソフトウェアプラットフォームを持つサーバ−データアクセスのオブジェクトパラダイムを持つDBMS−を表しているシステムのパラメータが特定のエンティティ「共用属性」を用いて設定されるという事実のおかげで果たされる。オブジェクト指向プログラミングの専門用語でそれはオブジェクトのクラスであり、クラスの各々のコピーはある一定の名称で作成され(かつデバイスのメモリに残り)、このクラスに対して事前に決定されたプロパティおよびメソッドを有する。それと同時に、すべてのオブジェクトプロパティ「共用属性」および、プラットフォームによって提供される他のオブジェクトとのその相互関係は、プログラムコード、リクエストのテキスト、アクセスのポリティシャンなどを書く必要なく、いわゆる「マスタ」を含む、グラフィックインタフェースを用いて設定することができる。  Control is the fact that the parameters of the system, eg representing a standard PC or a server with an established software platform-a DBMS with an object paradigm of data access, are set using specific entity "shared attributes" Thanks to you. In object-oriented programming terminology, it is a class of objects, and each copy of the class is created with a certain name (and remains in the device's memory), and the properties and methods predetermined for this class are Have. At the same time, all object properties “shared attributes” and their interrelationships with other objects provided by the platform make so-called “masters” without having to write program code, request text, access politicians, etc. It can be set using a graphic interface.

デリミタ・メタデータ・オブジェクトのプロパティ。  A property of the delimiter metadata object.
標準的な名称およびタイププロパティに加えて、オブジェクトは以下の特定のプロパティを有する。すなわち、  In addition to the standard name and type properties, objects have the following specific properties: That is,
「厳格な分割」または共用モードは、モードがオンかオフかを示す論理フラグである。  “Strict split” or shared mode is a logical flag that indicates whether the mode is on or off.
「コンテンツ」は、1つまたは数個の分割可能な情報オブジェクトを参照するオブジェクト参照である。  “Content” is an object reference that refers to one or several information objects that can be divided.
「条件付き区切り」は、条件付き区切りがこのデリミタに適用されるかどうか示すフラグを含むオブジェクトを参照するオブジェクト参照である。  A “conditional delimiter” is an object reference that refers to an object that includes a flag that indicates whether a conditional delimiter applies to this delimiter.
「デリミタの使用」は、セッションにおけるデリミタの使用のフラグを含むアクセス制限オブジェクトを参照するオブジェクト参照である。  The “use delimiter” is an object reference that refers to an access restriction object including a flag for use of the delimiter in the session.
「値」は、デリミタの現在値を含むアクセス制限オブジェクトを参照するオブジェクト参照である。  “Value” is an object reference that refers to an access restriction object including the current value of the delimiter.

分割の方法を特徴付ける分割のメカニズムは、データを完全にも部分的にも分割することを可能にする。例えば、任意の情報は、原則として、いくつかの加入者または組織の間で分割を必要とせず、すなわち、すべての組織に対して共有され(銀行または通貨の公式カタログ)、一部の情報は、この特定の組織に対してのみ、個別で、可視で利用可能とするべきである。例えば、組織の銀行口座上の取引についての情報。  The partitioning mechanism that characterizes the partitioning method allows the data to be partitioned completely or partially. For example, any information, in principle, does not require splitting between several subscribers or organizations, ie it is shared for all organizations (bank or currency official catalog) and some information is , Should be made individually, visible and available only to this particular organization. For example, information about transactions on an organization's bank account.

したがって、情報オブジェクトのセットを格納する1つの情報ベースで、(および)情報オブジェクト、分割されない(一般の)情報オブジェクト、1つのデリミタを用いて分割される情報オブジェクトおよび(中で)2つ以上のデリミタを用いて分割される情報オブジェクトが存在し得る。システムで、構成「共用属性」の開発者によって設定される各々のオブジェクトのプロパティに応じて、3つのタイプの各々のオブジェクトの記録への(読み出しに対しても修正に対してもともに)アクセスを保証する一定のルールが設定される。  Thus, in one information base that stores a set of information objects, (and) information objects, non-divided (general) information objects, information objects that are divided using a delimiter, and (in) two or more There may be information objects that are split using delimiters. Depending on the properties of each object set by the developer of the configuration “shared attribute” in the system, access to the records of each of the three types of objects (both for reading and modification) A certain rule to guarantee is set.

構成の開発者が2つのデリミタ、すなわち「加入者(Subscriber)」および「組織(Organization)」を提供したと想定しよう。両方のデリミタは条件付きで含まれる。システムで、厳格な分割のモード(共用モード)が開発者によって設定されるかどうかに応じてデフォルトによるフィルタリングの特定のルールが使用されることになる。  Suppose that the developer of the configuration provided two delimiters: “Subscriber” and “Organization”. Both delimiters are included conditionally. The system will use certain rules of filtering by default depending on whether the strict partitioning mode (shared mode) is set by the developer.

本方法によれば、メタデータの少なくとも2つのオブジェクト−「デリミタ」−が作成される。1つのデリミタで、このデリミタが参照するデータベースの分割可能な情報オブジェクトに対して加えて、定数への参照が指定されると考えられる。定数は同時に条件付き分離のフラグ−「真」または「偽」を含み、前記定数は他のデリミタの一部であり、それ自体分割される。同様にアクセス制限オブジェクト(「セッションパラメータ」と呼ばれる)が作成される−それらはデリミタの現在値を格納するために使用されることになる。データベースの分割情報オブジェクトにおけるデータ記録の間に、対応するカラムデリミタにこのデリミタの値を書き込み、さらにリクエストの生成時にこの値に対するフィルタリングを行うことができる。  According to the method, at least two objects of metadata— “delimiters” —are created. One delimiter is considered to specify a reference to a constant in addition to the information object that can be divided in the database to which this delimiter refers. Constants simultaneously contain conditional separation flags— “true” or “false”, which are part of other delimiters and are themselves split. Similarly, access restriction objects (called "session parameters") are created-they will be used to store the current value of the delimiter. During data recording in the division information object of the database, the value of this delimiter can be written into the corresponding column delimiter, and further filtering can be performed on this value when generating a request.

そのうえ、データベースに、分割情報オブジェクトに加えて一般的なアクセスを持つオブジェクトが存在し、セッションのパラメータおよび条件付き分割のフラグの状態に依存せず、少なくとも、読み出し動作の遂行に対して、オブジェクトはすべてのユーザに利用可能である。ユーザ認証の後のセッションの始めに、非分割オブジェクトからのすべての記録、および同様に、条件付き分割のフラグの値、対応するデリミタの値および対応するデリミタの使用のフラグを考慮に入れ、上述のルールによる厳格な分割のモードが含められるかスイッチを切られるかどうかを同様に考慮に入れて行われるフィルタリングを用いて選択される、分割情報オブジェクトからの記録が最後まで提供される。  In addition, there is an object in the database that has general access in addition to the partition information object, and the object does not depend on the state of the session parameter and the conditional partition flag, at least for the performance of the read operation. Available to all users. At the beginning of the session after user authentication, taking into account all records from the non-split object, and similarly the flag value of the conditional split, the corresponding delimiter value and the corresponding delimiter usage flag, A record from the split information object is provided to the end, selected using filtering that also takes into account whether a strict split mode according to this rule is included or switched off.

一定の記録の利用可能性への影響以外に厳格な分割のモードが記録への一意な識別子の割当に同様に影響を与えることは留意されるべきである。厳格な分割のモードが含まれる場合、分割情報オブジェクトのそれぞれの隔離された領域の中だけで記録の識別子の一意性が提供される。指定された特徴のおかげで、例えば、ある一定の段階で分割される2つのデータセットの全体的な起源を確定し、そして再び同一の識別子を有するオブジェクトの形で二重を排除して、これらの2つのセットをマージする機会がある。分割およびマージのメカニズムは、しかしながら、この説明を越えている。  It should be noted that besides the impact on the availability of certain records, the strict partitioning mode affects the assignment of unique identifiers to records as well. If a strict split mode is included, the uniqueness of the record identifier is provided only within each isolated area of the split information object. Thanks to the specified features, for example, determine the overall origin of two datasets that are split at a certain stage, and again eliminate these duplicates in the form of objects with identical identifiers. There is an opportunity to merge the two sets. The split and merge mechanism, however, goes beyond this explanation.

条件付き分割は、デリミタの一部である構成の各々のオブジェクトに対して設定することができる。すべてのオブジェクトではなく条件付き分割が構成されるオブジェクトの分割だけがこの場合止められることになる。  Conditional partitioning can be set for each object in the configuration that is part of the delimiter. Only the partitioning of objects for which conditional partitioning is configured instead of all objects will be stopped in this case.

実施例
定数を使用する条件付きデータ分割の実施形態。
An embodiment of conditional data partitioning using example constants.

開発者が顧客および棚卸資産会計の主目的で適用ソリューションを著作したと想定する。とりわけ、適用ソリューションは、2つのデータ記憶域エンティティ、すなわち、商品(Goods)カタログおよび契約業者(Contractors)カタログを含む。   Assume that a developer has written an applicable solution for the primary purpose of customer and inventory accounting. In particular, the application solution includes two data storage entities: a Goods catalog and a Contractors catalog.

ソリューションはローカルな「デスクトップ」モードのための既製品であったが、それは今、クラウド・ウェブサービス・モードに適合される必要がある。少なくとも2つの加入者がソリューションへのオンラインアクセスを許可されることになり、加入者の各々は、その系列機構のうちの少なくとも2つのために会計記録を保持することになると予想される。   The solution was off-the-shelf for the local “desktop” mode, but it now needs to be adapted to the cloud web service mode. It is expected that at least two subscribers will be granted online access to the solution and each subscriber will maintain accounting records for at least two of its affiliates.

2つの加入者が存在し、各々が多数の系列会社のために会計記録を保持すると想定する。加入者およびそれらの対応する系列会社の任意のリストが下に表される。   Assume that there are two subscribers, each holding accounting records for multiple affiliates. An optional list of subscribers and their corresponding affiliates is represented below.

加入者(Subscriber)A
−会社(Company)1、
−会社(Company)2。
加入者(Subscriber)B
−会社(Company)3、
−会社(Company)4、
−会社(Company)5。
Subscriber A
-Company 1,
-Company 2.
Subscriber B
-Company 3,
-Company 4,
-Company 5.

すべての組織に対するデータは、2つのカタログ、すなわち、契約業者(Contractors)および商品(Goods)で、単一のインフォベースに格納される。しかしながら、最も一般的な場合、ある一定の組織のユーザは、ただこの特定の組織の記録へのアクセスを有さなくてはならない。   Data for all organizations is stored in a single infobase with two catalogs: Contractors and Goods. However, in the most general case, a user of a certain organization must only have access to this particular organization's records.

組織(Organization)1および組織(Organization)2は同じ所有者によって系列下にされ管理されるので、加入者(Subscriber)Aは組織(Organization)1および組織(Organization)2が全体の商品(Goods)カタログへのアクセスを有することを望むとさらに想定される。したがって、組織(Organization)3、4および5は、それらのそれぞれのデータ領域に完全に隔離されなければならず、一方組織(Organization)1および2ならびに加入者(Subscriber)Aグループによって後に登録され制御される任意の他の組織は、商品(Goods)カタログへの共用アクセスを有し加入者(Subscriber)Aの商品に関するすべての記録を見ることが可能でなければならない。同時に、契約業者(Contractors)カタログのデータ領域は、それらがどの加入者に属するかにかかわらず、組織によって厳密に切り離されたままである。   Since Organization 1 and Organization 2 are affiliated and managed by the same owner, Subscriber A has Organization 1 and Organization 2 as the entire product (Goods). It is further assumed that one wishes to have access to the catalog. Therefore, Organizations 3, 4 and 5 must be completely isolated in their respective data areas, while later registered and controlled by Organizations 1 and 2 and Subscriber A group. Any other organization that must be able to have shared access to the Goods catalog and be able to see all records related to Subscriber A's goods. At the same time, the data areas of the Contractors catalog remain strictly separated by the organization, regardless of which subscriber they belong to.

2つのデリミタが作成され、デリミタの各々は両方のカタログ「契約業者(Contractors)」および「商品(Goods)」を参照し、第2のデリミタに対して、条件付き分割は、セッション内の定数Split_Goodsの利用可能な値(「真」または「偽」)に依存して、構成される。この場合定数Split_Goodsは、加入者(Subscriber)によって分割され、すなわち各々の加入者(Subscriber)に対して特定の値を有する。そして必要とされる効果の達成のために、加入者(Subscriber)Aに対して値は「真」に設定され、加入者(Subscriber)Bに対して値は「偽」に設定されなければならない。  Two delimiters are created, each of which refers to both catalogs “Contractors” and “Goods”, and for the second delimiter, the conditional split is the constant Split_Goods in the session. Depending on the available value (“true” or “false”) of In this case, the constant Split_Goods is divided by the subscribers, i.e. has a specific value for each subscriber. And to achieve the required effect, the value must be set to “true” for subscriber A and the value must be set to “false” for subscriber B. .

発明の独立請求項で列挙された特徴の組合せは、特許請求された技術的な結果の達成のために十分である。 The feature combinations recited in the independent claims are sufficient for achieving the claimed technical results.

著者らは、特許請求されたソリューションが発明特許性のすべての基準を満たすと確信する。   The authors are convinced that the claimed solution meets all the standards of invention patentability.

Claims (7)

単一データベースに格納された情報オブジェクトを分割する自動化された管理の方法であって、
−デリミタとして使用される少なくとも1つの「共用属性」メタデータオブジェクトを予め作成するステップであって、前記「共用属性」メタデータオブジェクトは少なくとも1つの分割情報メタデータオブジェクトへの参照および前記デリミタに対する値のソースを格納する、ステップと、
−少なくとも1つの分割メタデータオブジェクトで前記「共用属性」がどのように使用されるかを定義する前記「共用属性」のためのパラメータを設定するステップと、
−さまざまな分割情報オブジェクトにアクセスする必要があるテナントおよび/またはテナントグループのIDを格納し、前記現在のデリミタ値を同様に格納する、「セッションパラメータ」と名付けられた前記メタデータオブジェクトを指定するステップと、
−データベースセッションが始まるとき特定のテナントおよび/またはテナントグループを識別し各々のデリミタ・メタデータ・オブジェクトに対する前記現在値を定義するステップと、
−各々のテナントおよび/またはテナントグループに、追加された「共用属性」を備えたメタデータオブジェクトを含む隔離されたデータ領域を割り当てるステップと、
−前記「共用属性」メタデータオブジェクトが追加される分割情報オブジェクトにデータを書き込むとき、対応するカラムに前記「共用属性」値を書き込むステップと、
−特定のテナントおよび/またはテナントグループに割り当てられた前記データ領域からデータを取得するためのクエリを生成するステップと、
を含む、方法。
An automated management method for dividing information objects stored in a single database,
Pre-creating at least one “shared attribute” metadata object to be used as a delimiter, wherein the “shared attribute” metadata object is a reference to at least one split information metadata object and a value for the delimiter; Store the source of the steps, and
-Setting parameters for the "shared attributes" that define how the "shared attributes" are used in at least one split metadata object;
-Specify the metadata object named "Session Parameter" that stores the IDs of tenants and / or tenant groups that need access to the various partition information objects and stores the current delimiter value as well Steps,
-Identifying a specific tenant and / or tenant group when a database session begins and defining the current value for each delimiter metadata object;
-Assigning each tenant and / or tenant group an isolated data area containing metadata objects with added "shared attributes";
Writing the “shared attribute” value in the corresponding column when writing data to the split information object to which the “shared attribute” metadata object is added;
Generating a query for retrieving data from the data area assigned to a particular tenant and / or tenant group;
Including a method.
前記作成された「共用属性」は、前記「共用属性」パラメータに含まれる「自動使用」プロパティが「使用」に設定される場合、すべての新しく作成された構成オブジェクトと同様にすべての既存の構成オブジェクトに自動的に追加される、請求項1に記載の方法。   The created “shared attribute” is the same as all newly created configuration objects as well as all newly created configuration objects when the “automatic use” property contained in the “shared attribute” parameter is set to “used”. The method of claim 1, wherein the method is automatically added to an object. 前記属性は、前記「共用属性」パラメータに含まれる前記「自動使用」プロパティが「不使用」に設定される場合、前記属性は構成オブジェクトに自動的に追加されず、前記デリミタを追加する必要があるオブジェクトは、前記デリミタの「コンテンツ」プロパティを使用して選択される、請求項1に記載の方法。   The attribute is not automatically added to the configuration object when the “auto use” property included in the “shared attribute” parameter is set to “not used”, and the delimiter needs to be added. The method of claim 1, wherein an object is selected using the “content” property of the delimiter. 単一データベースに格納された情報オブジェクトを分割する自動化された管理の方法であって、
−デリミタとして使用される少なくとも2つの「共用属性」メタデータオブジェクトを予め作成するステップであって、各々のオブジェクトは少なくとも1つの分割情報メタデータオブジェクトへの参照および前記デリミタに対する値のソースを格納する、ステップと、
−別のデリミタそれ自体の一部である、条件付き分割フラグ、「真」または「偽」を含む分割可能な定数への参照を、前記分割情報オブジェクトを参照する前記デリミタに含めるステップと、
−さまざまな分割情報オブジェクトへのアクセスを許可される必要があるテナントおよび/またはテナントグループのIDを格納し、前記現在のデリミタ値を同様に格納する、「セッションパラメータ」と名付けられた前記メタデータオブジェクトを指定するステップと、
−データベースセッションの開始にあたり特定のテナントおよび/またはテナントグループを識別し、したがって各々のデリミタに対する前記値を定義するステップと、
−各々のテナントおよび/またはテナントグループに隔離されたデータベースを割り当てるステップであって、前記データベースは、メタデータオブジェクトを含み、前記「共用属性」値および前記条件付き分割フラグによるフィルタリングを用いて各々のテナントおよび/またはテナントグループのためのデータ領域を割り当てるために使用される、ステップと、
−前記デリミタによって参照される分割情報オブジェクトにデータを書き込むとき、対応するデリミタカラムに前記デリミタ値を書き込むステップと、
−特定のテナントおよび/またはテナントグループに割り当てられた前記データ領域からデータを取得するためのクエリを生成するステップと、
を含む、方法。
An automated management method for dividing information objects stored in a single database,
Pre-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 values for said delimiters; , Steps and
Including in the delimiter referring to the split information object a reference to a splittable constant comprising a conditional split flag, “true” or “false”, which is part of another delimiter itself;
The metadata named “session parameter”, which stores the IDs of tenants and / or tenant groups that need to be allowed access to various partition information objects and stores the current delimiter value as well; A step to specify the object;
Identifying a particular tenant and / or tenant group at the start of a database session and thus defining said value for each delimiter;
Assigning an isolated database to each tenant and / or tenant group, said database comprising metadata objects, each filtered using said “shared attribute” value and said conditional split flag Steps used to allocate data space for tenants and / or tenant groups;
Writing the delimiter value in a corresponding delimiter column when writing data to the split information object referenced by the delimiter;
Generating a query for retrieving data from the data area assigned to a particular tenant and / or tenant group;
Including a method.
前記データベースは、前記分割情報オブジェクトの他に、前記セッションパラメータおよび前記条件付き分割フラグ値にかかわらず、少なくとも読み出し動作のために、すべてのテナントによってアクセス可能である、少なくとも1つの共用オブジェクトを含む、請求項4に記載の方法。   The database includes, in addition to the partition information object, at least one shared object that is accessible by all tenants for at least a read operation regardless of the session parameter and the conditional partition flag value. The method of claim 4. 前記「共用属性」オブジェクトは、前記2つの値、「真」または「偽」のうちの少なくとも1つを有し得る共用モードで分割データが使用され得るかどうかの指示とともに、前記「共用属性」オブジェクトのコンテンツおよび値を含み、前記データベースセッションが始まるときテナントおよび/またはテナントグループが識別され現在のセッションパラメータが設定される、請求項4に記載の方法。   The “shared attribute” object includes the “shared attribute” along with an indication of whether split data can be used in a shared mode that may have at least one of the two values, “true” or “false”. 5. The method of claim 4, comprising object content and values, wherein a tenant and / or tenant group is identified and current session parameters are set when the database session begins. 前記共用モードが「真」に設定されこれらのテナントが前記データベース内の情報オブジェクトを呼び出す場合、少なくとも読み出し動作に対して、デリミタ値のプログラム制御されたセットに応じて、現在のセッションパラメータは無視され分割情報オブジェクト内のエントリのランダムなセットにアクセスが許可される、請求項6に記載の方法。   When the sharing mode is set to “true” and these tenants call information objects in the database, the current session parameters are ignored, at least for read operations, depending on the program-controlled set of delimiter values. The method of claim 6, wherein access is granted to a random set of entries in the split information object.
JP2017523361A 2014-10-30 2015-10-22 Management method of dividing information objects stored in a single database Pending JP2017534987A (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 (1)

Publication Number Publication Date
JP2017534987A true JP2017534987A (en) 2017-11-24

Family

ID=55857912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017523361A Pending JP2017534987A (en) 2014-10-30 2015-10-22 Management method of dividing 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113103A (en) * 2009-11-24 2011-06-09 Hitachi Ltd Multi-tenant type computer system

Family Cites Families (9)

* 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
CN100433012C (en) * 2006-02-27 2008-11-12 华为技术有限公司 Data configuration system and method for implementing data configuration
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
CN101777047A (en) * 2009-01-08 2010-07-14 国际商业机器公司 System, equipment and method for accessing database under multiple-tenant environment
US8819068B1 (en) * 2011-09-07 2014-08-26 Amazon Technologies, Inc. Automating creation or modification of database objects
US9542432B2 (en) * 2011-09-30 2017-01-10 Oracle International Corporation Systems and methods for multitenancy data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113103A (en) * 2009-11-24 2011-06-09 Hitachi Ltd Multi-tenant type computer system

Also Published As

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

Similar Documents

Publication Publication Date Title
US11604791B2 (en) Automatic resource ownership assignment systems and methods
US20180060054A1 (en) Cloud-based application resource files
US9703834B2 (en) Topological query in multi-tenancy environment
US8813250B2 (en) Access control program, system, and method
US20130311598A1 (en) Cloud-based data item sharing and collaboration among groups of users
US20130311597A1 (en) Locally backed cloud-based storage
US9069448B2 (en) Filtering objects in a multi-tenant environment
US10831921B2 (en) System and methods for providing query-based permissions to data
US9275112B2 (en) Filtering views with predefined query
CN110018989A (en) A kind of method and apparatus that snapshot compares
US11514186B2 (en) Integrated database user privilege management
US8135689B2 (en) Performance optimized retrieve transformation nodes
JP2017534987A (en) Management method of dividing information objects stored in a single database
US8095970B2 (en) Dynamically associating attribute values with objects
US11966485B2 (en) Property-level visibilities for knowledge-graph objects
JP2004303051A (en) Data management method, data management device, information processor, and telecommunication network system
US9767313B2 (en) Method for automated separation and partitioning of data in a payroll and resource planning system
BE1024521A9 (en) DATABASE GUARANTEED THROUGH HIS DESIGN PRIVACY AND METHODS WITH THIS DATABASE
EP2815331A1 (en) Topological query in multi-tenancy environment
CN117633752A (en) Data access control method and system based on object attribute matching
JP2024085961A (en) Information Processing Method
KR101368014B1 (en) Method of creating dynamic query, server performing the same and storage media storing the same

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20170627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190326

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200303