WO2012168570A1 - Method and system for managing data shared between separate management sites - Google Patents

Method and system for managing data shared between separate management sites Download PDF

Info

Publication number
WO2012168570A1
WO2012168570A1 PCT/FR2012/000217 FR2012000217W WO2012168570A1 WO 2012168570 A1 WO2012168570 A1 WO 2012168570A1 FR 2012000217 W FR2012000217 W FR 2012000217W WO 2012168570 A1 WO2012168570 A1 WO 2012168570A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
site
local
database
master
Prior art date
Application number
PCT/FR2012/000217
Other languages
French (fr)
Inventor
Thomas PEUGEOT
Denis BOIRON
Original Assignee
Cassidian Sas
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 Cassidian Sas filed Critical Cassidian Sas
Publication of WO2012168570A1 publication Critical patent/WO2012168570A1/en

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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details

Definitions

  • the present invention generally relates to a method and system for managing data shared between at least two separate management sites. More particularly, the invention relates to a method of managing a set of shared data that is accessible by several applications executed in at least two separate management sites forming the data management system.
  • shared data data that is accessible in writing and reading in at least one database by different applications running on the sites of an information system.
  • Such an information system comprises a database located on a first site considered as the main site.
  • the main site includes a first application for example running in a first user terminal and which connects locally to the database.
  • Applications from other sites remotely connect to the main site database.
  • remote connection is meant here that each site, geographically distinct, is connected to the other sites by a connection via communication networks.
  • Such an information system is considered as integrated when for the same data accessible by several terminals on separate sites, by means of applications, the value of said shared data remains consistent. Indeed, in this case, shared data is only writable by one application at a time in the database. There is no multiple access conflict to the data.
  • Synchronous replication between two databases is a database update during a modification of a database.
  • Asynchronous duplication of data shared between two databases includes execution and validation of a transaction on
  • the sharing of data between different sites of a multi-site information system requires compliance with the requirements of shared data integrity, the robustness of the system in the face of a partial or general failure of the communication between the different sites and the performance of the information system.
  • the object of the invention is to overcome some or all of the disadvantages of the prior art.
  • the invention proposes a method for managing data shared between several sites of the same information system each comprising a database. Each site locally handles write access to a separate portion of the set of shared data stored in the information system databases.
  • a method makes it possible to manage data stored in at least two databases respectively contained in two distinct sites belonging to the same network, said datum being associated with a write access state managed by a master site, said data being shared in read and write by applications implemented on terminals of each site, and said data being able to be requested for a write operation by an application of a local site.
  • the method comprises the following steps:
  • the data management system manages database integrity conflicts by managing the write access status to each data via a specific master site for each data item.
  • This master site thus makes it possible to avoid simultaneous multiple access to data shared by several applications implemented on terminals of the master site or remote sites.
  • access to data means the possibility of reading the data and / or performing a write operation on the data in the databases.
  • Data is associated with an access state. If the data is writable, the associated access state is then in the accessible state. If the write access to the data is locked, the access state is then in the locked state.
  • the master site may be the local site or may be a site separate from the local site.
  • the local site is distinct from the master site.
  • the local site communicates with the master site to command the master site to perform the steps of verifying the state of access to the data and locking, unlocking the write access to the data.
  • the method then comprises, before the processing of the operation, a command of a first update of the data in the database of the local site by duplication of the data stored in the database of the master site.
  • the method also comprises, after the processing of the operation, a command for a second updating of the data in the database of the master site by duplication of the data stored in the database of the local site.
  • double local and remote database updates controlled by the local site provide consistent data in both databases before and after processing the operation on the data.
  • the master site When the master site is separate from the local site and upon detection of a communication failure between the local site and the master site by the local site, the shared data whose write access state is managed by the master site is only readable in the local site database. If the write access to the data has been locked in the master site, the local site stores an access unlock command writing to the data to be transmitted to the master site as soon as the communication between the two sites is again established. If prior to the detection of the failure, the operation on the data was performed in the local site database and the second update was not executed between the two databases, the local site commands a cancellation of the operation on the data in the database of the local site.
  • the data management system executing the method according to the invention is robust.
  • the local site can read and write access to the local database data to which it manages the write access status, that is to say for these said data the local site is the master site.
  • the local site reads the other data.
  • the local site operates in degraded mode.
  • the local site is the master site.
  • a set of data stored by duplication in the two databases is formed of disjoint data groups, one of the groups comprising said data, the state of write access to each data of a group of data being managed by one of the two sites.
  • the access state to the data is verified in the master site by means of an access table matching an identifier of the data to a token when the write access to the data is in the locked state and deletes the token when the write access to the data is in the accessible state.
  • the invention also relates to a data management system managing at least one piece of data stored in at least two databases respectively contained in two distinct sites belonging to the same network and forming said data management system, said datum being associated with a data storage system.
  • write access state managed by a master site said data being shared in read and write by applications implemented on terminals of each site, and said data item being able to be requested for a write operation by an application of a local site.
  • the system includes: means for verifying the state of write access to the data in the master site,
  • the invention also comprises a management site able to manage data stored in at least two separate databases respectively located in two separate sites forming a data management system, the data management site being able to implement the data management system. process according to the invention.
  • the invention also comprises a computer program adapted to be implemented in a data management site, said program being characterized in that it comprises instructions which, when the program is executed in the data management site. , perform steps of the method according to the invention.
  • FIG. 1A schematically shows a shared data management system, according to one embodiment of the invention
  • FIG. 1 B schematically shows a management site included in a shared data management system, according to one embodiment of the invention
  • FIGS. 2 to 4 are functional diagrams of the data management method, in normal operating mode of the system, according to one embodiment of the invention.
  • FIG. 5 is a functional diagram of the data management method, in degraded operating mode of the system, according to one embodiment of the invention.
  • Figure 1A is an architecture of a simplified multi-site data management system in which some elements and functional entities are represented, all of which are logical units whose implementation may differ from what is shown.
  • the connections shown in Figure 1 are logical connections, the current physical connections may be different.
  • the systems also include other functions and structures. It should be considered that the functions, structures, elements and protocols used in or for communications in the data management system are not relevant to the current invention. Therefore, they do not need to be described in more detail here.
  • an SG data management system is for implementing a shared data management method according to the invention.
  • the data management system comprises N geographically distinct management sites: ST- ⁇ to STN, with the index N being an integer greater than or equal to two.
  • shared data is meant data that is accessible by the applications of all sites in the management system.
  • Each site ST n with 1 ⁇ n ⁇ N, comprises at least one terminal T n made available to a user and implementing one or more applications.
  • Each site T n also includes an access interface
  • the AI n access interface is connected to a server token SJ n.
  • the token server is able to manage write access states of part of the data of the local database BD n .
  • such data is associated with a write access state that indicates the readability of the data. If the data is writable, the write access state is then in the accessible state. If the write access to the data is locked, then the write access state is in the locked state.
  • the term write access status is also written access state in the following description.
  • Each ST site n comprises a communication interface (not shown) for communicating with each other via a communication network R, wired or wireless, such as a WAN ("Wide Area Network" in English) or a LAN (" Local Area Network "in English) using for example the internet protocol IP.
  • the network R can be a secure network.
  • each ST n site can communicate with the other sites of the data management system via the network R.
  • All these units A n , T n , IA n , SJ n and BD n are represented in the form of functional blocks, most of which perform functions relating to the invention and can correspond to software and / or hardware modules.
  • each site ST n may more particularly comprise a control unit UC n connected to a terminal T n of the site via a communication interface IC n included in FIG. UC unit n .
  • the communication interface IC n also makes it possible to communicate with the communication interfaces of the other sites via the network R.
  • the control unit comprises at least one microprocessor Ml n , a set of memories ME n and the database BD n .
  • the access interface IA n and the token server SJ n are considered as software modules and are distributed in the set of memories ME n .
  • the memories may be volatile or nonvolatile memories, for example EEPROM, ROM, PRM, RAM, DRAM, SRAM, firmware, programmable logic and typically store contents, data or the like.
  • the memories can store computer program codes, for example the program codes of the operating systems.
  • the memories can be for example random access, or a hard disk, or a combination of these means.
  • the memories can be removable or detachable memories connected to the control unit.
  • the database may be embedded in the control unit UC n , or be independent in the form of a database management server (not shown in Fig. 1B) which is connected to the control unit with or without wire.
  • the database may include a processing unit for executing including updates of data and one or more memories for storing the shared data.
  • the communication interface IC n may comprise one or more reception units for receiving different input data and one or more sending units for sending different output data, the data being control information, requests and responses, for example.
  • the receiving unit and the sending unit comprise a transmitter and / or a receiver or corresponding means for transmitting and receiving information and performing the necessary functions so that the contents, the control information, etc. can be received and or transmitted.
  • the receiving and transmitting units may comprise a set of antennas, the number not being limited to a particular number.
  • the local site ST n can communicate with at least one remote site STd, with 1 ⁇ d ⁇ N and d ⁇ n, also belonging to the data management system SG, during the execution of the method according to the invention.
  • the memories of databases BDi to BDN of the data management system SG comprise part or all of the same set of K distinct data, hereinafter described in the description, shared data Dj to D
  • each data is associated with a unique data identifier, such as a unique data storage address in the databases or a unique value related to the data.
  • are disjointly grouped into groups of data. The same data is stored in only one data group.
  • Each database contains some or all of the different groups of data. In each local database BD n , among the groups of data stored some groups are considered as groups of master data and are identified as such. in the database, the other groups being considered slave data groups and also being identified as such in the database. Master data groups are distinct from one database to another.
  • a master data group in a local database BD n is a group of data whose access state associated with each data item of the group is managed locally by the local token server SJ n - Alternatively a state of Access associated with the master group itself can be stored in the local token server.
  • the data group is considered as a master data group in a database and as a slave data group in the other databases of the multi-site data management system.
  • One of the system databases may include only slave data groups.
  • the local site corresponds to the master site of said data.
  • a write access to a data of a master data group in the local database BD n does not require an update of the
  • Data from a master data group in the local database is considered to be always up to date.
  • a slave data group in the local database BD n is a group of data whose write access status associated with each
  • the group data is managed in a remote master site separate from the local site.
  • a remote master site managing the access states associated with the data of a slave data group of the local database may be different from another remote master site managing the access states associated with the data of another group slave data from the database
  • a remote master site STd includes a remote token server SJd for storing the access state associated with each data of the remote master data group corresponding to a slave data group of the local database.
  • a remote master site STd also includes a database, called remote database BDd, storing in part or all of the same data groups as the local database, in particular the data of said remote master data group.
  • Access to a data of the slave group in the local database BD n by the local access interface IA n requires zero, one or two updates of the shared data, depending on the type of access, by duplication data between the slave data group stored in the local database BD N and the corresponding remote master data group stored in the remote database BDd-
  • Tn terminal means a workstation such as a laptop, an e-book, a smartphone, a personal computer, a microcomputer, a digital personal assistant or a device embedded in a computer. a vehicle.
  • the terminal Tn comprises one or more local applications A n able to connect to the local access interface IA n to request access to shared data.
  • An application A n can be an application operating on shared data stored in databases BDi to BDN of the data management system SG.
  • One or more applications Ai to AN form, for example, management software for a multi-site library comprising groups of subscribers, groups of books and groups of authors on several sites.
  • the applications Ai to A can also correspond to a human resources management software of a large company implanted on several sites. These applications access a set of databases in which groups of employees, groups of managers, business groups, project groups, etc. are registered.
  • the operations requested by a local application A n to be performed on shared data imply read or write access to the data in the local database BD n .
  • the write access to the data may correspond to either a data modification operation, a data deletion operation or a data creation operation in a master or slave data group of the data base.
  • local data BD n Depending on the required operation and depending on the type of master or slave group including the shared data, access to the data implies different management by the local access interface IA n .
  • the data When reading the data in a master or slave group, the data is considered to be still readable. Before the read operation of the data belonging to a slave data group, an update of the data can be executed between the local database BD n and the remote database BDd storing the corresponding master data group.
  • the write access to the data in all the databases is previously set to the locked access state for the other applications of the system SG. Locking the write access to the data makes it possible to avoid multiple data access conflicts in the various databases of the system.
  • the write accesses respectively to all the data of the data group including the data to be deleted in all the databases are previously set to locked access status for other SG system applications. Locking write access or group data respectively prevents multiple data access conflicts in different databases.
  • the write access to a new unique data identifier to be associated with the data to be created in all the databases is previously set the locked access state for other applications of the SG system to avoid any conflict of uniqueness of the data.
  • the local access interface IA n analyzes the operation required by the local application A n and the data or data concerned by the operation.
  • the local access interface IA n checks via the local token server SJ n write access state associated with the shared data, the data belonging to either a master data set is a data group of slave the local database BD n .
  • the access interface IA n controls the locking and then the unlocking, once the operation is over, access to the data item or the associated data group. for other applications of the SG system.
  • the local token server executes the lock / unlock command of the access interface either locally or by calling a remote token server. If the data belongs to a slave data group, the local access interface IA n controls one or two updates, depending on the type of access, of the local and remote databases. The updates between the two databases are executed in a known manner. For example, a first database transmits a modified data log to a second database that duplicates the changed data and stores it by overwriting the original data. These updates ensure consistent data across all databases.
  • the local access interface IA n can periodically control the updating of the slave data groups contained in the local database BD n in order to avoid a too great divergence in time between the databases of the system SG.
  • it is the processing unit of the local database that controls and executes the update of the slave data groups.
  • local access interface IA n Upon detection of the degraded mode of the SG system, due to failure of the SG system, local access interface IA n makes it impossible or cancel any operations on data slave groups if such transactions have not been in remote databases that contain the corresponding master data groups. Then, the access interface IA n controls the unlocking of the access to the data of slave groups that were previously locked. These unlocking operations will be performed as soon as the link is restored.
  • the local token server checks SJ n if data from a master data group is accessible.
  • the local token server runs the locking / unlocking access to this data.
  • write access to shared data belonging to a master data group of the local database is locked when the access state associated with the data is stored in the locked state. More particularly, the locked state corresponds to a lock, also called token, associated with the data in the local token server SJ n .
  • the write access to the shared data belonging to a master data group of the local database is accessible when the access state associated with the data item is stored in the state accessible, that is, the data is not associated with a token.
  • An access state may also be associated with a local master data group in the local token server, a locked access state being considered the same for all data in the local master data group, with each group data being associated to a token.
  • the storage of the access state associated with data in a local token server is performed in a local token table TJ n .
  • the local token table TJ n matches each unique identifier of shared data belonging to a master data group of the local database BD n to a token, if the write access to the data is in the locked state.
  • the write access to said data is considered to be accessible.
  • the server matches all group data to a token, respectively, if the write access to the data group is in the state Locked.
  • a unique data identifier may be matched to a type of token depending on the operation being processed on the shared data.
  • a token referred to as a modification token, is matched to a data identifier to be modified. In this case, the write access to the data is in the locked state for modification.
  • a token called the delete token, is matched to a data group identifier in which at least one data item is to be deleted. In this case, the write access to each data item in the group is in the locked state.
  • a token, said creation token is matched to a data identifier to be associated with the data once it has been created.
  • the token table TJ n only includes the identifiers of the data or group of master data each matched to a type of token as previously described and whose write access to the data is in the locked state. For data identifiers belonging to groups of master data not present in the table, write access to said data is considered to be unlocked and is in the accessible state.
  • the local token server uses the remote token server which manages the state of the data. access associated with said data.
  • the remote token server also includes a token table.
  • a failure of the SG system is detected by the local token server SJ n when it can not communicate with a remote server chip.
  • a failure of the system SG is detected by the local database BD n when it can not communicate with a remote database.
  • it is the communication interface of the local site that detects a failure of the SG system when it can not communicate with another communication interface of a remote site. The local site then enters degraded mode and only the data belonging to the master data groups can be read and read by the local applications. Data belonging to slave data groups in the local database and whose write access status can not be verified is only readable.
  • RA Depending on the data and / or the operation to be performed on the data of the accessibility rules called RA in the following description may also be associated with the data. These rules must be satisfied to consider the data as accessible. If the accessibility rule associated with the data is satisfied and access to the data is not in the locked state, the data is deemed accessible. On the contrary, if the data is in the accessible state and the associated accessibility rule is not satisfied then the data is deemed not accessible.
  • An example of an accessibility rule RA concerns links established or potentially to be established between data of different groups. These rules make it possible to prevent data related to another data item from the same group or from another data group is deleted, which may result in a database consistency issue.
  • Accessibility rules can also prevent the deletion or modification of certain data when a specific management site or any one is in degraded mode.
  • Accessibility rules can be, for example, applied in a system managing relational databases. These accessibility rules can be stored in a TR rules table that matches each rule to a unique data or data group identifier.
  • the rule table TR can be stored in each access interface of the system SG. To verify the accessibility of shared data, the local access interface must check whether the data is associated with a token and whether the rule associated with the data is satisfied.
  • each local site ST n can include a location table.
  • the location table matches each identifier of groups of data stored in the local database with the identifier of the corresponding master site. This site identifier corresponds for example to a site network address.
  • the location table can be stored in the local access interface IA n . Alternatively, the location table can be stored also in the local token server. In another variant, the location table TL is stored in any entity of the system SG, for example the communication interface or the local database, making it possible to inform on the identity of a site paired with a group of data. master.
  • the functional diagrams AG1, AG2 and AG3 represent the steps of the method of managing shared data D belonging to a data group G m in the local database BD n , in normal operation of the system SG.
  • Functional diagrams AG1, AG2 and AG3 are implemented in each site of the SG system.
  • the functional diagram AG1 illustrated in FIG. 2 more particularly comprises the steps of the method according to the invention during a request for read access to a datum of the local database BD n .
  • the functional diagram AG1 comprises the main steps E1-1 to E1-15.
  • a local application A n requests access to shared data at the local access interface IA n . So the application An transmits to the local access interface IA n a DOP operation request (ld-D) on a data item D identified by the unique identifier Id-D.
  • the local access interface IA n analyzes the request and checks whether the requested DOP operation request requires access to the data read - referenced "READ" in Fig 2 - or writing. If the operation requires write access to the data, the method is executed according to the steps of the functional diagram AG2 described later with reference to FIG. 3. If the operation requires read access to the data, the interface IA access n checks in step E1 -3, whether the data D belongs to a master data group - referenced GM n in Figure 2- or a group of data slave. This verification is, for example, performed using the local database in which the membership of the data is defined to a data group slave or master. Alternatively, the verification can be done according to the location table. If the identifier of the data group with the data is matched to the local site identifier then the group is considered a master group. Otherwise, the group is considered a slave group.
  • step E1-3 if the data belongs to a slave data group, the access interface checks, in step E1-4, whether the last update of the data between the local database BD n and the remote database BDd, including the master group corresponding to said slave group, was controlled by the local access interface IA n .
  • a UD-D indicator also called "flag" in English, associated with the data D in the access interface IA n , is set to 1 as soon as the update of the data D, commanded through the local access interface, has been executed.
  • a message notifying the update of the data or the slave data group is sent from the site having ordered the last update to the other remote sites respectively containing the databases storing the data group defined as slave.
  • each receiving site sets the corresponding UD-D flag to zero, thereby indicating that the last update of the data D has not been commanded by the access interface of the site.
  • the access interface of each site comprises a table matching a UD-D indicator to the unique identifier of a data item D.
  • the update is executed in a known manner between the two databases.
  • the access interface IA n transmits an update request DU (Id-D, Id-STd) to the local database BD n at step E1 -5.
  • the request D1 comprises the identifier Id-D of the data D and the identifier Id-STd of the remote master site Td comprising the remote database BDd, the identifier Id-STd being able to be stored in the location table.
  • step E1-6 After retransmitting the update request DU (ld-D) from the local database to the remote database, in step E1-6, updating the data D or the associated data group stored in the remote database to the local database, is executed in step E1 -7.
  • updating a datum or a group of data from a first database to a second database is performed by transmitting a data log listing only the differences between the two databases. data base. Data that has not been changed in one of the databases is not updated in the other database. Data that has been changed between the two databases is updated by duplicating the data in one of the two databases to be stored in the other database.
  • an update response RU (ld-D) in step E1-8, is transmitted from the local database to the local access interface.
  • step E1 -9 the local access interface takes into account that it is the initiator of the last update of the data item D, for example by setting the indicator UD-D to one, and informs the other remote sites respectively containing the databases storing the data group defined as slave.
  • step E1 -10 if the data belongs to a master data group according to step E1-3, or if data D belongs to a data group slave and the local access interface has ordered the last update of the data according to step E1 -4 or step E1-9, then the local access interface informs, the local application that the data D is readable.
  • the access interface IA n transmits a ROP operation response (OK, Id-D) to the application A n , identifying the data by its identifier Id-D.
  • the application A n Upon receipt of the ROP response (OK, Id-D) and steps E1-1 1 and E1 -12, the application A n transmits a read operation OP (ld-D) to the local database BD n via the access interface IA n , by identifying the data D by its identifier Id-D.
  • the local database BD n On receipt of the operation OP, in the step E1-13, the local database BD n processes the operation OP on the data D. Then, in the steps E1 -14 and E1-15, the database transmits an acknowledgment of the operation ACK-OP (ld-D) to the application A n via the access interface IA n .
  • the local access interface may allow or prohibit read access to the data in the database local.
  • This authorization can be established in the accessibility rules RA according to, for example, a desired level of coherence of the data read and / or according to the use that will be made by the local application.
  • step E1-2 if the operation required by the local application A n requires write access to the data, the method is executed according to the steps of the functional diagram AG2.
  • the functional diagram AG2 more particularly comprises the steps of the method according to the invention during a write access to the data belonging to a master group of the local database BD n .
  • the functional diagram AG2 comprises the main steps E2-1 to E2-18.
  • step E1-2 of the functional diagram AG1 the access interface IA n checks, in step E2- 1, if the data item D belongs to a master data group GM n or a group of data slave.
  • Step E2-1 is similar to step E1-3 of the AG1 functional diagram, and is therefore not described in detail. If the data belongs to a slave data group, the method is executed according to the steps of the functional diagram AG3 described later with reference to FIG. 4. If the data belongs to a master data group, the access interface IA n transmits to the local token server SJ n , in step E2-2, a DVJ token verification request (ld-D) to verify the write access state to the data.
  • the DVJ request (ld-D) comprises in particular the unique identifier Id-D of the data D.
  • the local token server SJ n upon receipt of the DVJ request (ld-D), the local token server SJ n locally checks in the local token table TJ n if the identifier of the data Id-D is matched to a token J ,. Then, in step E2-4, the local token server SJ n transmits a token verification response RVJ (ld-D) to the local access interface IA n informing write access state to the data D identified in the RVJ response by its identifier Id-D.
  • the local access interface IA n then transmits, in step E2-6, a ROP operation response (NOK, Id-D) to the application A n indicating that the data D is not accessible in writing.
  • the local access interface IA n transmits, in step E2-6, a ROP (NOK) operation response to the application A n indicating that the data D is not writable.
  • the application A n reiterate its operation request again later by running step E1 1 AG1 block diagram.
  • step E2-5 if the identifier of the data item or group of data is not matched to a token then the access to the data item is in the accessible state, and, according to the previous variant, if an access rule RA associated with the data or group of data, verified by the access interface is satisfied, the data is considered to be writable.
  • step E2-7 the local access interface IA n controls the locking of the write access to the data by storing the state of access to the data in the locked state in the data server. local token SJ n , in step E2-8.
  • the interface IA n local access token transmits to the local server SJ n, in step E2-7, a request to create a token DCJ (ld-D) to associate with the data D to lock write access to the data.
  • the token server SJ n upon receipt of the DCJ request (ld-D) and for a modification operation on the data D, the token server SJ n matches in the token table TJ n the identifier of the data Id-D to a modification token.
  • the local token server SJ n matches the identifier of the data group G m associated with the data D to a deletion token, which amounts to matching all the identifiers of the data belonging to the said data group respectively to a delete token.
  • the unique identifier Id-D to be associated with the data is generated by the access interface and is matched to a creation token in the local token table TJ n by the server. of local token SJ n .
  • the local token server SJ No message notifies the other token server SG system access to Id-D identifier is locked.
  • the other token servers register in their local token table the matching of the identifier Id-D to a creation token.
  • step E2-9 the local token server SJ n transmits to the local access interface IA n a response RCJ (ld-D) of creation of token matched with the identifier Id-D of the data D or the associated data group.
  • step E2-10 upon receipt of the RCJ token creation response (ld-D), the local access interface IA n transmits to the local application A n a ROP operation response (OK ) indicating that the application A n can access the data D in the local database BD n .
  • the verification of the accessibility of the data - step E2-3 - and the creation of a token associated with this accessible verified data item - step E2-8 - are executed in the same step.
  • Steps E2-4 to E2-7 are deleted and a new step is added after step E2-9.
  • the local access interface transmits a request for token verification and token creation if the data is verified accessible.
  • steps E2-3 and E2-8 if the data is already locked, no tokens are created. If the data is accessible, a token is created as described above.
  • the local token server transmits, in step E2-9, a verification and creation response to the local access interface. Then, in a new stage, the access interface processes the response and transmits a response to the local application. If the access to the data has been verified in the locked state, the access interface transmits to the application the response ROP (NOK, Id-D) - according to step E2-6 - thus indicating that the application can not access the data. By cons, if a token has been created and associated with the data, the access interface transmits the response ROP (OK, Id-D) - according to step E2-10 - indicating that the application can access the data D.
  • the application A n on receipt of the ROP (OK) response and in steps E2-1 1 and E2-12, transmits an operation OP (ld-D) to the local database BD n via the access interface IA n , the OP operation to be processed on the data associated with the identifier Id-D.
  • the local database BD n receives the operation OP, processes the operation on the data D and returns to the steps E2-14 and E2-15, an acknowledgment of the operation ACK-OP (ld-D), to the application A n via the local access interface IA n .
  • step E2-16 upon receipt of the acknowledgment ACK-OP, the local access interface IA n controls the unlocking of the write access to the data by storing the access state to the data in the accessible state in the local token server SJ n , in step E2-17. More particularly, in step E2-16, the local access interface IA n transmits to the local token server SJ n a request to delete DSJ (ld-D) of the token matched with the identifier Id-D of the D data or the associated data group.
  • DSJ DSJ
  • the local token server deletes the creation token matched to the unique identifier associated with the created data and notified by a message the other token servers of the system SG that said identifier Id-D is no longer locked and is associated with data.
  • the other token servers Upon receipt of the message, the other token servers delete in their local token table the matching of the identifier Id-D to the creation token and also deletes the identifier Id-D.
  • the identifier Id-D associated with the data item created can be stored in each allocation table in association with the group comprising the data item created.
  • the token server SJ n transmits to the access interface IA n , a cancellation response RSJ (ld-D) token.
  • the functional diagram AG3 more particularly comprises the steps of the method according to the invention during a write access to the data belonging to a slave data group of the local database BD n .
  • the function diagram AG3 comprises steps E3-1 to E3-31.
  • the IA n local access interface transmits in step E2-2 functional diagram AG3, to the server of local token SJ n a DVJ token verification request (ld-D, Id-STd).
  • the DVJ verification request (ld-D, Id-STd) makes it possible to check the state of access to the data and comprises the identifier of the data Id-D and the identifier of the remote remote site Id-STd associated in the location table to the identifier of the data group having the data D.
  • step E3-3 the local token server SJ n having received the DVJ token verification request retransmits the DVJ request (ld-D ) to the remote token server SJd included in the remote master site Td to check the state of access to the data D.
  • the step E3-3 is identical to the step E2-3 of the functional diagram AG2.
  • step E3-4 to inform the write access state of the data D, the remote token server SJd transmits a token verification response RVJ (ld-D) to the local token server SJ n which retransmits the token verification response RVJ (ld-D) to the local access interface IA n in step E3-5.
  • the local access interface IA n transmits, in step E3-7, the operation response ROP (NOK, Id-D) to the application A n .
  • the application A n reiterate its operation request later by rerunning step E1 -1 of AG1 block diagram.
  • step E3-6 if the write access to the data item is in the accessible state, that is to say that the identifier of the data item or data group is not matched to a token according to the RCJ response, and according to the previous variant, if an access rule RA associated with the data or group of data, verified by the access interface, is satisfied, the data is considered to be writable.
  • the local access interface IA n controls the locking of the write access to the data. More particularly, the local access interface IA n transmits to the local token server SJ n , in step E3-8, a request to create a DCJ token (ld-D, Id-STd) associated with the data D in order to lock the write access to the data.
  • the DCJ request includes the identifier of the data Id-D and the identifier of the remote master site Id-STd comprising the remote token server SJd that will execute the request.
  • the local token server SJ n having received the request DCJ forwards the request to create a token to token SJD remote server.
  • the remote token server SJd matches, in step E3-10, in the remote token table TJd, the identifier of the data Id-D to a modification, deletion or creation token according to the required operation.
  • the matching of an identifier of a data to a token in the remote token table, in step E3-10 is identical to that performed in the local token table TJ n , in step E2-8 of the AG2 functional diagram.
  • step E3-1 the remote token server SJd transmits to the local token server SJ n a token creation RCJ (ld-D) response matched to the identifier of the data item D or the data group. associated.
  • the local token server SJ n retransmits the RCJ response to local access interface IA No, the E3-12 step.
  • the verification of the accessibility of the data - step E3-3 - and the creation of a token associated with this accessible verified data item - step E3-10 - are executed in the same step.
  • Steps E3-4 to E3-9 are deleted and a new step is added after step E3-12.
  • the local access interface transmits a token verification and token creation request if the data is verified accessible to the remote token server via the local token server.
  • the remote token server in steps E3-3 and E3-10 modified according to the variant, if the data is verified locked, according to the initial step E3-3, no token is created. If the data is verified accessible, according to the initial step E3-3, a token is created as described previously in the initial step E3-10. Then the remote token server transmits via the local token server, in modified steps E3-11 and E3-12, a verification and creation response to the local access interface. Then, in a new step, the local access interface processes the response and transmits a response to the local application A n .
  • step E3-13 the accessibility rules RA can be processed directly in the remote token server, the data not being writable if the associated rule is not satisfied. Or the accessibility rules can be processed in the local access interface before steps E3-1 and E3-2. Thus steps E3-1 and E3-2 are not executed if the access rule associated with the data is not satisfied.
  • the local access interface IA n controls a first request for updating DU1 (D, Id-STd) of the data item D or of the data group comprising the data item D between the local database BD n and the remote master database BDd.
  • the request DU1 is transmitted to the local database BD n and comprises the identifier of the data Id-D and the identifier of the remote master site Id-STd comprising the remote database.
  • the local database BD n transmits the request DU1 to the remote database BDd which, in step E3-15, updates the data or the group of associated data in the database BD local database n .
  • the update is performed in the same way as in step E1 -7 of the functional diagram AG1.
  • the first update of the local database BD n allows the application A n to operate on an exact and consistent D data.
  • the first update DU1 may not be executed since the data has not yet been created.
  • the data of the group of data which will comprise the data to be created can be updated a first time, before the creation of the data D.
  • step E3-16 the local database BD n transmits to the local access management interface lAn a first update response RU1 (ld-D, Id-Sd ) indicating that the update has been performed.
  • local access interface IA n takes into account that it is the initiator of the last update of the data D, for example by 1-D SU indicator associated with the data D, and informs other remote sites respectively containing the databases storing the data group defined as slave.
  • the local access interface IA n transmits to the local application A n a ROP operation response (OK, Id-D) indicating that the application A n can access the data D in the database local BD n .
  • the response ROP includes the identifier Id-D of the data D.
  • the application A n transmits an operation
  • step E3-20 the local database BD n receives the operation OP, processes the operation on the data D and returns to the steps E3-21 and E3-22, an acknowledgment ACK-OP (ld-D ) of the operation on the data D to the local application A n via the access interface local IA n .
  • AI n local access interface transmits a second request for updated DU2 (ld-DD, Id-STD) of the data D or the data group having the data D between the local database BD n and the remote database BDd.
  • the request DU2 transmitted to the local database BD n has the identifier Id-D of the data D and the identifier Id-STd of the remote master site with the remote database BDd.
  • the local database BD n updates the data D or the data group having the data D in the remote database DB according to a known method of updating data. This method may be similar to that described during the update of the data D or the data group comprising the data D of the remote database BDd to the local database in step E3-15.
  • the second update is executed for an operation of modification, deletion or creation of the data D which belongs to a group of data slave.
  • the remote master database BDd may transmit an update response executed RU2 (ld-D) to the local database BD n which transfers the response to the interface d local access.
  • the local access interface IA n After receiving the response RU2, the local access interface IA n transmits an operation acknowledgment ACK-OP (ld-D) on the data D to the application A n , at the step E3-26.
  • the local access interface IA n controls the unlocking of the write access to the data. More particularly, in step E3-27, the local access interface transmits to the local token server SJ n a request for deletion DSJ (ld-D, Id-STd) of the token paired with the identifier Id-D data D or the associated data group in the remote site token server of the remote site identified by the identifier Id-STd.
  • the local token server Upon receipt of the RSJ request, in step E3-28, the local token server transfers the RSJ request to the remote token server SJd- Then in step E3-29, the remote token server deletes the paired token to the identifier Id-D of the data in the remote token table TJd and releases the write access to the data D. In steps E3-30 and E3-31, the remote token server SJd transmits a delete response from the RSJ token (ld-D) to the local token server SJ n which transfers the RSJ response to the local access interface IA n .
  • the local site may use multiple simultaneous executions of the AG1 to AG3 functional diagrams when one or more local applications request concurrent access to shared data. Execution of identical steps during the processing of several simultaneous access requests may be shared to optimize the processing time of said requests.
  • the degraded operation of a local site is established as soon as the local site ST n can not communicate with a remote site STd.
  • local applications can read and write access to shared data belonging to master groups in the local database if the accessibility rules are satisfied.
  • Local applications can also read and write access to shared data belonging to slave groups in the local database when the local site can communicate with the remote master site that manages the write access status to the data of those groups. of slave data, if the accessibility rules are satisfied.
  • the local site operates normally according to the functional diagrams AG1 to AG3.
  • Local applications can only read access to the data of the slave data group (s) whose write access states are managed by a site or master sites that can not communicate with the local site. In the latter case and relative to non-writable slave data groups, the local site operates in degraded mode according to the function diagrams AG3 and AG4.
  • the functional diagram AG4 illustrated in FIG. 5 presents the main steps of the method of managing at least one shared datum D belonging to a group of slave data in the local database BD n , during the detection of the operation in degraded mode of the SG system, more particularly when detecting a communication failure between the local site and the remote master site managing the data access states of the data group comprising the data D.
  • the AG4 functional diagram is implemented in each SG system site and works in parallel with the function diagrams AG1 to AG3, more particularly to the AG3 function diagram.
  • the AG4 functional diagram mainly comprises the steps E4-1 to E4-1 1.
  • Step E4-1 includes detecting a communication failure between the local site and the remote master site, thereby implying degraded mode operation of the local site.
  • step E4-1 is looped back on itself.
  • the communication failure is detected by the local token server or the local database.
  • the local token server SJ n can not communicate with the remote token server SJd, in steps E3-2, E3-9 or E3-28 of the function diagram AG3, a communication failure is detected.
  • the local database BD n can not communicate with the remote database BDd in steps E3-14, E3-15 and E3-23, E3-24 of the function diagram AG3 a communication failure is detected.
  • the local token server SJ n or the local database BD n transmits to the local access interface IA n a message Msg-MD (ld-G) notifying the data of the corresponding slave data group identified by the identifier Id-G are not writable.
  • the local access interface IA n inform the local application A n that the required data is available only in reading. To do this, the local access interface transmits a message Msg-read (ld-D) to the application A n ., The message comprising the identifier Id-D of the data D. Access to the data in Reading mode by the local application is performed according to the function diagram AG1.
  • step E4-4 the local access interface IA n checks whether a token is created in the remote token table TJd and is matched to the identifier Id-D of the data D. For example, if the local access interface IA n has previously received a token creation response RCJ (ld-D) transmitted in step E3-1 1 AG3 functional diagram, then a token was previously created. The local access interface then transmits to the local token server SJ n a request to delete the DSJ (ld-D, Id-STd) of the token.
  • RCJ token creation response
  • the request for deletion DSJ includes the identifier Id-D of the data or group of data matched to the token and the identifier Id-STd of the remote site comprising the remote token server SJd.
  • the local token server SJ n stores the DSJ request (ld-D, Id-STd) in order to transmit it later to the remote SJd token server of the site remote identified by the identifier Id-STd, once the communication between the local site and the remote site will be operational again.
  • the access interface then executes step E4-7. Always step E4-4, if verification indicates that no token is created and is paired with the identifier data Id-D of D, IA No local access interface directly executes the step E4-9.
  • the IA n local access interface checks whether a transaction related to a write access to the data was performed in the local database BD if n and a second update of the Operated data has been executed between the local database BD n and the remote database BDd. For example to verify that a write operation on the data has been executed, the local access interface IA n verifies that it has received an ACK-OP acknowledgment (ld-D) of the operation, transmitted by the local database in step E3-21 according to the functional diagram AG3.
  • ACK-OP acknowledgment Ld-D
  • AI n local access interface verifies that it has received an update response RU2 (ld-D) sent by the local database BD n , in step E3-25 of the function diagram AG3. If a change has been made in the local database BD n and no second update between the local database and the remote database has been executed then the local access interface IA n command to the local database BD n cancel the previous operation performed on the data D. To do this the access interface transmits a request AOP (ld-D)) cancellation of the operation comprising the identifier Id-D of the data D in step E4-8 of the functional diagram AG4. The local database BD n restores the data as it was before the processing of the operation. The local access interface then performs step E4-9.
  • step E4-9 the local site ST n checks whether it can communicate again with the remote site STd and can thus detect a return to normal mode operation of the local site. As long as a failure is detected, that is, as long as the local site is in degraded mode, step E4-9 loops back on itself.
  • the local token server SJ n or the local database BD n transmits to the local access interface IA n a message Msg-MN (ld-G) notifying the return to operation in normal mode and as well as the data of the corresponding slave data group identified by the identifier Id-G are accessible in writing and reading, in step E4- 10.
  • step E4-1 1 the local token server SJ n transmits the stored token deletion request DSJ (ld-D, Id-ST ⁇ ) to the remote token server STd which executes the unlocking of the access to the data D by deleting the token matched to the identifier Id-D of the data or data group in the remote token table TJd.
  • the local token server may have several stored deletion requests respectively relating to several shared data that may belong to different slave data groups in the local database.
  • the local token server transmits all stored token deletion requests to different remote sites that are inaccessible during degraded mode operation of the local site. Then the local site executes again the step E4-1 of detection of the degraded mode.
  • the execution of the shared data management method in degraded mode is not limited to the succession of steps according to the functional diagram AG4. Several steps can be executed simultaneously. For example, step E4-2 and the set of successive steps E4-4 to E4-8 can be executed in parallel.
  • the data consistency requirement in the various databases of the SG system according to the invention is satisfied.
  • by managing a write access state to each data by a single specific master site for each data that avoids multiple simultaneous access to the data by different applications of the system SG. Indeed, only one application at a time of the system SG can write access to the data in all the databases of the system and the write access to the data is locked for the other applications of the system.
  • each operation is processed on a consistent data. Indeed, either the data belongs to a master group of the local database and is considered always up to date, or the data belongs to a slave group of the local database and the two updates controlled by the local site allow to have a consistent data in both databases before and after processing the operation on the data.
  • the requirement of robustness of the SG system according to the invention is satisfied since in degraded mode of the local site only part of the data shared in the local database is inaccessible in writing.
  • the local site continues to read and write access to the shared data belonging to the master data groups in the local database and also belonging to the slave data groups whose data access states are managed by accessible remote master sites. by the local site.
  • a local site with a database that includes only slave groups can still read from the local database.
  • An end user sees the SG system as ergonomic and efficient. Indeed, all ancillary operations of the system such as the first and second data updates in the SG system databases are transparent to the user.
  • access to local master data group data is as efficient as accessing data from a non-distributed database. Indeed, access to these data does not require systematic updating between two databases and exchange with a remote token server.
  • a multi-site data management system SG manages relational databases.
  • Each relational database on the same site stores data in the same group according to the same characteristic.
  • one or more groups may include data relating to book titles each data may be associated with additional information on the book.
  • One or more groups may include data related to library subscribers each data may be associated with information characterizing the subscriber such as personal information.
  • one or more groups may include author-related data each data that may be associated with information characterizing the author, such as its bibliography.
  • a data item of a group may be linked to at least one data item from another group.
  • data relating to a subscriber in a subscriber group is related to data relating to a book borrowed by the subscriber in a book group which itself is related to data relating to the author of the book in a group of authors.
  • the links between two data can be stored in link tables, a link between two data corresponding to the pairing of the two identifiers of the two data.
  • each data group may comprise a link table matching the identifier of a group data to one or more data identifiers of other groups.
  • a write operation on a datum may correspond to the establishment or the deletion of a link between two data of different groups.
  • a write operation may also include editing, deleting, or creating data in a data group.
  • the two data To perform a write operation on a first datum linked to a second datum, the two data must first be checked accessible and locked.
  • the accessibility check of each of the two data and the locking of each of the two data are carried out according to the steps E2-2 to E2-9 of the functional diagram AG2 and / or the steps E3-1 to E3-12 of the functional diagram AG3. , that either of the two data belong to a master or slave data group in the local database.
  • the write operation on the first data item is executed according to steps E2-10 to E2-15 of the function diagram AG2 if the data item belongs to a master data group, or according to steps E3-13 to E3-26. of the AG3 function diagram if the data belongs to a slave data group.
  • the two linked data are unlocked according to the steps E2-16 to E2-18 of the function diagram AG2 and / or E3-27 to E3-30 of the function diagram AG3, depending on whether one or the other of the two data belongs to a master or slave data group.
  • the specific RA accessibility rules associated with the groups or each shared data of a group can take into account the different links established between the data of the different groups.
  • an accessibility rule relating to the deletion of data may be associated with the data preventing any deletion of the data when the data is linked to one or more other data of another group.
  • the invention described herein relates to a shared data management method implemented in each site of an SG data management system.
  • the steps of the method of the invention are determined by the instructions of a computer program incorporated in the control unit of each site of the system SG.
  • the computer program capable of being implemented in part in each unit of each site of the SG system of the invention comprises program instructions which, when said program is executed in each site of the SG system whose operation is then controlled. by executing the program, perform a management of data shared between several sites of the SG system according to the method of the invention.
  • the invention also applies to a computer program, in particular a computer program recorded on or in a computer readable recording medium and any data processing device, adapted to implement the computer program.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code such as in a partially compiled form, or in any other form desirable to implement the method according to the invention.
  • the program can be downloaded to the device via a communication network, such as the internet.
  • the recording medium may be any entity or device capable of storing the program.
  • the medium may comprise storage means on which the computer program according to the invention is recorded, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a USB key, or magnetic recording means, for example a hard disk.

Abstract

The invention relates to a data management system (SG) managing at least one datum stored in at least two databases (BDn, BDN), which are located in two separate sites (STn, STN) belonging to a single network, respectively, and which form said data management system. Said datum is associated with a writing access state managed by a master site, and is shared, for reading and writing, by applications installed on the terminals of each site. Said datum can be requested for a writing operation by an application of a local site. The system includes: a means (IGn, SJn, SJN) for verifying the writing access state of the datum in the master site; a means (SJn, SJN) for locking the writing access for the datum in the master site; and a means (IGn) for processing the operation on the datum in the database of the local site; and a means (SJn, SJN) for unlocking the writing access for the datum in the master site.

Description

Procédé et système de gestion de données partagées entre des sites de gestion distincts.  A method and system for managing data shared between separate management sites.
La présente invention concerne d'une manière générale un procédé et un système de gestion de données partagées entre au moins deux sites de gestion distincts. Plus particulièrement, l'invention concerne un procédé de gestion d'un ensemble de données partagées qui sont accessibles par plusieurs applications exécutées dans aux moins deux sites de gestion distincts formant le système de gestion de données. The present invention generally relates to a method and system for managing data shared between at least two separate management sites. More particularly, the invention relates to a method of managing a set of shared data that is accessible by several applications executed in at least two separate management sites forming the data management system.
II est connu des systèmes d'information déployés sur plusieurs sites géographiquement distincts, des applications exécutées dans lesdits sites se partageant un même ensemble de données. On entend par donnée partagée, une donnée qui est accessible en écriture et en lecture dans au moins une base de données par différentes applications en cours d'exécution sur les sites d'un système d'information.  It is known information systems deployed on several geographically distinct sites, applications executed in said sites sharing the same set of data. By shared data is meant data that is accessible in writing and reading in at least one database by different applications running on the sites of an information system.
Un tel système d'information comporte une base de données localisée sur un premier site considéré comme site principal. Le site principal comporte une première application par exemple en cours d'exécution dans un premier terminal utilisateur et qui se connecte localement à la base de données. Les applications des autres sites se connectent à distance à la base de données du site principal. On entend ici par connexion à distance, le fait que chaque site, géographiquement distinct, est relié aux autres sites par une connexion par réseaux de communication. Lorsqu'un utilisateur de terminal d'un des sites non principaux souhaite accéder, via une application, à une donnée partagée de la base de données, ledit terminal se connecte à distance à la base de données par le réseau de communication.  Such an information system comprises a database located on a first site considered as the main site. The main site includes a first application for example running in a first user terminal and which connects locally to the database. Applications from other sites remotely connect to the main site database. By remote connection is meant here that each site, geographically distinct, is connected to the other sites by a connection via communication networks. When a terminal user of one of the non-main sites wishes to access, via an application, a shared datum of the database, said terminal connects remotely to the database by the communication network.
Un tel système d'information est considéré comme intègre lorsque pour une même donnée accessible par plusieurs terminaux sur des sites distincts, au moyen d'applications, la valeur de ladite donnée partagée reste cohérente. En effet, dans ce cas, une donnée partagée n'est accessible en écriture que par une seule application à la fois dans la base de données. Il n'y a pas de conflit d'accès multiple à la donnée.  Such an information system is considered as integrated when for the same data accessible by several terminals on separate sites, by means of applications, the value of said shared data remains consistent. Indeed, in this case, shared data is only writable by one application at a time in the database. There is no multiple access conflict to the data.
Cependant, lors d'une défaillance de communication entre le site principal et un autre site, le terminal utilisateur dans l'autre site ne peut accéder aux données partagées de la base de données. Un tel système d'information n'est pas robuste. Un système d'information est considéré comme robuste lorsqu'un des sites est défaillant ou lorsque la communication entre les sites est défaillante, mais qu'elle n'obstrue pas l'accès aux données partagées ou à une partie de ces données aux autres 5 sites d'information. Pour pallier un problème de robustesse, il existe des systèmes d'information multi-sites comportant autant de bases de données qu'il y a de sites. Les données partagées de chaque base de données sont dupliquées dans les différentes autres bases de données. Dans un tel cas, on parle alors de réplication de données dans les différentes bases de î o données du système. However, during a communication failure between the main site and another site, the user terminal in the other site can not access the shared data of the database. Such a system information is not robust. An information system is considered robust when one of the sites fails or when communication between sites fails, but does not obstruct access to shared data or part of that data to others. information sites. To overcome a problem of robustness, there are multi-site information systems with as many databases as there are sites. The shared data of each database is duplicated in the different other databases. In such a case, this is referred to as replication of data in the various data bases of the system.
Il existe deux types de réplications : la réplication synchrone (« eager » en anglais) et la réplication asynchrone (« lazy » en anglais).  There are two types of replication: synchronous replication (eager) and asynchronous replication (lazy).
La réplication synchrone entre deux bases de données correspond à une mise à jour des bases de données durant une modification d'une Synchronous replication between two databases is a database update during a modification of a database.
15 donnée, appelée également transaction d'une donnée, dans l'une ou l'autre des bases de données. L'intégrité des bases de données est satisfaite à chaque réplication d'une donnée dans les bases de données grâce à une validation à deux phases ("two phase commit" en anglais) dont une phase de vote et une phase de décision. Ces deux phases permettent de garantirData, also referred to as a transaction of data, in one or other of the databases. The integrity of the databases is satisfied at each replication of data in the databases through a two-phase commit ("two phase commit"), including a voting phase and a decision phase. These two phases make it possible to guarantee
20 la cohérence d'une donnée partagée dupliquée dans les différentes bases de données à la fin d'une transaction sur la donnée. 20 the coherence of duplicate shared data in the different databases at the end of a transaction on the data.
Cependant, cette technique de réplication a pour conséquence des transactions longues sur les données car à chaque transaction est ajoutée une validation à deux phases. De plus, lors d'une défaillance de However, this replication technique results in long transactions on the data because each transaction is added a two-phase commit. Moreover, during a failure of
25 communication entre des sites, la duplication synchrone des données ne peut s'effectuer puisque la validation à deux phases ne peut avoir lieux. En l'espèce, cela implique un problème de robustesse du système. 25 communication between sites, the synchronous duplication of data can not be done since the two-phase validation can not take place. In this case, this implies a problem of robustness of the system.
La duplication asynchrone de données partagées entre deux bases de données comprend une exécution et une validation d'une transaction sur Asynchronous duplication of data shared between two databases includes execution and validation of a transaction on
30 une donnée se trouvant localement dans une base de données. Les mises à jour effectuées par duplication sont propagées dans chaque base de données de manière différées après la fin de la transaction. 30 data located locally in a database. The updates made by duplication are propagated in each database in a deferred manner after the end of the transaction.
Ainsi, si une base de données distante est indisponible du fait d'une défaillance, les mises à jour sur des données partagées qui lui sont destinées, sont mises en attente, puis appliquées lorsque la base de données distante redevient opérationnelle. For example, if a remote database is unavailable because of a failure, the updates on shared data that are are queued, and then applied when the remote database becomes operational again.
De ce fait, l'exigence de robustesse est considérée si un site est inaccessible, puisque les autres sites du système d'information peuvent opérer sur leur base de données locale.  Because of this, the robustness requirement is considered if a site is inaccessible, since the other sites of the information system can operate on their local database.
Toutefois, en cas de transactions effectuées pratiquement simultanément sur une même donnée partagée dans des bases de données distinctes, la réplication asynchrone aboutie à une incohérence de la donnée dans chacune des bases de données, puisque les mises à jour différées n'ont pas été effectuées.  However, in the case of transactions made almost simultaneously on the same shared data in separate databases, asynchronous replication leads to an inconsistency of the data in each of the databases, since the deferred updates have not been made .
Le partage de données entre différents sites d'un système d'information dit multi-sites, nécessite le respect des exigences que sont l'intégrité des données partagées, la robustesse dudit système face à une défaillance partielle ou générale de la communication entre les différents sites et la performance du système d'information.  The sharing of data between different sites of a multi-site information system, requires compliance with the requirements of shared data integrity, the robustness of the system in the face of a partial or general failure of the communication between the different sites and the performance of the information system.
L'objectif de l'invention est de pallier en partie ou totalement les inconvénients de l'art antérieur. Pour cela, l'invention propose un procédé de gestion de données partagées entre plusieurs sites d'un même système d'information comportant chacun une base de données. Chaque site gère localement l'accès en écriture à une partie distincte de l'ensemble des données partagées mémorisées dans les bases de données du système d'information.  The object of the invention is to overcome some or all of the disadvantages of the prior art. For this purpose, the invention proposes a method for managing data shared between several sites of the same information system each comprising a database. Each site locally handles write access to a separate portion of the set of shared data stored in the information system databases.
Pour atteindre cet objectif, un procédé permet de gérer une donnée mémorisée dans au moins deux bases de données comprises respectivement dans deux sites distincts appartenant à un même réseau, ladite donnée étant associée à un état d'accès en écriture géré par un site maître, la dite donnée étant partagée en lecture et en écriture par des applications implémentées sur des terminaux de chaque site, et ladite donnée étant apte à être sollicitée pour une opération en écriture par une application d'un site local. Le procédé comprend les étapes suivantes :  To achieve this objective, a method makes it possible to manage data stored in at least two databases respectively contained in two distinct sites belonging to the same network, said datum being associated with a write access state managed by a master site, said data being shared in read and write by applications implemented on terminals of each site, and said data being able to be requested for a write operation by an application of a local site. The method comprises the following steps:
- une vérification de l'état d'accès en écriture à la donnée dans le site maître, a verification of the state of write access to the data in the master site,
- si l'accès en écriture à la donnée est à l'état accessible, un verrouillage de l'accès en écriture à la donnée dans le site maître, if the write access to the data is in the accessible state, a lock of the write access to the data in the master site,
- un traitement de l'opération sur la donnée dans la base de données du site local, et - un déverrouillage de l'accès en écriture à la donnée dans le site maître.a processing of the operation on the data item in the database of the local site, and - Unlocking the write access to the data in the master site.
Le système de gestion de données selon l'invention gère les conflits d'intégrité des bases de données, par une gestion de l'état d'accès en écriture à chaque donnée par l'intermédiaire d'un site maître spécifique pour chaque donnée. Ce site maître permet ainsi d'éviter de multiple accès simultanés à une donnée partagée par plusieurs applications implémentées sur des terminaux du site maître ou des sites distants. Dans l'invention, l'accès à une donnée signifie la possibilité de lire la donnée et/ou d'effectuer une opération d'écriture sur la donnée dans les bases de données. Une donnée est associée à un état d'accès. Si la donnée est accessible en écriture, l'état d'accès associé est alors à l'état accessible. Si l'accès en écriture à la donnée est verrouillé, l'état d'accès est alors à l'état verrouillé. The data management system according to the invention manages database integrity conflicts by managing the write access status to each data via a specific master site for each data item. This master site thus makes it possible to avoid simultaneous multiple access to data shared by several applications implemented on terminals of the master site or remote sites. In the invention, access to data means the possibility of reading the data and / or performing a write operation on the data in the databases. Data is associated with an access state. If the data is writable, the associated access state is then in the accessible state. If the write access to the data is locked, the access state is then in the locked state.
Selon la donnée à accéder, le site maître peut être le site local ou peut être un site distinct du site local.  Depending on the data to be accessed, the master site may be the local site or may be a site separate from the local site.
Selon une réalisation de l'invention, le site local est distinct du site maître. Le site local communique avec le site maître pour commander au site maître l'exécution des étapes de vérification de l'état d'accès à la donnée et de verrouillage, déverrouillage de l'accès en écriture à la donnée. Le procédé comprend alors, avant le traitement de l'opération, une commande d'une première mise à jour de la donnée dans la base de données du site local par duplication de la donnée mémorisée dans la base de données du site maître. Le procédé comprend également après le traitement de l'opération, une commande d'une deuxième mise à jour de la donnée dans la base de données du site maître par duplication de la donnée mémorisée dans la base de données du site local. Lorsque le site maître est distinct du site local, la double mise à jour des bases de données locale et distante commandée par le site local permet d'obtenir des données cohérentes dans les deux bases de données, avant et après le traitement de l'opération sur la donnée.  According to one embodiment of the invention, the local site is distinct from the master site. The local site communicates with the master site to command the master site to perform the steps of verifying the state of access to the data and locking, unlocking the write access to the data. The method then comprises, before the processing of the operation, a command of a first update of the data in the database of the local site by duplication of the data stored in the database of the master site. The method also comprises, after the processing of the operation, a command for a second updating of the data in the database of the master site by duplication of the data stored in the database of the local site. When the master site is separate from the local site, double local and remote database updates controlled by the local site provide consistent data in both databases before and after processing the operation on the data.
Lorsque le site maître est distinct du site local et lors d'une détection d'une défaillance de communication entre le site local et le site maître par le site local, la donnée partagée dont l'état d'accès en écriture est géré par le site maître est accessible uniquement en lecture dans la base de données du site local. Si l'accès en écriture à la donnée a été verrouillé dans le site maître, le site local mémorise une commande de déverrouillage de l'accès en écriture à la donnée à transmettre au site maître dès que la communication entre les deux sites est de nouveau établie. Si préalablement à la détection de la défaillance, l'opération sur la donnée a été effectuée dans la base de données du site local et que la deuxième mise à jour n'a pas été exécutée entre les deux bases de données, le site local commande une annulation de l'opération sur la donnée dans la base de données du site local. Le système de gestion de données exécutant le procédé selon l'invention est robuste. En effet, lors d'une défaillance de communication entre le site local et le site maître distant, le site local peut accéder en lecture et en écriture dans la base de données locale aux données dont il gère l'état d'accès en écriture, c'est-à-dire pour ces dites données le site local est le site maître. Le site local accède en lecture aux autres données. Pendant la défaillance de communication avec le site distant, le site local fonctionne en mode dégradé. When the master site is separate from the local site and upon detection of a communication failure between the local site and the master site by the local site, the shared data whose write access state is managed by the master site is only readable in the local site database. If the write access to the data has been locked in the master site, the local site stores an access unlock command writing to the data to be transmitted to the master site as soon as the communication between the two sites is again established. If prior to the detection of the failure, the operation on the data was performed in the local site database and the second update was not executed between the two databases, the local site commands a cancellation of the operation on the data in the database of the local site. The data management system executing the method according to the invention is robust. Indeed, during a communication failure between the local site and the remote master site, the local site can read and write access to the local database data to which it manages the write access status, that is to say for these said data the local site is the master site. The local site reads the other data. During the communication failure with the remote site, the local site operates in degraded mode.
Selon une autre réalisation de l'invention, le site local est le site maître. According to another embodiment of the invention, the local site is the master site.
Selon l'une ou l'autre des réalisations de l'invention, un ensemble de données mémorisé par duplication dans les deux bases de données est formé de groupes de données disjoints, l'un des groupes comportant ladite donnée, l'état d'accès en écriture de chaque donnée d'un groupe de données étant géré par un des deux sites. According to one or the other embodiments of the invention, a set of data stored by duplication in the two databases is formed of disjoint data groups, one of the groups comprising said data, the state of write access to each data of a group of data being managed by one of the two sites.
Selon l'une ou l'autre des réalisations de l'invention, l'état d'accès à la donnée est vérifié dans le site maître au moyen d'une table d'accès appariant un identificateur de la donnée à un jeton lorsque l'accès en écriture à la donnée est à l'état verrouillé et supprimant le jeton lorsque l'accès en écriture à la donnée est à l'état accessible.  According to one or the other embodiments of the invention, the access state to the data is verified in the master site by means of an access table matching an identifier of the data to a token when the write access to the data is in the locked state and deletes the token when the write access to the data is in the accessible state.
L'invention concerne également un système de gestion de données gérant au moins une donnée mémorisée dans au moins deux bases de données comprises respectivement dans deux sites distincts appartenant à un même réseau et formant ledit système de gestion de données, ladite donnée étant associée à un état d'accès en écriture géré par un site maître, la dite donnée étant partagée en lecture et en écriture par des applications implémentées sur des terminaux de chaque site, et ladite donnée étant apte à être sollicitée pour une opération en écriture par une application d'un site local. Le système comprend : - des moyens pour vérifier l'état d'accès en écriture à la donnée dans le site maître, The invention also relates to a data management system managing at least one piece of data stored in at least two databases respectively contained in two distinct sites belonging to the same network and forming said data management system, said datum being associated with a data storage system. write access state managed by a master site, said data being shared in read and write by applications implemented on terminals of each site, and said data item being able to be requested for a write operation by an application of a local site. The system includes: means for verifying the state of write access to the data in the master site,
- des moyens pour verrouiller l'accès en écriture à la donnée dans le site maître,  means for locking write access to the data in the master site,
- des moyens pour traiter l'opération sur la donnée dans la base de données du site local, et means for processing the operation on the data item in the database of the local site, and
- des moyens pour déverrouiller l'accès en écriture à la donnée dans le site maître.  means for unlocking write access to the data in the master site.
L'invention comprend également un site de gestion apte à gérer une donnée mémorisée dans au moins deux bases de données distinctes comprises respectivement dans deux sites distincts formant un système de gestion de données, le site de gestion de données étant apte à mettre en œuvre le procédé selon l'invention.  The invention also comprises a management site able to manage data stored in at least two separate databases respectively located in two separate sites forming a data management system, the data management site being able to implement the data management system. process according to the invention.
L'invention comprend également un programme d'ordinateur apte à être mis en œuvre dans un site de gestion de données, ledit programme étant caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est exécuté dans le site de gestion de données, réalisent des étapes du procédé selon l'invention.  The invention also comprises a computer program adapted to be implemented in a data management site, said program being characterized in that it comprises instructions which, when the program is executed in the data management site. , perform steps of the method according to the invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture de la description suivante de plusieurs réalisations de l'invention, données à titre d'exemples non limitatifs, en référence aux dessins annexés correspondants dans lesquels :  Other features and advantages of the present invention will emerge more clearly on reading the following description of several embodiments of the invention, given by way of non-limiting examples, with reference to the corresponding appended drawings in which:
- la figure 1A montre schématiquement un système de gestion de données partagées, selon un mode de réalisation de l'invention;  - Figure 1A schematically shows a shared data management system, according to one embodiment of the invention;
- la figure 1 B montre schématiquement un site de gestion compris dans un système de gestion de données partagées, selon un mode de réalisation de l'invention;  - Figure 1 B schematically shows a management site included in a shared data management system, according to one embodiment of the invention;
- les figures 2 à 4 sont des diagrammes fonctionnels du procédé de gestion de données, en mode de fonctionnement normale du système, selon un mode de réalisation de l'invention ; et  FIGS. 2 to 4 are functional diagrams of the data management method, in normal operating mode of the system, according to one embodiment of the invention; and
- la figure 5 est un diagramme fonctionnel du procédé de gestion de données, en mode de fonctionnement dégradé du système, selon un mode de réalisation de l'invention.  FIG. 5 is a functional diagram of the data management method, in degraded operating mode of the system, according to one embodiment of the invention.
Les différents éléments apparaissant sur les différentes figures conservent, sauf précision contraire, les mêmes références. Dans ce qui suit, différents modes de réalisations seront décrits selon une représentation d'un système de gestion de données, sans, cependant, restreindre l'invention aux termes et expressions divulguées. L'invention est applicable dans tout système de gestion de données multi-sites nécessitant un partage de données entre différents sites du système. Différentes configurations de systèmes impliquant différentes technologies peuvent être utilisées séparément ou en combinaison pour implémenter les réalisations de l'invention. Les technologies évoluant constamment, les réalisations de l'invention peuvent exiger de nombreuses modifications qui sont évidentes pour un homme du métier. The different elements appearing in the different figures retain, unless otherwise specified, the same references. In the following, various embodiments will be described according to a representation of a data management system, without, however, restricting the invention to the terms and expressions disclosed. The invention is applicable in any multi-site data management system requiring data sharing between different sites of the system. Different system configurations involving different technologies can be used separately or in combination to implement the embodiments of the invention. As technologies evolve constantly, the embodiments of the invention may require many modifications that are obvious to a person skilled in the art.
La figure 1A est une architecture d'un système de gestion de données multi-sites simplifiée dans laquelle sont représentés quelques éléments et entités fonctionnelles, tous étant des unités logiques dont l'implémentation peut différer de ce qui est représenté. Les connections montrées dans la figure 1 sont des connections logiques, les connections physiques actuelles peuvent être différentes. Il est évident pour un homme du métier que les systèmes comprennent également d'autres fonctions et structures. Il devrait être considéré que les fonctions, structures, éléments et protocoles utilisés dans ou pour des communications dans le système de gestion de données, ne sont pas pertinents pour l'invention actuelle. Par conséquent, ils n'ont pas besoin d'être décrits plus en détail ici.  Figure 1A is an architecture of a simplified multi-site data management system in which some elements and functional entities are represented, all of which are logical units whose implementation may differ from what is shown. The connections shown in Figure 1 are logical connections, the current physical connections may be different. It is obvious to one skilled in the art that the systems also include other functions and structures. It should be considered that the functions, structures, elements and protocols used in or for communications in the data management system are not relevant to the current invention. Therefore, they do not need to be described in more detail here.
En référence à la figure 1A, un système de gestion de données SG est destiné à implémenter un procédé de gestion de données partagées selon l'invention. Le système de gestion de données comprend N sites de gestion géographiquement distincts : ST-ι à STN, avec l'indice N étant un nombre entier supérieur ou égal à deux. On entend par donnée partagée, une donnée qui est accessible par les applications de tous les sites du système de gestion. Chaque site STn, avec 1 < n < N, comprend au moins un terminal Tn mis à la disposition d'un utilisateur et implémentant une ou des applications. Chaque site STn comprend également une interface d'accèsReferring to Figure 1A, an SG data management system is for implementing a shared data management method according to the invention. The data management system comprises N geographically distinct management sites: ST-ι to STN, with the index N being an integer greater than or equal to two. By shared data is meant data that is accessible by the applications of all sites in the management system. Each site ST n , with 1 <n <N, comprises at least one terminal T n made available to a user and implementing one or more applications. Each site T n also includes an access interface
IAn gérant l'accès à un ensemble de données mémorisées dans une base de données BDn. Une application du terminal Tn peut solliciter à l'interface d'accès un accès à la base de données. L'interface d'accès IAn est reliée à un serveur de jeton SJn. Le serveur de jeton est apte à gérer des états d'accès en écriture d'une partie des données de la base de données locale BDn. Dans le serveur de jeton, une telle donnée est associée à un état d'accès en écriture qui indique l'accessibilité en écriture de la donnée. Si la donnée est accessible en écriture, l'état d'accès en écriture est alors à l'état accessible. Si l'accès en écriture à la donnée est verrouillé, l'état d'accès en écriture est alors à l'état verrouillé. Le terme état d'accès en écriture est également écrit état d'accès dans la suite de la description. IA n managing access to a set of data stored in a database BD n . An application of the terminal T n can request the access interface access to the database. The AI n access interface is connected to a server token SJ n. The token server is able to manage write access states of part of the data of the local database BD n . In the token server, such data is associated with a write access state that indicates the readability of the data. If the data is writable, the write access state is then in the accessible state. If the write access to the data is locked, then the write access state is in the locked state. The term write access status is also written access state in the following description.
Chaque site STn comprend une interface de communication (non représentée) pour communiquer entre eux via un réseau de communication R, avec ou sans fil, tel qu'un réseau WAN ("Wide Area Network" en anglais) ou un réseau LAN ("Local Area Network" en anglais) utilisant par exemple le protocole internet IP. Le réseau R peut être un réseau sécurisé. Ainsi chaque site STn peut communiquer avec les autres sites du système de gestion de données via le réseau R. Each ST site n comprises a communication interface (not shown) for communicating with each other via a communication network R, wired or wireless, such as a WAN ("Wide Area Network" in English) or a LAN (" Local Area Network "in English) using for example the internet protocol IP. The network R can be a secure network. Thus, each ST n site can communicate with the other sites of the data management system via the network R.
Toutes ces unités An, Tn, IAn, SJn et BDn sont représentées sous forme de blocs fonctionnels dont la plupart assurent des fonctions ayant un lien avec l'invention et peuvent correspondre à des modules logiciels et/ou matériels. All these units A n , T n , IA n , SJ n and BD n are represented in the form of functional blocks, most of which perform functions relating to the invention and can correspond to software and / or hardware modules.
Selon un exemple de réalisation d'un site de gestion illustré à la figure 1 B, chaque site STn peut comporter plus particulièrement une unité de contrôle UCn reliée à un terminal Tn du site via une interface de communication ICn comprise dans l'unité UCn. L'interface de communication ICn permet également de communiquer avec les interfaces de communication des autres sites via le réseau R. L'unité de contrôle comprend au moins un microprocesseur Mln, un ensemble de mémoires MEn et la base de données BDn. Les différents éléments ICn, Mln, MEn, etAccording to an exemplary embodiment of a management site illustrated in FIG. 1B, each site ST n may more particularly comprise a control unit UC n connected to a terminal T n of the site via a communication interface IC n included in FIG. UC unit n . The communication interface IC n also makes it possible to communicate with the communication interfaces of the other sites via the network R. The control unit comprises at least one microprocessor Ml n , a set of memories ME n and the database BD n . The different elements IC n , Ml n , ME n , and
BDn de l'unité de contrôle sont reliés entre eux par un bus bidirectionnel. L'interface d'accès IAn et le serveur de jeton SJn sont considérés comme des modules logiciels et sont répartis dans l'ensemble des mémoires MEn. Les mémoires peuvent être des mémoires volatiles ou non volatiles, par exemple EEPROM, ROM, PRM, RAM, DRAM, SRAM, microprogramme, logique programmable et mémorisent typiquement des contenus, données ou analogue. De plus les mémoires peuvent mémoriser des codes programmes d'ordinateur par exemple les codes programmes des systèmes d'exploitation. Les mémoires peuvent être par exemple à accès aléatoire, ou un disque dur, ou une combinaison de ces moyens. De plus les mémoires peuvent être des mémoires amovibles ou détachables connectées à l'unité de contrôle. La base de données peut être incorporées dans l'unité de contrôle UCn, ou être indépendante sous la forme d'un serveur de gestion de base de données (non représenté dans la figure 1 B) qui est relié à l'unité de contrôle avec ou sans fil. La base de données peut comprendre une unité de traitement pour exécuter notamment des mises à jour de données et une ou plusieurs mémoires pour mémoriser les données partagées. L'interface de communication ICn peut comprendre une ou plusieurs unités de réception pour recevoir différentes données d'entrée et une ou plusieurs unités d'envoi pour envoyer différentes données de sorties, les données étant des informations de contrôle, des demandes et réponses, par exemple. L'unité de réception et l'unité d'envoi comprennent un transmetteur et/ou un récepteur ou un moyen correspondant pour transmettre et recevoir des informations et exécuter les fonctions nécessaires afin que les contenus, les informations de contrôle, etc puissent être reçus et ou transmis. Les unités de réception et de transmission peuvent comprendre un ensemble d'antennes, le nombre n'étant pas limité à un nombre en particulier. BDn of the control unit are interconnected by a bidirectional bus. The access interface IA n and the token server SJ n are considered as software modules and are distributed in the set of memories ME n . The memories may be volatile or nonvolatile memories, for example EEPROM, ROM, PRM, RAM, DRAM, SRAM, firmware, programmable logic and typically store contents, data or the like. In addition, the memories can store computer program codes, for example the program codes of the operating systems. The memories can be for example random access, or a hard disk, or a combination of these means. Moreover the memories can be removable or detachable memories connected to the control unit. The database may be embedded in the control unit UC n , or be independent in the form of a database management server (not shown in Fig. 1B) which is connected to the control unit with or without wire. The database may include a processing unit for executing including updates of data and one or more memories for storing the shared data. The communication interface IC n may comprise one or more reception units for receiving different input data and one or more sending units for sending different output data, the data being control information, requests and responses, for example. The receiving unit and the sending unit comprise a transmitter and / or a receiver or corresponding means for transmitting and receiving information and performing the necessary functions so that the contents, the control information, etc. can be received and or transmitted. The receiving and transmitting units may comprise a set of antennas, the number not being limited to a particular number.
La suite de la description décrit plus en détail les différentes unités composant un des sites de gestion du système SG, appelé site de gestion local STn. Le site local STn peut communiquer avec au moins un site distant STd, avec 1 < d < N et d≠ n, appartenant également au système de gestion de données SG, lors de l'exécution du procédé selon l'invention. The remainder of the description describes in more detail the different units comprising one of the management sites of the SG system, called the local management site ST n . The local site ST n can communicate with at least one remote site STd, with 1 <d <N and d ≠ n, also belonging to the data management system SG, during the execution of the method according to the invention.
Les mémoires des bases de données BDi à BDN du système de gestion de données SG comportent en partie ou en totalité un même ensemble de K données distinctes, dites dans la suite de la description, données partagées D-j à D|<, avec K un entier supérieur ou égal à un. Dans les bases de données, chaque donnée est associée à un identificateur de donnée unique, tel qu'une adresse unique de mémorisation de la donnée dans les bases de données ou une valeur unique liée à la donnée. Ces données partagées Di à D|< sont regroupées de manière disjointe dans des groupes de données. Une même donnée n'est mémorisée que dans un seul groupe de données. Chaque base de données comporte en partie ou en totalité les différents groupes de données. Dans chaque base de données locale BDn, parmi les groupes de données mémorisés certains groupes sont considérés comme groupes de données maîtres et sont identifiés tels quels dans la base de données, les autres groupes étant considérés comme groupes de données esclaves et étant également identifiés tels quels dans la base de données. Les groupes de données maîtres sont distincts d'une base de données à l'autre. The memories of databases BDi to BDN of the data management system SG comprise part or all of the same set of K distinct data, hereinafter described in the description, shared data Dj to D | <, with K an integer greater than or equal to one. In databases, each data is associated with a unique data identifier, such as a unique data storage address in the databases or a unique value related to the data. These shared data Di to D | <are disjointly grouped into groups of data. The same data is stored in only one data group. Each database contains some or all of the different groups of data. In each local database BD n , among the groups of data stored some groups are considered as groups of master data and are identified as such. in the database, the other groups being considered slave data groups and also being identified as such in the database. Master data groups are distinct from one database to another.
5 Un groupe de données maître dans une base de données locale BDn est un groupe de données dont l'état d'accès associé à chaque donnée du groupe est géré localement par le serveur de jeton local SJn- En variante un état d'accès associé au groupe maître lui-même peut être mémorisé dans le serveur de jeton local. Le groupe de données est considéré comme groupe i o de données maître dans une base de données et comme groupe de données esclave dans les autres bases de données du système de gestion de données multi-sites. Une des bases de données du système peut comprendre uniquement des groupes de données esclaves. 5 A master data group in a local database BD n is a group of data whose access state associated with each data item of the group is managed locally by the local token server SJ n - Alternatively a state of Access associated with the master group itself can be stored in the local token server. The data group is considered as a master data group in a database and as a slave data group in the other databases of the multi-site data management system. One of the system databases may include only slave data groups.
Pour toute donnée appartenant à un groupe de données maître dans la For any data belonging to a master data group in the
15 base de données locale et appartenant par conséquence aux groupes de données esclave correspondants dans d'autres sites, le site local correspond au site maître desdites données. 15 local database and consequently belonging to the corresponding slave data groups in other sites, the local site corresponds to the master site of said data.
Un accès en écriture à une donnée d'un groupe de données maître dans la base de données locale BDn ne nécessite pas une mise à jour de laA write access to a data of a master data group in the local database BD n does not require an update of the
2 0 donnée dans les autres bases de données du système de gestion. Les données d'un groupe de données maître dans la base de données locale sont considérées comme étant toujours à jour. In the other databases of the management system. Data from a master data group in the local database is considered to be always up to date.
Un groupe de données esclave dans la base de données locale BDn est un groupe de données dont l'état d'accès en écriture associé à chaqueA slave data group in the local database BD n is a group of data whose write access status associated with each
25 donnée du groupe est géré dans un site maître distant distinct du site local. The group data is managed in a remote master site separate from the local site.
Un site maître distant gérant les états d'accès associés aux données d'un groupe de données esclave de la base de données locale peut être différent d'un autre site maître distant gérant les états d'accès associés aux données d'un autre groupe de données esclave de la base de données A remote master site managing the access states associated with the data of a slave data group of the local database may be different from another remote master site managing the access states associated with the data of another group slave data from the database
30 locale. 30 local.
Un site maître distant STd comprend un serveur de jeton distant SJd pour mémoriser l'état d'accès associé à chaque donnée du groupe de données maître distant correspondant à un groupe de données esclave de la base de données locale. Un site maître distant STd comprend également 35 une base de données, dite base de données distante BDd, mémorisant en partie ou en totalité les mêmes groupes de données que la base de données locale, en particulier les données dudit groupe de données maître distant. A remote master site STd includes a remote token server SJd for storing the access state associated with each data of the remote master data group corresponding to a slave data group of the local database. A remote master site STd also includes a database, called remote database BDd, storing in part or all of the same data groups as the local database, in particular the data of said remote master data group.
L'accès à une donnée du groupe esclave dans la base de données locale BDn par l'interface d'accès locale IAn nécessite zéro, une ou deux mises à jour de la donnée partagée, selon le type d'accès, par duplication de la donnée entre le groupe de données esclave mémorisé dans la base de données locale BDN et le groupe de données maître distant correspondant mémorisé dans la base de données distante BDd-Access to a data of the slave group in the local database BD n by the local access interface IA n requires zero, one or two updates of the shared data, depending on the type of access, by duplication data between the slave data group stored in the local database BD N and the corresponding remote master data group stored in the remote database BDd-
On entend par terminal Tn, une station de travail tel qu'un ordinateur portable, un livre électronique, un téléphone évolué ("smartphone" en anglais), un ordinateur personnel, un micro-ordinateur, un assistant personnel numérique ou un dispositif embarqué dans un véhicule. Le terminal Tn comporte une ou plusieurs applications locales An aptes à se connecter à l'interface d'accès locale IAn pour solliciter l'accès à une donnée partagée. Tn terminal means a workstation such as a laptop, an e-book, a smartphone, a personal computer, a microcomputer, a digital personal assistant or a device embedded in a computer. a vehicle. The terminal Tn comprises one or more local applications A n able to connect to the local access interface IA n to request access to shared data.
Une application An peut être une application opérant sur des données partagées mémorisées dans les bases de données BDi à BDN du système de gestion de données SG. Une ou des applications Ai à AN forment, par exemple, un logiciel de gestion d'une bibliothèque multi-site comportant des groupes d'abonnés, des groupes livres et des groupes d'auteurs sur plusieurs sites. An application A n can be an application operating on shared data stored in databases BDi to BDN of the data management system SG. One or more applications Ai to AN form, for example, management software for a multi-site library comprising groups of subscribers, groups of books and groups of authors on several sites.
Les applications Ai à A peuvent également correspondre à un logiciel de gestion des ressources humaines d'une grande entreprise implantée sur plusieurs sites. Ces applications accèdent à un ensemble de bases de données dans lesquelles sont enregistrés des groupes d'employés, des groupes de managers, des groupes métier, des groupes projet, etc.  The applications Ai to A can also correspond to a human resources management software of a large company implanted on several sites. These applications access a set of databases in which groups of employees, groups of managers, business groups, project groups, etc. are registered.
Les opérations demandées par une application locale An à effectuer sur une donnée partagée impliquent des accès en lecture ou en écriture à la donnée dans la base de données locale BDn. Plus particulièrement, l'accès en écriture à la donnée peut correspondre soit à une opération de modification de la donnée, une opération de suppression de la donnée ou une opération de création de la donnée dans un groupe de données maître ou esclave de la base de données locale BDn. Selon l'opération requise et selon le type de groupe maître ou esclave comprenant la donnée partagée, l'accès à la donnée implique une gestion différente par l'interface d'accès locale IAn. The operations requested by a local application A n to be performed on shared data imply read or write access to the data in the local database BD n . More particularly, the write access to the data may correspond to either a data modification operation, a data deletion operation or a data creation operation in a master or slave data group of the data base. local data BD n . Depending on the required operation and depending on the type of master or slave group including the shared data, access to the data implies different management by the local access interface IA n .
Lors d'une lecture de la donnée dans un groupe maître ou esclave la donnée est considérée comme toujours accessible en lecture. Avant l'opération de lecture de la donnée appartenant à un groupe de données esclave, une mise à jour de la donnée peut être exécutée entre la base de données locale BDn et la base de données distante BDd mémorisant le groupe de données maître correspondant. When reading the data in a master or slave group, the data is considered to be still readable. Before the read operation of the data belonging to a slave data group, an update of the data can be executed between the local database BD n and the remote database BDd storing the corresponding master data group.
Avant une modification de la donnée dans la base de données locale Before a modification of the data in the local database
BDn pour l'application locale An, l'accès en écriture à la donnée dans toutes les bases de données est préalablement mis à l'état d'accès verrouillé pour les autres applications du système SG. Le verrouillage de l'accès en écriture à la donnée permet d'éviter tout conflit d'accès multiple à la donnée dans les différentes bases de données du système. BD n for the local application A n , the write access to the data in all the databases is previously set to the locked access state for the other applications of the system SG. Locking the write access to the data makes it possible to avoid multiple data access conflicts in the various databases of the system.
Avant une suppression de la donnée dans la base de données locale BDn pour l'application An, les accès en écriture respectivement à toutes les données du groupe de données incluant la donnée à supprimer dans toutes les bases de données sont préalablement mis à l'état d'accès verrouillé pour les autres applications du système SG. Le verrouillage des accès en écriture respectivement des données du groupe permet d'éviter tout conflit d'accès multiples aux données dans les différentes bases de données. Before a deletion of the data in the local database BD n for the application A n , the write accesses respectively to all the data of the data group including the data to be deleted in all the databases are previously set to locked access status for other SG system applications. Locking write access or group data respectively prevents multiple data access conflicts in different databases.
Avant une création d'une donnée dans la base de données locale BDn pour l'application locale An, l'accès en écriture à un nouvel identificateur unique de donnée à associer à la donnée à créer dans toutes les bases de données est préalablement mis à l'état d'accès verrouillé pour les autres applications du système SG afin d'éviter tout conflit de non unicité de la donnée. Before creating data in the local database BD n for the local application A n , the write access to a new unique data identifier to be associated with the data to be created in all the databases is previously set the locked access state for other applications of the SG system to avoid any conflict of uniqueness of the data.
En outre, lors d'un accès en lecture ou en écriture à une donnée, ou à son identificateur unique, appartenant à un groupe de données esclave zéro, une ou deux mises à jour de la donnée selon le type d'opération requise, entre la base de données locale Bdn et la base de données distante BDd incluant le groupe de données maître correspondant sont exécutées. Ces mises à jour sont décrites plus en détail ultérieurement en référence au diagramme fonctionnel illustré aux figures 2 à 4. L'interface d'accès locale IAn analyse l'opération requise par l'application locale An et la ou les données concernées par l'opération. L'interface d'accès locale IAn vérifie via le serveur de jeton local SJn l'état d'accès en écriture associé à la donnée partagée, la donnée appartenant soit à un groupe de données maître soit à un groupe de données esclave de la base de données locale BDn. Pour accéder à une donnée vérifiée à l'état d'accès accessible, l'interface d'accès IAn commande le verrouillage puis le déverrouillage, une fois l'opération terminée, de l'accès à la donnée ou au groupe de données associé pour les autres applications du système SG. Le serveur de jeton local exécute la commande de verrouillage /déverrouillage de l'interface d'accès soit localement soit en faisant appel à un serveur de jeton distant. Si la donnée appartient à un groupe de données esclave, l'interface d'accès locale IAn commande une ou deux mises à jour, selon le type d'accès, des bases de données locale et distante. Les mises à jour entre les deux bases de données sont exécutées de manière connue. Par exemple une première base de données transmet un journal de données modifiées vers une deuxième base de données qui duplique les données modifiées et les mémorise par écrasement des données initiales. Ces mises à jour garantissent une donnée cohérente dans toutes les bases de données. De même l'interface d'accès locale IAn peut commander périodiquement la mise à jour des groupes de données esclaves contenus dans la base de données locale BDn afin d'éviter une trop grande divergence dans le temps entre les bases de données du système SG. En variante, c'est l'unité de traitement de la base de données locale qui commande et exécute la mise à jour des groupes de données esclaves. In addition, during read or write access to a datum, or its unique identifier, belonging to a zero slave data group, one or two updates of the datum according to the type of operation required, between the local database Bd n and the remote database BDd including the corresponding master data group are executed. These updates are described in more detail later with reference to the functional diagram shown in FIGS. 2 to 4. The local access interface IA n analyzes the operation required by the local application A n and the data or data concerned by the operation. The local access interface IA n checks via the local token server SJ n write access state associated with the shared data, the data belonging to either a master data set is a data group of slave the local database BD n . In order to access verified data in the accessible access state, the access interface IA n controls the locking and then the unlocking, once the operation is over, access to the data item or the associated data group. for other applications of the SG system. The local token server executes the lock / unlock command of the access interface either locally or by calling a remote token server. If the data belongs to a slave data group, the local access interface IA n controls one or two updates, depending on the type of access, of the local and remote databases. The updates between the two databases are executed in a known manner. For example, a first database transmits a modified data log to a second database that duplicates the changed data and stores it by overwriting the original data. These updates ensure consistent data across all databases. Similarly, the local access interface IA n can periodically control the updating of the slave data groups contained in the local database BD n in order to avoid a too great divergence in time between the databases of the system SG. As a variant, it is the processing unit of the local database that controls and executes the update of the slave data groups.
Lors de la détection du mode dégradé du système SG, due à une défaillance du système SG, l'interface d'accès locale IAn rend impossible ou annule toutes opérations effectuées sur des données de groupes esclaves si ces opérations n'ont pas été mises à jour dans les bases de données distantes contenant les groupes de données maître correspondants. Puis, l'interface d'accès IAn commande le déverrouillage des accès aux données de groupes esclaves qui ont été précédemment verrouillés. Ces opérations de déverrouillage seront effectuées dés le rétablissement de la liaison. Upon detection of the degraded mode of the SG system, due to failure of the SG system, local access interface IA n makes it impossible or cancel any operations on data slave groups if such transactions have not been in remote databases that contain the corresponding master data groups. Then, the access interface IA n controls the unlocking of the access to the data of slave groups that were previously locked. These unlocking operations will be performed as soon as the link is restored.
Le serveur de jeton local vérifie SJn si une donnée d'un groupe de données maître est accessible. Le serveur de jeton local exécute le verrouillage/déverrouillage de l'accès à cette donnée. Dans le serveur de jeton SJn l'accès en écriture à une donnée partagée appartenant à un groupe de données maître de la base de données locale est verrouillé lorsque l'état d'accès associé à la donnée est mémorisé à l'état verrouillé. Plus particulièrement, l'état verrouillé correspond à un verrou, appelé également jeton, associé à la donnée dans le serveur de jeton local SJn. De même, dans le serveur de jeton, l'accès en écriture à la donnée partagée appartenant à un groupe de données maître de la base de données locale est accessible lorsque l'état d'accès associé à la donnée est mémorisé à l'état accessible, c'est-à-dire que la donnée n'est pas associée à un jeton. Un état d'accès peut également être associé à un groupe de données maître local dans le serveur de jeton local, un état d'accès verrouillé étant considéré comme identique pour toutes les données du groupe de données maître local, chaque donnée du groupe étant associée à un jeton. The local token server checks SJ n if data from a master data group is accessible. The local token server runs the locking / unlocking access to this data. In the token server SJ n write access to shared data belonging to a master data group of the local database is locked when the access state associated with the data is stored in the locked state. More particularly, the locked state corresponds to a lock, also called token, associated with the data in the local token server SJ n . Similarly, in the token server, the write access to the shared data belonging to a master data group of the local database is accessible when the access state associated with the data item is stored in the state accessible, that is, the data is not associated with a token. An access state may also be associated with a local master data group in the local token server, a locked access state being considered the same for all data in the local master data group, with each group data being associated to a token.
Selon une réalisation de l'invention, la mémorisation de l'état d'accès associé à une donnée dans un serveur de jeton local est réalisée dans une table de jeton locale TJn. La table de jeton locale TJn apparie chaque identificateur unique de donnée partagée appartenant à un groupe de données maître de la base de données locale BDn à un jeton, si l'accès en écriture à la donnée est à l'état verrouillé. Pour un identificateur d'une donnée compris dans la table de jeton TJn et non apparié à un jeton, l'accès en écriture à la dite donnée est considéré à l'état accessible. De même pour un état d'accès associé à un groupe de données maître local dans le serveur de jeton local, le serveur apparié toutes les données du groupe respectivement à un jeton si l'accès en écriture au groupe de données est à l'état verrouillé. Un identificateur unique de donnée peut être apparié à un type de jeton selon l'opération en cours de traitement sur la donnée partagée. Un jeton, dit jeton de modification, est apparié à un identificateur de donnée à modifier. Dans ce cas, l'accès en écriture à la donnée est à l'état verrouillé pour modification. Un jeton, dit jeton de suppression, est apparié à un identificateur de groupe de données dans lequel au moins une donnée est à supprimer. Dans ce cas, l'accès en écriture à chaque donnée du groupe est à l'état verrouillé. Un jeton, dit jeton de création, est apparié à un identificateur de donnée à associer à la donnée une fois celle-ci créée. En variante, la table de jeton TJn ne comprend que les identificateurs des données ou groupes de données maîtres chacun apparié à un type de jeton tel que précédemment décrit et dont l'accès en écriture à la donnée est à l'état verrouillé. Pour les identificateurs de données appartenant à des groupes de données maîtres non présents dans la table, l'accès en écriture auxdites données est considéré comme non verrouillé et est à l'état accessible. According to one embodiment of the invention, the storage of the access state associated with data in a local token server is performed in a local token table TJ n . The local token table TJ n matches each unique identifier of shared data belonging to a master data group of the local database BD n to a token, if the write access to the data is in the locked state. For an identifier of a data included in the token table TJ n and not matched to a token, the write access to said data is considered to be accessible. Similarly, for an access state associated with a local master data group in the local token server, the server matches all group data to a token, respectively, if the write access to the data group is in the state Locked. A unique data identifier may be matched to a type of token depending on the operation being processed on the shared data. A token, referred to as a modification token, is matched to a data identifier to be modified. In this case, the write access to the data is in the locked state for modification. A token, called the delete token, is matched to a data group identifier in which at least one data item is to be deleted. In this case, the write access to each data item in the group is in the locked state. A token, said creation token, is matched to a data identifier to be associated with the data once it has been created. As a variant, the token table TJ n only includes the identifiers of the data or group of master data each matched to a type of token as previously described and whose write access to the data is in the locked state. For data identifiers belonging to groups of master data not present in the table, write access to said data is considered to be unlocked and is in the accessible state.
Pour vérifier si une donnée d'un groupe de données esclave est accessible et/ou pour exécuter le verrouillage/déverrouillage de l'accès à cette donnée, le serveur de jeton local fait appel au serveur de jeton distant qui gère l'état d'accès associé à ladite donnée. Le serveur de jeton distant comprend également une table de jeton.  To check whether data of a slave data group is accessible and / or to execute the locking / unlocking of access to this data, the local token server uses the remote token server which manages the state of the data. access associated with said data. The remote token server also includes a token table.
Une défaillance du système SG est détectée par le serveur de jeton local SJn lorsqu'il ne peut pas communiquer avec un serveur de jeton distant. De même, une défaillance du système SG est détectée par la base de données locale BDn lorsqu'elle ne peut pas communiquer avec une base de données distante. En variante, c'est l'interface de communication du site local qui détecte une défaillance du système SG lorsqu'elle ne peut pas communiquer avec une autre interface de communication d'un site distant. Le site local passe alors en mode dégradé et seules les données appartenant aux groupes de données maître peuvent être accessibles en écriture et lecture par les applications locales. Les données appartenant à des groupes de données esclaves dans la base de données locale et dont l'état d'accès en écriture ne peut être vérifié sont accessibles uniquement en lecture. A failure of the SG system is detected by the local token server SJ n when it can not communicate with a remote server chip. Similarly, a failure of the system SG is detected by the local database BD n when it can not communicate with a remote database. Alternatively, it is the communication interface of the local site that detects a failure of the SG system when it can not communicate with another communication interface of a remote site. The local site then enters degraded mode and only the data belonging to the master data groups can be read and read by the local applications. Data belonging to slave data groups in the local database and whose write access status can not be verified is only readable.
Selon la donnée et/ou selon l'opération à effectuer sur la donnée des règles d'accessibilité appelées RA dans la suite de la description peuvent être également associées aux données. Ces règles doivent être satisfaites pour considérer la donnée comme accessible. Si la règle d'accessibilité associée à la donnée est satisfaite et si l'accès à la donnée n'est pas à l'état verrouillé, la donnée est réputée accessible. Au contraire, si la donnée est à l'état accessible et que la règle d'accessibilité associée n'est pas satisfaite alors la donnée est réputée non accessible. Un exemple de règle d'accessibilité RA concerne des liens établis ou potentiellement à établir entre des données de groupes différents. Ces règles permettent d'éviter qu'une donnée liée à une autre donnée d'un même groupe ou d'un autre groupe de données ne soit supprimée, pouvant de ce fait entraîner un problème de cohérence dans les bases de données. Les règles d'accessibilité peuvent également empêcher la suppression ou la modification de certaines données lorsqu'un site de gestion spécifique ou quelconque est en mode dégradé. Des règles d'accessibilités peuvent être, par exemple, appliquées dans un système gérant des bases de données relationnelles. Ces règles d'accessibilité peuvent être mémorisées dans une table de règles TR appariant chaque règle à un identificateur unique de données ou de groupe de données. La table de règles TR peut-être mémorisée dans chaque interface d'accès du système SG. Pour vérifier l'accessibilité d'une donnée partagée l'interface locale d'accès doit vérifier si la donnée est associée à un jeton et si la règle associée à la donnée est satisfaite. Depending on the data and / or the operation to be performed on the data of the accessibility rules called RA in the following description may also be associated with the data. These rules must be satisfied to consider the data as accessible. If the accessibility rule associated with the data is satisfied and access to the data is not in the locked state, the data is deemed accessible. On the contrary, if the data is in the accessible state and the associated accessibility rule is not satisfied then the data is deemed not accessible. An example of an accessibility rule RA concerns links established or potentially to be established between data of different groups. These rules make it possible to prevent data related to another data item from the same group or from another data group is deleted, which may result in a database consistency issue. Accessibility rules can also prevent the deletion or modification of certain data when a specific management site or any one is in degraded mode. Accessibility rules can be, for example, applied in a system managing relational databases. These accessibility rules can be stored in a TR rules table that matches each rule to a unique data or data group identifier. The rule table TR can be stored in each access interface of the system SG. To verify the accessibility of shared data, the local access interface must check whether the data is associated with a token and whether the rule associated with the data is satisfied.
Afin de communiquer avec les sites distants, chaque site locale STn peut comprendre une table de localisation. La table de localisation apparie chaque identificateur de groupes de données mémorisés dans la base de données locale à l'identificateur du site maître correspondant. Cet identificateur de site correspond par exemple à une adresse réseau de site. La table de localisation peut être mémorisée dans l'interface d'accès locale IAn. En variante, la table de localisation peut être mémorisée également dans le serveur de jeton local. En variante encore, la table de localisation TL est mémorisée dans toute entité du système SG, par exemple l'interface de communication ou la base de données locale, permettant d'informer sur l'identité d'un site apparié à un groupe de données maître. In order to communicate with the remote sites, each local site ST n can include a location table. The location table matches each identifier of groups of data stored in the local database with the identifier of the corresponding master site. This site identifier corresponds for example to a site network address. The location table can be stored in the local access interface IA n . Alternatively, the location table can be stored also in the local token server. In another variant, the location table TL is stored in any entity of the system SG, for example the communication interface or the local database, making it possible to inform on the identity of a site paired with a group of data. master.
Les diagrammes fonctionnels AG1 , AG2 et AG3 représentent les étapes du procédé de gestion d'une donnée partagée D appartenant à un groupe de données Gm dans la base de données locale BDn, en fonctionnement normal du système SG. Les diagrammes fonctionnels AG1 , AG2 et AG3 sont implémentés dans chaque site du système SG. The functional diagrams AG1, AG2 and AG3 represent the steps of the method of managing shared data D belonging to a data group G m in the local database BD n , in normal operation of the system SG. Functional diagrams AG1, AG2 and AG3 are implemented in each site of the SG system.
Le diagramme fonctionnel AG1 illustré à la figure 2 comprend plus particulièrement les étapes du procédé selon l'invention lors d'une demande d'accès en lecture à une donnée de la base de données locale BDn. Le diagramme fonctionnel AG1 comprend les étapes principales E1-1 à E1-15. The functional diagram AG1 illustrated in FIG. 2 more particularly comprises the steps of the method according to the invention during a request for read access to a datum of the local database BD n . The functional diagram AG1 comprises the main steps E1-1 to E1-15.
A l'étape E1 -1 , une application locale An sollicite un accès à une donnée partagée à l'interface d'accès locale IAn. Ainsi l'application An transmet à l'interface d'accès locale IAn une demande d'opération DOP(ld-D) sur une donnée D identifiée par l'identificateur unique Id-D. In step E1 -1, a local application A n requests access to shared data at the local access interface IA n . So the application An transmits to the local access interface IA n a DOP operation request (ld-D) on a data item D identified by the unique identifier Id-D.
A l'étape E1-2, l'interface d'accès locale IAn analyse la demande et vérifie si la demande d'opération DOP demandée nécessite un accès à la donnée en lecture - référencé "READ" sur la figure 2 - ou en écriture. Si l'opération nécessite un accès en écriture à la donnée, le procédé est exécuté selon les étapes du diagramme fonctionnel AG2 décrit ultérieurement en référence à la figure 3. Si l'opération nécessite un accès en lecture à la donnée, l'interface d'accès IAn vérifie à l'étape E1 -3, si la donnée D appartient à un groupe de données maître - référencé GMn sur la figure 2- ou un groupe de données esclave. Cette vérification est, par exemple, effectuée en faisant appel à la base de données locale dans laquelle est définie l'appartenance de la donnée à un groupe de données esclave ou maître. En variante, la vérification peut se faire en fonction de la table de localisation. Si l'identificateur du groupe de données comportant la donnée est apparié à l'identificateur du site local alors le groupe est considéré comme groupe maître. Dans le cas contraire le groupe est considéré comme groupe esclave. At step E1-2, the local access interface IA n analyzes the request and checks whether the requested DOP operation request requires access to the data read - referenced "READ" in Fig 2 - or writing. If the operation requires write access to the data, the method is executed according to the steps of the functional diagram AG2 described later with reference to FIG. 3. If the operation requires read access to the data, the interface IA access n checks in step E1 -3, whether the data D belongs to a master data group - referenced GM n in Figure 2- or a group of data slave. This verification is, for example, performed using the local database in which the membership of the data is defined to a data group slave or master. Alternatively, the verification can be done according to the location table. If the identifier of the data group with the data is matched to the local site identifier then the group is considered a master group. Otherwise, the group is considered a slave group.
A l'étape E1-3, si la donnée appartient à un groupe de données esclave, l'interface d'accès vérifie, à l'étape E1-4, si la dernière mise à jour de la donnée entre la base de données locale BDn et la base de données distante BDd, comprenant le groupe maître correspondant audit groupe esclave, a été commandée par l'interface d'accès locale IAn. Par exemple, un indicateur UD-D, appelé également "flag" en anglais, associé à la donnée D dans l'interface d'accès IAn, est mis à la valeur 1 dès que la mise à jour de la donnée D, commandée par l'interface d'accès locale, a été exécutée. Puis, un message notifiant la mise à jour de la donnée ou du groupe de données esclave est envoyé depuis le site ayant commandé la dernière mise à jour vers les autres sites distants comportant respectivement les bases de données mémorisant le groupe de données défini comme esclave. A la réception de ce message chaque site récepteur met à zéro l'indicateur UD-D correspondant indiquant de ce fait que la dernière mise jour de la donnée D n'a pas été commandée par l'interface d'accès du site. Selon cette réalisation l'interface d'accès de chaque site comprend une table appariant un indicateur UD-D à l'identificateur unique d'une donnée D. D'autres réalisations connues peuvent être appliquées permettant de vérifier si la dernière mise à jour de la donnée D a été commandée par l'interface d'accès locale. In step E1-3, if the data belongs to a slave data group, the access interface checks, in step E1-4, whether the last update of the data between the local database BD n and the remote database BDd, including the master group corresponding to said slave group, was controlled by the local access interface IA n . For example, a UD-D indicator, also called "flag" in English, associated with the data D in the access interface IA n , is set to 1 as soon as the update of the data D, commanded through the local access interface, has been executed. Then, a message notifying the update of the data or the slave data group is sent from the site having ordered the last update to the other remote sites respectively containing the databases storing the data group defined as slave. On receipt of this message, each receiving site sets the corresponding UD-D flag to zero, thereby indicating that the last update of the data D has not been commanded by the access interface of the site. According to this embodiment, the access interface of each site comprises a table matching a UD-D indicator to the unique identifier of a data item D. Others known implementations can be applied to check if the last update of the data D has been controlled by the local access interface.
A l'étape E1 -4, si la dernière mise à jour de la donnée D n'a pas été commandée par l'interface d'accès locale (UD-D = 0), alors l'interface d'accès locale commande la mise à jour de la donnée D entre la base de données locale BDn et la base de données distante BDd. La mise à jour est exécutée de manière connue entre les deux bases de données. Par exemple, l'interface d'accès IAn transmet une demande de mise à jour DU(ld-D, Id-STd), à la base de données locale BDn, à l'étape E1 -5. La demande DU comporte l'identificateur Id-D de la donnée D et l'identificateur Id-STd du site maître distant Td comportant la base de données distante BDd, l'identificateur Id-STd pouvant être mémorisé dans la table de localisation. Après retransmission de la demande de mise à jour DU(ld-D) depuis la base de données locale vers la base de données distante, à l'étape E1-6, la mise à jour de la donnée D ou du groupe de données associé mémorisé dans la base de données distante vers la base de données locale, est exécutée à l'étape E1 -7. Selon une méthode connue, la mise à jour d'une donnée ou d'un groupe de données d'une première base de données vers une deuxième base de données est effectuée par transmission d'un journal de données répertoriant uniquement les différences entre les deux bases de données. Une donnée qui n'a pas été modifiée dans l'une des bases de données n'est pas mise à jour dans l'autre base de données. Une donnée qui a été modifiée entre les deux bases de données est mise à jour par duplication de la donnée dans une des deux bases de données pour être mémorisées dans l'autre base de données. Après mise à jour des bases de données, une réponse de mise à jour RU(ld- D), à l'étape E1-8, est transmise depuis la base de données locale vers l'interface d'accès locale. A l'étape E1 -9, l'interface d'accès locale prend en compte qu'elle est l'initiatrice de la dernière mise à jour de la donnée D, par exemple en mettant à un l'indicateur UD-D, et en informe les autres sites distants comportant respectivement les bases de données mémorisant le groupe de données défini comme esclave. In step E1 -4, if the last update of the data D has not been commanded by the local access interface (UD-D = 0), then the local access interface controls the updating the data D between the local database BD n and the remote database BDd. The update is executed in a known manner between the two databases. For example, the access interface IA n transmits an update request DU (Id-D, Id-STd) to the local database BD n at step E1 -5. The request D1 comprises the identifier Id-D of the data D and the identifier Id-STd of the remote master site Td comprising the remote database BDd, the identifier Id-STd being able to be stored in the location table. After retransmitting the update request DU (ld-D) from the local database to the remote database, in step E1-6, updating the data D or the associated data group stored in the remote database to the local database, is executed in step E1 -7. According to a known method, updating a datum or a group of data from a first database to a second database is performed by transmitting a data log listing only the differences between the two databases. data base. Data that has not been changed in one of the databases is not updated in the other database. Data that has been changed between the two databases is updated by duplicating the data in one of the two databases to be stored in the other database. After updating the databases, an update response RU (ld-D), in step E1-8, is transmitted from the local database to the local access interface. In step E1 -9, the local access interface takes into account that it is the initiator of the last update of the data item D, for example by setting the indicator UD-D to one, and informs the other remote sites respectively containing the databases storing the data group defined as slave.
A l'étape E1 -10, si la donnée appartient à un groupe de données maître selon l'étape E1-3, ou si la donnée D appartient à un groupe de données esclave et que l'interface d'accès locale a commandé la dernière mise à jour de la donnée selon l'étape E1 -4 ou l'étape E1-9, alors l'interface d'accès locale informe, l'application locale que la donnée D est accessible en lecture. Par exemple, l'interface d'accès IAn transmet une réponse d'opération ROP(OK, Id-D) à l'application An, en identifiant la donnée par son identificateur Id-D. A la réception de la réponse ROP(OK, Id-D) et aux étapes E1-1 1 et E1 -12, l'application An transmet une opération de lecture OP(ld-D) à la base de données locale BDn via l'interface d'accès IAn, en identifiant la donnée D par son identificateur Id-D. A la réception de l'opération OP, à l'étape E1-13, la base de données locale BDn traite l'opération OP sur la donnée D. Puis, aux étapes E1 -14 et E1-15, la base de données transmet un acquittement de l'opération ACK-OP(ld-D) à l'application An via l'interface d'accès IAn. In step E1 -10, if the data belongs to a master data group according to step E1-3, or if data D belongs to a data group slave and the local access interface has ordered the last update of the data according to step E1 -4 or step E1-9, then the local access interface informs, the local application that the data D is readable. For example, the access interface IA n transmits a ROP operation response (OK, Id-D) to the application A n , identifying the data by its identifier Id-D. Upon receipt of the ROP response (OK, Id-D) and steps E1-1 1 and E1 -12, the application A n transmits a read operation OP (ld-D) to the local database BD n via the access interface IA n , by identifying the data D by its identifier Id-D. On receipt of the operation OP, in the step E1-13, the local database BD n processes the operation OP on the data D. Then, in the steps E1 -14 and E1-15, the database transmits an acknowledgment of the operation ACK-OP (ld-D) to the application A n via the access interface IA n .
En mode de fonctionnement dégradé du site local Tn, lorsque le site local ne peut communiquer avec le site distant T<j, l'interface d'accès locale peut autoriser ou interdire l'accès en lecture à la donnée dans la base de données locale. Cette autorisation peut être établie dans les règles d'accessibilité RA selon, par exemple, un niveau de cohérence souhaitée de la donnée lue et/ou selon l'utilisation qui va en être faite par l'application locale. In degraded operation mode of the local site T n , when the local site can not communicate with the remote site T <j, the local access interface may allow or prohibit read access to the data in the database local. This authorization can be established in the accessibility rules RA according to, for example, a desired level of coherence of the data read and / or according to the use that will be made by the local application.
A l'étape E1-2, si l'opération requise par l'application locale An nécessite un accès en écriture à la donnée, le procédé est exécuté selon les étapes du diagramme fonctionnel AG2. En référence à la figure 3, le diagramme fonctionnel AG2 comprend plus particulièrement les étapes du procédé selon l'invention lors d'un accès en écriture à la donnée appartenant à un groupe maître de la base de données locale BDn. Le diagramme fonctionnel AG2 comprend les étapes principales E2-1 à E2-18. In step E1-2, if the operation required by the local application A n requires write access to the data, the method is executed according to the steps of the functional diagram AG2. With reference to FIG. 3, the functional diagram AG2 more particularly comprises the steps of the method according to the invention during a write access to the data belonging to a master group of the local database BD n . The functional diagram AG2 comprises the main steps E2-1 to E2-18.
Après vérification que l'opération requise par l'application An nécessite un accès en écriture à la donnée, à l'étape E1-2 du diagramme fonctionnel AG1 , l'interface d'accès IAn vérifie, à l'étape E2-1 , si la donnée D appartient à un groupe de données maître GMn ou un groupe de données esclave. L'étape E2-1 est similaire à l'étape E1-3 du diagramme fonctionnel AG1 , et n'est donc pas décrite de manière détaillée. Si la donnée appartient à un groupe de données esclave, le procédé est exécuté selon les étapes du diagramme fonctionnel AG3 décrit ultérieurement en référence à la figure 4. Si la donnée appartient à un groupe de données maître, l'interface d'accès IAn transmet au serveur de jeton local SJn, à l'étape E2-2, une demande de vérification de jeton DVJ(ld-D) pour vérifier l'état d'accès en écriture à la donnée. La demande DVJ(ld-D) comporte notamment l'identificateur unique Id-D de la donnée D. A l'étape E2-3, à la réception de la demande DVJ(ld- D), le serveur de jeton local SJn vérifie localement dans la table de jeton locale TJn si l'identificateur de la donnée Id-D est apparié à un jeton J,. Puis, à l'étape E2-4, le serveur de jeton local SJn transmet une réponse de vérification de jeton RVJ(ld-D) à l'interface d'accès locale IAn informant de l'état d'accès en écriture à la donnée D identifiée dans la réponse RVJ par son identificateur Id-D. After verifying that the operation required by the application A n requires write access to the data, in step E1-2 of the functional diagram AG1, the access interface IA n checks, in step E2- 1, if the data item D belongs to a master data group GM n or a group of data slave. Step E2-1 is similar to step E1-3 of the AG1 functional diagram, and is therefore not described in detail. If the data belongs to a slave data group, the method is executed according to the steps of the functional diagram AG3 described later with reference to FIG. 4. If the data belongs to a master data group, the access interface IA n transmits to the local token server SJ n , in step E2-2, a DVJ token verification request (ld-D) to verify the write access state to the data. The DVJ request (ld-D) comprises in particular the unique identifier Id-D of the data D. In step E2-3, upon receipt of the DVJ request (ld-D), the local token server SJ n locally checks in the local token table TJ n if the identifier of the data Id-D is matched to a token J ,. Then, in step E2-4, the local token server SJ n transmits a token verification response RVJ (ld-D) to the local access interface IA n informing write access state to the data D identified in the RVJ response by its identifier Id-D.
A l'étape E2-5, l'interface d'accès IAn reçoit la réponse RVJ(ld-D). Si l'identificateur de la donnée ou du groupe de données est apparié à un jeton : TJn[ld-D] = J selon la réponse RVJ alors l'accès à la donnée est à l'état verrouillé. L'interface d'accès locale IAn transmet alors, à l'étape E2-6, une réponse d'opération ROP(NOK, Id-D) à l'application An indiquant que la donnée D n'est pas accessible en écriture. Selon une variante, si l'accès en écriture à la donnée est à l'état accessible et si une règle d'accès RA associée à la donnée ou au groupe de données, vérifiée par l'interface d'accès locale, n'est pas satisfaite, l'interface d'accès locale IAn transmet, à l'étape E2-6, une réponse d'opération ROP(NOK) à l'application An indiquant que la donnée D n'est pas accessible en écriture. L'application An réitérera sa demande d'opération ultérieurement en exécutant de nouveau l'étape E1- 1 du diagramme fonctionnel AG1. In step E2-5, the access interface IA n receives the response RVJ (ld-D). If the identifier of the data or group of data is matched to a token: TJ n [ld-D] = J according to the RVJ response, then access to the data is in the locked state. The local access interface IA n then transmits, in step E2-6, a ROP operation response (NOK, Id-D) to the application A n indicating that the data D is not accessible in writing. Alternatively, if the write access to the data is in the accessible state and if an access rule RA associated with the data or data group, verified by the local access interface, is not satisfied, the local access interface IA n transmits, in step E2-6, a ROP (NOK) operation response to the application A n indicating that the data D is not writable. The application A n reiterate its operation request again later by running step E1 1 AG1 block diagram.
A l'étape E2-5, si l'identificateur de la donnée ou du groupe de données n'est pas apparié à un jeton alors l'accès à la donnée est à l'état accessible, et, selon la variante précédente, si une règle d'accès RA associée à la donnée ou au groupe de données, vérifiée par l'interface d'accès est satisfaite, la donnée est considérée comme accessible en écriture. A l'étape E2-7, l'interface d'accès locale IAn commande le verrouillage de l'accès en écriture à la donnée par mémorisation de l'état d'accès à la donnée à l'état verrouillé dans le serveur de jeton local SJn, à l'étape E2-8. Plus particulièrement l'interface d'accès locale IAn transmet au serveur de jeton local SJn, à l'étape E2-7, une demande de création d'un jeton DCJ(ld-D) à associer à la donnée D afin de verrouiller l'accès en écriture à la donnée. A l'étape E2-8, dès la réception de la demande DCJ(ld-D) et pour une opération de modification sur la donnée D, le serveur de jeton SJn apparie dans la table de jeton TJn l'identificateur de la donnée Id-D à un jeton de modification. Pour une opération de suppression d'une donnée D, le serveur de jeton local SJn apparie l'identificateur du groupe de données Gm associé à la donnée D à un jeton de suppression ce qui revient à apparier tous les identificateurs des données appartenant audit groupe de données respectivement à un jeton de suppression. Pour une opération de création d'une donnée, l'identificateur unique Id-D à associer à la donnée est généré par l'interface d'accès et est apparié à un jeton de création dans la table de jeton local TJn par le serveur de jeton local SJn. Dans ce cas, le serveur de jeton local SJn notifie par un message les autres serveurs de jetons du système SG que l'accès à l'identificateur Id-D est verrouillé. A la réception dudit message les autres serveurs de jeton enregistrent dans leur table de jeton locale l'appariement de l'identificateur Id-D à un jeton de création. In step E2-5, if the identifier of the data item or group of data is not matched to a token then the access to the data item is in the accessible state, and, according to the previous variant, if an access rule RA associated with the data or group of data, verified by the access interface is satisfied, the data is considered to be writable. In step E2-7, the local access interface IA n controls the locking of the write access to the data by storing the state of access to the data in the locked state in the data server. local token SJ n , in step E2-8. More particularly, the interface IA n local access token transmits to the local server SJ n, in step E2-7, a request to create a token DCJ (ld-D) to associate with the data D to lock write access to the data. AT step E2-8, upon receipt of the DCJ request (ld-D) and for a modification operation on the data D, the token server SJ n matches in the token table TJ n the identifier of the data Id-D to a modification token. For a data deletion operation D, the local token server SJ n matches the identifier of the data group G m associated with the data D to a deletion token, which amounts to matching all the identifiers of the data belonging to the said data group respectively to a delete token. For a data creation operation, the unique identifier Id-D to be associated with the data is generated by the access interface and is matched to a creation token in the local token table TJ n by the server. of local token SJ n . Here, the local token server SJ No message notifies the other token server SG system access to Id-D identifier is locked. On receipt of said message, the other token servers register in their local token table the matching of the identifier Id-D to a creation token.
Puis à l'étape E2-9, le serveur de jeton local SJn transmet à l'interface d'accès locale IAn une réponse RCJ(ld-D) de création de jeton apparié à l'identificateur Id-D de la donnée D ou au groupe de données associé. Then in step E2-9, the local token server SJ n transmits to the local access interface IA n a response RCJ (ld-D) of creation of token matched with the identifier Id-D of the data D or the associated data group.
A l'étape E2-10, à la réception de la réponse de création de jeton RCJ(ld-D), l'interface d'accès locale IAn transmet à l'application locale An une réponse d'opération ROP(OK) indiquant que l'application An peut accéder à la donnée D dans la base de données locale BDn. In step E2-10, upon receipt of the RCJ token creation response (ld-D), the local access interface IA n transmits to the local application A n a ROP operation response (OK ) indicating that the application A n can access the data D in the local database BD n .
Selon une variante de réalisation et afin d'éviter un grand nombre d'échanges de messages entre l'interface d'accès locale et le serveur de jeton local, la vérification de l'accessibilité de la donnée - étape E2-3 - et la création d'un jeton associé à cette donnée vérifiée accessible - étape E2-8 - sont exécutées dans une même étape. Les étapes E2-4 à E2-7 sont supprimées et une nouvelle étape est ajoutée après l'étape E2-9. De manière plus détaillée, à l'étape E2-2 modifiée pour cette variante, l'interface d'accès locale transmet une demande de vérification de jeton et de création de jeton si la donnée est vérifiée accessible. Aux étapes E2-3 et E2-8, si la donnée est déjà verrouillée, aucun jeton n'est créé. Si la donnée est accessible, un jeton est créé tel que décrit précédemment. Puis le serveur de jeton local transmet, à l'étape E2-9, une réponse de vérification et de création à l'interface d'accès locale. Puis, dans une nouvelle étape, l'interface d'accès traite la réponse et transmet une réponse à l'application locale. Si l'accès à la donnée a été vérifiée à l'état verrouillé, l'interface d'accès transmet à l'application la réponse ROP(NOK, Id-D) - selon l'étape E2-6 - indiquant ainsi que l'application ne peut pas accéder à la donnée. Par contre, si un jeton a été créé et associé à la donnée, l'interface d'accès transmet la réponse ROP(OK, Id-D) - selon l'étape E2-10 - indiquant ainsi que l'application peut accéder à la donnée D. According to an alternative embodiment and in order to avoid a large number of message exchanges between the local access interface and the local token server, the verification of the accessibility of the data - step E2-3 - and the creation of a token associated with this accessible verified data item - step E2-8 - are executed in the same step. Steps E2-4 to E2-7 are deleted and a new step is added after step E2-9. In more detail, in step E2-2 modified for this variant, the local access interface transmits a request for token verification and token creation if the data is verified accessible. In steps E2-3 and E2-8, if the data is already locked, no tokens are created. If the data is accessible, a token is created as described above. Then the local token server transmits, in step E2-9, a verification and creation response to the local access interface. Then, in a new stage, the access interface processes the response and transmits a response to the local application. If the access to the data has been verified in the locked state, the access interface transmits to the application the response ROP (NOK, Id-D) - according to step E2-6 - thus indicating that the application can not access the data. By cons, if a token has been created and associated with the data, the access interface transmits the response ROP (OK, Id-D) - according to step E2-10 - indicating that the application can access the data D.
Selon l'une ou l'autre des réalisations précédentes, à la réception de la réponse ROP(OK) et aux étapes E2-1 1 et E2-12, l'application An transmet une opération OP(ld-D) à la base de données locale BDn via l'interface d'accès IAn, l'opération OP étant à traiter sur la donnée associée à l'identificateur Id-D. A l'étape E2-13, la base de données locale BDn reçoit l'opération OP, traite l'opération sur la donnée D et renvoie aux étapes E2-14 et E2-15, un acquittement de l'opération ACK-OP(ld-D), à l'application An via l'interface d'accès locale IAn. According to one or the other of the preceding embodiments, on receipt of the ROP (OK) response and in steps E2-1 1 and E2-12, the application A n transmits an operation OP (ld-D) to the local database BD n via the access interface IA n , the OP operation to be processed on the data associated with the identifier Id-D. In step E2-13, the local database BD n receives the operation OP, processes the operation on the data D and returns to the steps E2-14 and E2-15, an acknowledgment of the operation ACK-OP (ld-D), to the application A n via the local access interface IA n .
A l'étape E2-16, à la réception de l'acquittement ACK-OP, l'interface d'accès locale IAn commande le déverrouillage de l'accès en écriture à la donnée par mémorisation de l'état d'accès à la donnée à l'état accessible dans le serveur de jeton local SJn, à l'étape E2-17. Plus particulièrement, à l'étape E2-16, l'interface d'accès locale IAn transmet au serveur de jeton local SJn une demande de suppression DSJ(ld-D) de jeton apparié à l'identificateur Id-D de la donnée D ou du groupe de données associé. A l'étape E2-17 et à la réception de la demande de suppression de jeton DSJ, le serveur de jeton local SJn déverrouille l'accès à la donnée D : TJn[ld- D] = 0 en supprimant le jeton associé à l'identificateur Id-D.Ainsi, après une opération de modification sur la donnée D, le serveur de jeton SJn supprime dans la table de jeton locale TJn le jeton de modification apparié à l'identificateur de la donnée Id-D. Après une opération de suppression d'une donnée D, le serveur de jeton SJn supprime dans la table de jeton locale le jeton de suppression apparié à l'identificateur du groupe de données Gm associé à la donnée D ou en variante supprime tous les jetons de suppression appariés respectivement aux identificateurs des données appartenant audit groupe de données. Après une opération de création d'une donnée, le serveur de jeton local supprime le jeton de création apparié à l'identificateur unique associé à la donnée créée et notifie par un message les autres serveurs de jeton du système SG que ledit identificateur Id-D n'est plus verrouillé et est associé à une donnée. A la réception du message les autres serveurs de jeton suppriment dans leur table de jeton locale l'appariement de l'identificateur Id-D au jeton de création et supprime également l'identificateur Id-D. L'identificateur Id-D associé à la donnée créée peut être mémorisé dans chaque table d'allocation en association avec le groupe comportant la donnée créée. In step E2-16, upon receipt of the acknowledgment ACK-OP, the local access interface IA n controls the unlocking of the write access to the data by storing the access state to the data in the accessible state in the local token server SJ n , in step E2-17. More particularly, in step E2-16, the local access interface IA n transmits to the local token server SJ n a request to delete DSJ (ld-D) of the token matched with the identifier Id-D of the D data or the associated data group. At E2-17 stage and receiving the token removal request TSD, the local token server SJ n unlocks access to the data D: TJ n [ld D] = 0 by removing the associated token to the identifier Id-D.Thus, after a modification operation on the data D, the token server SJ n deletes in the local token table TJ n the modification token matched to the identifier of the data Id-D . After a data deletion operation D, the token server SJ n deletes from the local token table the deletion token paired with the identifier of the data group G m associated with the data D or alternatively deletes all delete tokens matched respectively to the identifiers of the data belonging to said data group. After a data creation operation, the local token server deletes the creation token matched to the unique identifier associated with the created data and notified by a message the other token servers of the system SG that said identifier Id-D is no longer locked and is associated with data. Upon receipt of the message, the other token servers delete in their local token table the matching of the identifier Id-D to the creation token and also deletes the identifier Id-D. The identifier Id-D associated with the data item created can be stored in each allocation table in association with the group comprising the data item created.
A l'étape E2-18, le serveur de jeton SJn transmet à l'interface d'accès IAn, une réponse de suppression RSJ(ld-D) de jeton. In the step E2-18, the token server SJ n transmits to the access interface IA n , a cancellation response RSJ (ld-D) token.
En revenant à l'étape E2-1 , la donnée est vérifiée appartenir à un groupe de données esclave et le procédé est exécuté selon les étapes du diagramme fonctionnel AG3 illustré à la figure 4. En référence à la figure 4, le diagramme fonctionnel AG3 comprend plus particulièrement les étapes du procédé selon l'invention lors d'un accès en écriture à la donnée appartenant à un groupe de données esclave de la base de données locale BDn. Le diagramme fonctionnel AG3 comprend des étapes E3-1 à E3-31. Returning to step E2-1, the data is verified to belong to a slave data group and the method is executed according to the steps of the functional diagram AG3 illustrated in FIG. 4. With reference to FIG. 4, the functional diagram AG3 more particularly comprises the steps of the method according to the invention during a write access to the data belonging to a slave data group of the local database BD n . The function diagram AG3 comprises steps E3-1 to E3-31.
Après vérification que la donnée appartient à un groupe de données esclave, à l'étape E2-1 du diagramme fonctionnel AG2, l'interface d'accès locale IAn transmet, à l'étape E2-2 du diagramme fonctionnel AG3, au serveur de jeton local SJn une demande de vérification de jeton DVJ(ld-D, Id-STd). La demande de vérification DVJ(ld-D, Id-STd) permet de vérifier l'état d'accès à la donnée et comporte l'identificateur de la donnée Id-D ainsi que l'identificateur du site distant maître Id-STd associé dans la table de localisation à l'identificateur du groupe de données comportant la donnée D. A l'étape E3-3, le serveur de jeton local SJn ayant reçu la demande de vérification de jeton DVJ retransmet la demande DVJ(ld-D) au serveur de jeton distant SJd compris dans le site maître distant Td pour vérifier l'état d'accès à la donnée D. L'étape E3-3 est identique à l'étape E2-3 du diagramme fonctionnel AG2. Puis à l'étape E3-4, pour informer sur l'état d'accès en écriture à la donnée D, le serveur de jeton distant SJd transmet une réponse de vérification de jeton RVJ(ld-D) au serveur de jeton local SJn qui retransmet la réponse de vérification de jeton RVJ(ld-D), à l'interface d'accès locale IAn à l'étape E3-5. After checking that the data belongs to a slave data group in step E2-1 functional diagram AG2, the IA n local access interface transmits in step E2-2 functional diagram AG3, to the server of local token SJ n a DVJ token verification request (ld-D, Id-STd). The DVJ verification request (ld-D, Id-STd) makes it possible to check the state of access to the data and comprises the identifier of the data Id-D and the identifier of the remote remote site Id-STd associated in the location table to the identifier of the data group having the data D. In step E3-3, the local token server SJ n having received the DVJ token verification request retransmits the DVJ request (ld-D ) to the remote token server SJd included in the remote master site Td to check the state of access to the data D. The step E3-3 is identical to the step E2-3 of the functional diagram AG2. Then, in step E3-4, to inform the write access state of the data D, the remote token server SJd transmits a token verification response RVJ (ld-D) to the local token server SJ n which retransmits the token verification response RVJ (ld-D) to the local access interface IA n in step E3-5.
A l'étape E3-6, similaire à l'étape E2-5 du diagramme fonctionnel AG2, l'interface d'accès locale IAn reçoit la réponse RVJ(ld-D) et la traite. Si l'accès à la donnée est à l'état verrouillé, c'est-à-dire si l'identificateur de la donnée ou du groupe de données est apparié à un jeton : TJd[ld-D] = J selon la réponse RVJ, l'interface d'accès locale IAn transmet, étape E3-7, à l'application An une réponse d'opération ROP(NOK, Id-D) indiquant que la donnée D identifiée par l'identificateur Id-D n'est pas accessible en écriture. Selon une variante, si l'accès en écriture à la donnée est à l'état accessible et si une règle d'accès RA associée à la donnée ou au groupe de données, vérifiée par l'interface d'accès locale, n'est pas satisfaite, l'interface d'accès locale IAn transmet, à l'étape E3-7, la réponse d'opération ROP(NOK, Id-D) à l'application An. L'application An réitérera sa demande d'opération ultérieurement en exécutant de nouveau l'étape E1 -1 du diagramme fonctionnel AG1 . In step E3-6, similar to step E2-5 of the functional diagram AG2, the local access interface IA n receives the response RVJ (ld-D) and processes it. Yes the access to the data is in the locked state, that is, if the identifier of the data or data group is matched to a token: TJd [ld-D] = J according to the RVJ response , the local access interface IA n transmits, step E3-7, application a n ROP operation response (NOK, Id-D) indicating that the data D identified by the identifier Id-D n is not writable. Alternatively, if the write access to the data is in the accessible state and if an access rule RA associated with the data or data group, verified by the local access interface, is not satisfied, the local access interface IA n transmits, in step E3-7, the operation response ROP (NOK, Id-D) to the application A n . The application A n reiterate its operation request later by rerunning step E1 -1 of AG1 block diagram.
A l'étape E3-6, si l'accès en écriture à la donnée est à l'état accessible c'est-à-dire que l'identificateur de la donnée ou du groupe de données n'est pas apparié à un jeton selon la réponse RCJ, et selon la variante précédente, si une règle d'accès RA associée à la donnée ou au groupe de données, vérifiée par l'interface d'accès, est satisfaite, la donnée est considérée comme accessible en écriture. A l'étape E3-8, l'interface d'accès locale IAn commande le verrouillage de l'accès en écriture à la donnée. Plus particulièrement, l'interface d'accès locale IAn transmet au serveur de jeton local SJn, à l'étape E3-8, une demande de création d'un jeton DCJ(ld-D, Id- STd) à associée à la donnée D afin de verrouiller l'accès en écriture à la donnée. La demande DCJ comporte l'identificateur dé la donnée Id-D ainsi que l'identificateur du site maître distant Id-STd comportant le serveur de jeton distant SJd qui va exécuter la demande. A l'étape E3-9, le serveur de jeton local SJn ayant reçu la demande DCJ retransmet la demande de création d'un jeton au serveur de jeton distant SJd. Le serveur de jeton distant SJd apparie, à l'étape E3-10, dans la table de jeton distante TJd, l'identificateur de la donnée Id-D à un jeton de modification, de suppression ou de création selon l'opération requise. L'appariement d'un identificateur d'une donnée à un jeton dans la table de jeton distante,, à l'étape E3-10 est identique à celui effectué dans la table de jeton locale TJn, à l'étape E2-8 du diagramme fonctionnel AG2. A l'étape E3-1 1 , le serveur de jeton distant SJd transmet au serveur de jeton local SJn une réponse RCJ(ld-D) de création de jeton apparié à l'identificateur de la donnée D ou du groupe de données associé. Le serveur de jeton local SJn retransmet la réponse RCJ à l'interface d'accès locale IAn, à l'étape E3-12. In step E3-6, if the write access to the data item is in the accessible state, that is to say that the identifier of the data item or data group is not matched to a token according to the RCJ response, and according to the previous variant, if an access rule RA associated with the data or group of data, verified by the access interface, is satisfied, the data is considered to be writable. In step E3-8, the local access interface IA n controls the locking of the write access to the data. More particularly, the local access interface IA n transmits to the local token server SJ n , in step E3-8, a request to create a DCJ token (ld-D, Id-STd) associated with the data D in order to lock the write access to the data. The DCJ request includes the identifier of the data Id-D and the identifier of the remote master site Id-STd comprising the remote token server SJd that will execute the request. At the step E3-9, the local token server SJ n having received the request DCJ forwards the request to create a token to token SJD remote server. The remote token server SJd matches, in step E3-10, in the remote token table TJd, the identifier of the data Id-D to a modification, deletion or creation token according to the required operation. The matching of an identifier of a data to a token in the remote token table, in step E3-10 is identical to that performed in the local token table TJ n , in step E2-8 of the AG2 functional diagram. In step E3-1 1, the remote token server SJd transmits to the local token server SJ n a token creation RCJ (ld-D) response matched to the identifier of the data item D or the data group. associated. The local token server SJ n retransmits the RCJ response to local access interface IA No, the E3-12 step.
Selon une variante de réalisation et afin d'éviter un grand nombre d'échanges de messages entre l'interface d'accès locale et le serveur de jeton distant via le serveur de jeton local, la vérification de l'accessibilité de la donnée - étape E3-3 - et la création d'un jeton associé à cette donnée vérifiée accessible - étape E3-10 - sont exécutées dans une même étape. Les étapes E3-4 à E3-9 sont supprimées et une nouvelle étape est ajoutée après l'étape E3-12. De manière plus détaillée, aux étapes E3-2 et E3-3 modifiées selon la variante, l'interface d'accès locale transmet une demande de vérification de jeton et de création de jeton si la donnée est vérifiée accessible au serveur de jeton distant via le serveur de jeton local. Dans le serveur de jeton distant, aux étapes E3-3 et E3-10 modifiées selon la variante, si la donnée est vérifiée verrouillée, selon l'étape initiale E3-3, aucun jeton n'est créé. Si la donnée est vérifiée accessible, selon l'étape initiale E3-3, un jeton est créé tel que décrit précédemment à l'étape initiale E3-10. Puis le serveur de jeton distant transmet via le serveur de jeton local, aux étapes E3-11 et E3-12 modifiées selon la variante, une réponse de vérification et de création à l'interface d'accès locale. Puis, dans une nouvelle étape, l'interface d'accès locale traite la réponse et transmet une réponse à l'application locale An. Si l'accès à la donnée a été vérifiée à l'état verrouillé selon la réponse de vérification et de création précédente, l'interface d'accès locale IAn transmet à l'application locale An la réponse ROP(NOK, Id-D) - selon l'étape initiale E3-7 - indiquant ainsi que l'application ne peut pas accéder à la donnée. Par contre, si un jeton a été créé et associé à la donnée, selon la réponse de vérification et de création précédente, l'interface d'accès exécute l'étape E3-13 telle que décrite ci- après. Selon cette variante, les règles d'accessibilité RA peuvent être traitées directement dans le serveur de jeton distant, la donnée n'étant pas accessible en écriture si la règle associée n'est pas satisfaite. Ou encore les règles d'accessibilité peuvent être traitées dans l'interface d'accès locale avant les étapes E3-1 et E3-2. Ainsi les étapes E3-1 et E3-2 ne sont pas exécutées si la règle d'accès associée à la donnée n'est pas satisfaite. According to an alternative embodiment and in order to avoid a large number of message exchanges between the local access interface and the remote token server via the local token server, the verification of the accessibility of the data - step E3-3 - and the creation of a token associated with this accessible verified data item - step E3-10 - are executed in the same step. Steps E3-4 to E3-9 are deleted and a new step is added after step E3-12. In more detail, in variant modified steps E3-2 and E3-3, the local access interface transmits a token verification and token creation request if the data is verified accessible to the remote token server via the local token server. In the remote token server, in steps E3-3 and E3-10 modified according to the variant, if the data is verified locked, according to the initial step E3-3, no token is created. If the data is verified accessible, according to the initial step E3-3, a token is created as described previously in the initial step E3-10. Then the remote token server transmits via the local token server, in modified steps E3-11 and E3-12, a verification and creation response to the local access interface. Then, in a new step, the local access interface processes the response and transmits a response to the local application A n . If access to the data has been verified in the locked state according to the probe response and previous creation, local access interface IA n transmits to the local application A n ROP response (NOK, Id- D) - according to the initial step E3-7 - thus indicating that the application can not access the data. On the other hand, if a token has been created and associated with the data, according to the previous verification and creation response, the access interface executes step E3-13 as described below. According to this variant, the accessibility rules RA can be processed directly in the remote token server, the data not being writable if the associated rule is not satisfied. Or the accessibility rules can be processed in the local access interface before steps E3-1 and E3-2. Thus steps E3-1 and E3-2 are not executed if the access rule associated with the data is not satisfied.
Selon l'une ou l'autre des réalisations précédentes, à l'étape E3-13, à la réception de la réponse RCJ, l'interface d'accès locale IAn commande une première demande de mise à jour DU1 (D, Id-STd) de la donnée D ou du groupe de données comportant la donnée D entre la base de données locale BDn et la base de données maître distante BDd. La demande DU1 est transmise vers la base de données locale BDn et comporte l'identificateur de la donnée Id-D et l'identificateur du site maître distant Id-STd comportant la base de données distante. A l'étape E3-14, la base de données locale BDn transmet la demande DU1 à la base de données distante BDd qui, à l'étape E3-15, met à jour la donnée ou le groupe de données associé dans la base de données locale BDn. La mise à jour est effectuée de manière identique qu'à l'étape E1 -7 du diagramme fonctionnel AG1. La première mise à jour de la base de données locale BDn, permet à l'application An d'opérer sur une donnée D exacte et cohérente. Pour une opération de création de la donnée dans la base de données locale, la première mise à jour DU1 peut ne pas être exécutée puisque la donnée n'est pas encore créée. En variante pour une création de la donnée D, les données du groupe de données qui comportera la donnée à créer peuvent être mises à jour une première fois, avant la création de la donnée D. According to one or the other of the preceding embodiments, in the step E3-13, on receiving the RCJ response, the local access interface IA n controls a first request for updating DU1 (D, Id-STd) of the data item D or of the data group comprising the data item D between the local database BD n and the remote master database BDd. The request DU1 is transmitted to the local database BD n and comprises the identifier of the data Id-D and the identifier of the remote master site Id-STd comprising the remote database. In step E3-14, the local database BD n transmits the request DU1 to the remote database BDd which, in step E3-15, updates the data or the group of associated data in the database BD local database n . The update is performed in the same way as in step E1 -7 of the functional diagram AG1. The first update of the local database BD n , allows the application A n to operate on an exact and consistent D data. For a data creation operation in the local database, the first update DU1 may not be executed since the data has not yet been created. As a variant for a creation of the data D, the data of the group of data which will comprise the data to be created can be updated a first time, before the creation of the data D.
A la fin de la première mise à jour, étape E3-16, la base de données locale BDn transmet à l'interface de gestion d'accès locale lAn une première réponse de mise à jour RU1 (ld-D, Id-Sd) indiquant que la mise à jour a été exécutée. A l'étape E3-17, l'interface d'accès locale IAn prend en compte qu'elle est l'initiatrice de la dernière mise à jour de la donnée D, par exemple en mettant à 1 l'indicateur UD-D associé à la donnée D, et en informe les autres sites distants comportant respectivement les bases de données mémorisant le groupe de données défini comme esclave. Puis, l'interface d'accès locale IAn transmet à l'application locale An une réponse d'opération ROP(OK, Id-D) indiquant que l'application An peut accéder à la donnée D dans la base de données locale BDn. La réponse ROP comporte l'identificateur Id-D de la donnée D. A la réception de la réponse ROP(OK,ld- D) et aux étapes E3-18 et E3-19, l'application An transmet une opérationAt the end of the first update, step E3-16, the local database BD n transmits to the local access management interface lAn a first update response RU1 (ld-D, Id-Sd ) indicating that the update has been performed. At step E3-17, local access interface IA n takes into account that it is the initiator of the last update of the data D, for example by 1-D SU indicator associated with the data D, and informs other remote sites respectively containing the databases storing the data group defined as slave. Then, the local access interface IA n transmits to the local application A n a ROP operation response (OK, Id-D) indicating that the application A n can access the data D in the database local BD n . The response ROP includes the identifier Id-D of the data D. On receipt of the response ROP (OK, ld-D) and the steps E3-18 and E3-19, the application A n transmits an operation
OP(ld-D) sur la donnée D identifiée par l'identificateur Id-D, à la base de données locale BDn via l'interface d'accès IAn. A l'étape E3-20, la base de données locale BDn reçoit l'opération OP, traite l'opération sur la donnée D et renvoie aux étapes E3-21 et E3-22, un acquittement ACK-OP(ld-D) de l'opération sur la donnée D à l'application locale An via l'interface d'accès locale IAn. A l'étape E3-22, l'interface d'accès locale IAn transmet une deuxième demande de mise à jour DU2(ld-DD, Id-STd) de la donnée D ou du groupe de données comportant la donnée D entre la base de données locale BDn et la base de données distante BDd. La demande DU2 transmise vers la base de données locale BDn comporte l'identificateur Id-D de la donnée D et l'identificateur Id-STd du site maître distant comportant la base de données distante BDd. l'étape E3-23, la base de données locale BDn met à jour la donnée D ou le groupe de données comportant la donnée D dans la base de données distante BDd selon une méthode connue de mise à jour des données. Cette méthode peut être similaire à celle décrite lors de la mise à jour de la donnée D ou le groupe de données comportant la donnée D de la base de données distante BDd vers la base de données locale à l'étape E3-15. La deuxième mise à jour est exécutée pour une opération de modification, suppression ou de création de la donnée D qui appartient à un groupe de données esclave. Après l'exécution de la deuxième mise à jour, la base de données maître distante BDd peut transmettre une réponse de mise à jour exécutée RU2(ld-D) vers la base de données locale BDn qui transfère la réponse à l'interface d'accès locale. OP (ld-D) on the data D identified by the identifier Id-D, to the local database BD n via the access interface IA n . In step E3-20, the local database BD n receives the operation OP, processes the operation on the data D and returns to the steps E3-21 and E3-22, an acknowledgment ACK-OP (ld-D ) of the operation on the data D to the local application A n via the access interface local IA n . At step E3-22, AI n local access interface transmits a second request for updated DU2 (ld-DD, Id-STD) of the data D or the data group having the data D between the local database BD n and the remote database BDd. The request DU2 transmitted to the local database BD n has the identifier Id-D of the data D and the identifier Id-STd of the remote master site with the remote database BDd. the E3-23 step, the local database BD n updates the data D or the data group having the data D in the remote database DB according to a known method of updating data. This method may be similar to that described during the update of the data D or the data group comprising the data D of the remote database BDd to the local database in step E3-15. The second update is executed for an operation of modification, deletion or creation of the data D which belongs to a group of data slave. After performing the second update, the remote master database BDd may transmit an update response executed RU2 (ld-D) to the local database BD n which transfers the response to the interface d local access.
Après réception de la réponse RU2, l'interface d'accès locale IAn transmet un acquittement ACK-OP(ld-D)d'opération sur la données D à l'application An, à l'étape E3-26. After receiving the response RU2, the local access interface IA n transmits an operation acknowledgment ACK-OP (ld-D) on the data D to the application A n , at the step E3-26.
Egalement, après réception de la réponse RU2, à l'étape E3-27, l'interface d'accès locale IAn commande le déverrouillage de l'accès en écriture à la donnée. Plus particulièrement, à l'étape E3-27, l'interface d'accès local transmet au serveur de jeton local SJn une demande de suppression DSJ(ld-D, Id-STd) du jeton apparié à l'identificateur Id-D de la donnée D ou du groupe de données associé dans le serveur de jeton distant du site distant identifié par l'identificateur Id-STd. A la réception de la demande RSJ, à l'étape E3-28, le serveur de jeton local transfert la demande RSJ au serveur de jeton distant SJd- Puis à l'étape E3-29, le serveur de jeton distant supprime le jeton apparié à l'identificateur Id-D de la donnée dans la table de jeton distante TJd et libère l'accès en écriture à la donnée D. Aux étapes E3-30 et E3-31 , le serveur de jeton distant SJd transmet une réponse de suppression du jeton RSJ(ld-D) au serveur de jeton local SJn qui transfert la réponse RSJ à l'interface d'accès locale IAn. Le site local peut faire appel à plusieurs exécutions simultanées des diagrammes fonctionnels AG1 à AG3 lorsqu'une ou plusieurs applications locales demandent des accès simultanés à des données partagées. Les exécutions d'étapes identiques lors du traitement de plusieurs demandes d'accès simultanées pourront être mutualisées afin d'optimiser le temps de traitement desdites demandes. Also, after receiving the response RU2, in step E3-27, the local access interface IA n controls the unlocking of the write access to the data. More particularly, in step E3-27, the local access interface transmits to the local token server SJ n a request for deletion DSJ (ld-D, Id-STd) of the token paired with the identifier Id-D data D or the associated data group in the remote site token server of the remote site identified by the identifier Id-STd. Upon receipt of the RSJ request, in step E3-28, the local token server transfers the RSJ request to the remote token server SJd- Then in step E3-29, the remote token server deletes the paired token to the identifier Id-D of the data in the remote token table TJd and releases the write access to the data D. In steps E3-30 and E3-31, the remote token server SJd transmits a delete response from the RSJ token (ld-D) to the local token server SJ n which transfers the RSJ response to the local access interface IA n . The local site may use multiple simultaneous executions of the AG1 to AG3 functional diagrams when one or more local applications request concurrent access to shared data. Execution of identical steps during the processing of several simultaneous access requests may be shared to optimize the processing time of said requests.
Le fonctionnement en mode dégradé d'un site local est établi dès que le site local STn ne peut communiquer avec un site distant STd. En fonctionnement normal ou dégradé du site local, les applications locales peuvent accéder en lecture et en écriture aux données partagées appartenant à des groupes maîtres dans la base de données locale si les règles d'accessibilité sont satisfaites. Les applications locales peuvent également accéder en lecture et en écriture aux données partagées appartenant à des groupes esclaves de la base de données locale lorsque le site local peut communiquer avec le site maître distant qui gère l'état d'accès en écriture aux données desdits groupes de données esclaves, si les règles d'accessibilité sont satisfaites. Dans ces deux derniers cas, le site local fonctionne normalement selon les diagrammes fonctionnels AG1 à AG3. Les applications locales peuvent accéder uniquement en lecture aux données du ou des groupes de données esclaves dont les états d'accès en écriture sont gérés par un site ou des sites maîtres ne pouvant communiquer avec le site local. Dans ce dernier cas et relativement aux groupes de données esclaves non accessibles en écriture, le site local fonctionne en mode dégradé selon les diagrammes fonctionnels AG3 et AG4. The degraded operation of a local site is established as soon as the local site ST n can not communicate with a remote site STd. In normal or degraded operation of the local site, local applications can read and write access to shared data belonging to master groups in the local database if the accessibility rules are satisfied. Local applications can also read and write access to shared data belonging to slave groups in the local database when the local site can communicate with the remote master site that manages the write access status to the data of those groups. of slave data, if the accessibility rules are satisfied. In the latter two cases, the local site operates normally according to the functional diagrams AG1 to AG3. Local applications can only read access to the data of the slave data group (s) whose write access states are managed by a site or master sites that can not communicate with the local site. In the latter case and relative to non-writable slave data groups, the local site operates in degraded mode according to the function diagrams AG3 and AG4.
Le diagramme fonctionnel AG4 illustré à la figure 5 présente les étapes principales du procédé de gestion d'au moins une donnée partagée D appartenant à un groupe de données esclave dans la base de données locale BDn, lors de la détection du fonctionnement en mode dégradé du système SG, plus particulièrement lors de la détection d'une défaillance de communication entre le site local et le site distant maître gérant les états d'accès des données du groupe de données comportant la donnée D. Le diagramme fonctionnel AG4 est implémenté dans chaque site du système SG et fonctionne parallèlement aux diagrammes fonctionnels AG1 à AG3, plus particulièrement au diagramme fonctionnel AG3. Le diagramme fonctionnel AG4 comprend principalement les étapes E4-1 à E4-1 1. L'étape E4-1 comprend la détection d'une défaillance de communication entre le site local et le site maître distant, impliquant de ce fait un fonctionnement en mode dégradé du site local. Tant qu'aucune défaillance n'a été détectée, l'étape E4-1 est rebouclée sur elle-même. La défaillance de communication est détectée par le serveur de jeton local ou la base de données locale. Lorsque le serveur de jeton local SJn ne peut pas communiquer avec le serveur de jeton distant SJd, aux étapes E3-2, E3-9 ou E3-28 du diagramme fonctionnel AG3, une défaillance de communication est détectée. Ou lorsque la base de données locale BDn ne peut pas communiquer avec la base de données distante BDd aux étapes E3-14, E3- 15 et E3-23, E3-24 du diagramme fonctionnel AG3 une défaillance de communication est détectée. Si une défaillance est détectée à l'étape E4-1 , le serveur de jeton local SJn ou la base de données locale BDn transmet à l'interface d'accès locale IAn un message Msg-MD(ld-G) notifiant que les données du groupe de données esclave correspondant identifié par l'identificateur Id-G ne sont pas accessibles en écriture. A la réception du message Msg-MD(ld-G), à l'étape E4-2 du diagramme fonctionnel AG4, l'interface d'accès locale IAn informe l'application locale An que la donnée requise est disponible uniquement en lecture. Pour ce faire l'interface d'accès locale transmet un message Msg-read(ld-D) à l'application An., le message comportant l'identificateur Id-D de la donnée D. L'accès à la donnée en mode lecture par l'application locale est effectué selon le diagramme fonctionnel AG1. The functional diagram AG4 illustrated in FIG. 5 presents the main steps of the method of managing at least one shared datum D belonging to a group of slave data in the local database BD n , during the detection of the operation in degraded mode of the SG system, more particularly when detecting a communication failure between the local site and the remote master site managing the data access states of the data group comprising the data D. The AG4 functional diagram is implemented in each SG system site and works in parallel with the function diagrams AG1 to AG3, more particularly to the AG3 function diagram. The AG4 functional diagram mainly comprises the steps E4-1 to E4-1 1. Step E4-1 includes detecting a communication failure between the local site and the remote master site, thereby implying degraded mode operation of the local site. As long as no failure has been detected, step E4-1 is looped back on itself. The communication failure is detected by the local token server or the local database. When the local token server SJ n can not communicate with the remote token server SJd, in steps E3-2, E3-9 or E3-28 of the function diagram AG3, a communication failure is detected. Or when the local database BD n can not communicate with the remote database BDd in steps E3-14, E3-15 and E3-23, E3-24 of the function diagram AG3 a communication failure is detected. If a failure is detected in step E4-1, the local token server SJ n or the local database BD n transmits to the local access interface IA n a message Msg-MD (ld-G) notifying the data of the corresponding slave data group identified by the identifier Id-G are not writable. Upon receipt of messages Msg-MD (ld-G), in step E4-2 functional diagram AG4, the local access interface IA n inform the local application A n that the required data is available only in reading. To do this, the local access interface transmits a message Msg-read (ld-D) to the application A n ., The message comprising the identifier Id-D of the data D. Access to the data in Reading mode by the local application is performed according to the function diagram AG1.
Puis, à l'étape E4-4, l'interface d'accès locale IAn vérifie si un jeton est créé dans la table de jeton distante TJd et est apparié à l'identificateur Id-D de la donnée D. Par exemple, si l'interface d'accès locale IAn a préalablement reçu une réponse de création de jeton RCJ(ld-D), transmise à l'étape E3-1 1 du diagramme fonctionnel AG3, alors un jeton a précédemment été créé. L'interface d'accès locale transmet alors au serveur de jeton locale SJn une demande de suppression DSJ(ld-D, Id-STd) du jeton. La demande de suppression DSJ comporte l'identificateur Id-D de la donnée ou du groupe de données apparié au jeton et l'identificateur Id-STd du site distant comportant le serveur de jeton distant SJd- Puis, à l'étape E4- 6, le serveur de jeton local SJn mémorise la demande DSJ(ld-D, Id-STd) afin de la transmettre ultérieurement au serveur de jeton SJd distant du site distant identifié par l'identificateur Id-STd, une fois que la communication entre le site local et le site distant sera de nouveau opérationnelle. L'interface d'accès exécute ensuite l'étape E4-7. Toujours à l'étape E4-4, si la vérification indique qu'aucun jeton n'est créé et n'est apparié à l'identificateur Id-D de la donnée D, l'interface d'accès locale IAn exécute directement l'étape E4-9. Then, in step E4-4, the local access interface IA n checks whether a token is created in the remote token table TJd and is matched to the identifier Id-D of the data D. For example, if the local access interface IA n has previously received a token creation response RCJ (ld-D) transmitted in step E3-1 1 AG3 functional diagram, then a token was previously created. The local access interface then transmits to the local token server SJ n a request to delete the DSJ (ld-D, Id-STd) of the token. The request for deletion DSJ includes the identifier Id-D of the data or group of data matched to the token and the identifier Id-STd of the remote site comprising the remote token server SJd. Then, at step E4-6 , the local token server SJ n stores the DSJ request (ld-D, Id-STd) in order to transmit it later to the remote SJd token server of the site remote identified by the identifier Id-STd, once the communication between the local site and the remote site will be operational again. The access interface then executes step E4-7. Always step E4-4, if verification indicates that no token is created and is paired with the identifier data Id-D of D, IA No local access interface directly executes the step E4-9.
A l'étape E4-7, l'interface d'accès locale IAn vérifie si une opération liée à un accès en écriture sur la donnée a été exécutée dans la base de données locale BDn et si une deuxième mise à jour de la donnée opérée a été exécutée entre la base de données locale BDn et la base de données distante BDd. Par exemple pour vérifier qu'une opération d'écriture sur la donnée a été exécutée, l'interface d'accès locale IAn vérifie qu'elle a reçu un acquittement ACK-OP(ld-D) de l'opération, transmise par la base de données locale à l'étape E3-21 selon le diagramme fonctionnel AG3. De même, par exemple, pour vérifier que la deuxième mise à jour de la donnée opérée entre la base de données locale BDn et la base de données distante a été exécutée, l'interface d'accès locale IAn vérifie qu'elle a reçu une réponse de mise à jour RU2(ld-D) envoyée par la base de données locale BDn, à l'étape E3-25 du diagramme fonctionnel AG3. Si une modification a été effectuée dans la base de données locale BDn et qu'aucune deuxième mise à jour entre la base de données locale et la base de données distante n'a été exécutée alors l'interface d'accès locale IAn commande à la base de données locale BDn d'annuler l'opération précédente effectuée sur la donnée D. Pour ce faire l'interface d'accès transmet une demande AOP(ld- D)) d'annulation de l'opération comportant l'identificateur Id-D de la donnée D à l'étape E4-8 du diagramme fonctionnel AG4. La base de données locale BDn restaure la donnée telle qu'elle était avant le traitement de l'opération. L'interface d'accès locale exécute ensuite l'étape E4-9. At step E4-7, the IA n local access interface checks whether a transaction related to a write access to the data was performed in the local database BD if n and a second update of the Operated data has been executed between the local database BD n and the remote database BDd. For example to verify that a write operation on the data has been executed, the local access interface IA n verifies that it has received an ACK-OP acknowledgment (ld-D) of the operation, transmitted by the local database in step E3-21 according to the functional diagram AG3. Similarly, for example, to verify that the second update of the data made between the local database BD n and the remote database is performed, AI n local access interface verifies that it has received an update response RU2 (ld-D) sent by the local database BD n , in step E3-25 of the function diagram AG3. If a change has been made in the local database BD n and no second update between the local database and the remote database has been executed then the local access interface IA n command to the local database BD n cancel the previous operation performed on the data D. To do this the access interface transmits a request AOP (ld-D)) cancellation of the operation comprising the identifier Id-D of the data D in step E4-8 of the functional diagram AG4. The local database BD n restores the data as it was before the processing of the operation. The local access interface then performs step E4-9.
A l'étape E4-9, le site local STn vérifie s'il peut communiquer de nouveau avec le site distant STd et peut détecter ainsi un retour au fonctionnement en mode normal du site local. Tant qu'une défaillance est détectée, c'est-à-dire tant que le site local est en mode dégradé, l'étape E4-9 se reboucle sur elle-même. A l'étape E4-9, lorsque le site local peut de nouveau communiquer avec le site distant, le serveur de jeton local SJn ou la base de données locale BDn transmet à l'interface d'accès locale IAn un message Msg-MN(ld-G) notifiant le retour au fonctionnement en mode normal et ainsi que les données du groupe de données esclave correspondant identifié par l'identificateur Id-G sont accessibles en écriture et en lecture, à l'étape E4-10. Puis à l'étape E4-1 1 , le serveur de jeton local SJn transmet la demande de suppression de jeton mémorisée DSJ(ld-D, Id- ST< ) au serveur de jeton distant STd qui exécute le déverrouillage de l'accès à la donnée D en supprimant le jeton apparié à l'identificateur Id-D de la donnée ou du groupe de données dans la table de jeton distante TJd. Au retour du mode normal de fonctionnement le serveur de jeton local peut avoir plusieurs demandes de suppression mémorisées relatives respectivement à plusieurs données partagées pouvant appartenir à différents groupes de données esclaves dans la base de données locale. Le serveur de jeton local transmet toutes les demandes de suppression de jeton mémorisées aux différents sites distants inaccessibles durant le fonctionnement en mode dégradé du site local. Puis le site local exécute de nouveau l'étape E4-1 de détection du mode dégradé. In step E4-9, the local site ST n checks whether it can communicate again with the remote site STd and can thus detect a return to normal mode operation of the local site. As long as a failure is detected, that is, as long as the local site is in degraded mode, step E4-9 loops back on itself. In step E4-9, when the local site can again communicate with the remote site, the local token server SJ n or the local database BD n transmits to the local access interface IA n a message Msg-MN (ld-G) notifying the return to operation in normal mode and as well as the data of the corresponding slave data group identified by the identifier Id-G are accessible in writing and reading, in step E4- 10. Then in step E4-1 1, the local token server SJ n transmits the stored token deletion request DSJ (ld-D, Id-ST <) to the remote token server STd which executes the unlocking of the access to the data D by deleting the token matched to the identifier Id-D of the data or data group in the remote token table TJd. Upon returning from the normal operating mode, the local token server may have several stored deletion requests respectively relating to several shared data that may belong to different slave data groups in the local database. The local token server transmits all stored token deletion requests to different remote sites that are inaccessible during degraded mode operation of the local site. Then the local site executes again the step E4-1 of detection of the degraded mode.
L'exécution du procédé de gestion de données partagée en mode dégradé n'est pas limitée à la succession des étapes selon le diagramme fonctionnel AG4. Plusieurs étapes peuvent être exécutées simultanément. Par exemple l'étape E4-2 et l'ensemble des étapes successives E4-4 à E4-8 peuvent être exécutées en parallèle.  The execution of the shared data management method in degraded mode is not limited to the succession of steps according to the functional diagram AG4. Several steps can be executed simultaneously. For example, step E4-2 and the set of successive steps E4-4 to E4-8 can be executed in parallel.
L'exigence de cohérence des données dans les différentes bases de données du système SG selon l'invention est satisfaite. D'une part, grâce à la gestion d'un état d'accès en écriture à chaque donnée par un unique site maître spécifique pour chaque donnée qui permet d'éviter de multiples accès simultanés à la donnée par différentes applications du système SG. En effet, une seule application à la fois du système SG peut accéder en écriture à la donnée dans toutes les bases de données du système et l'accès en écriture à la donnée est verrouillé pour les autres applications du système. D'autre part, chaque opération est traitée sur une donnée cohérente. En effet, soit la donnée appartient à un groupe maître de la base de données locale et est considérée toujours à jour, soit la donnée appartient à un groupe esclave de la base de données locale et les deux mises à jour commandées par le site local permettent d'avoir une donnée cohérente dans les deux bases de données avant et après le traitement de l'opération sur la donnée. En fonctionnement dégradé du site local, si l'accès à une donnée appartenant à un groupe de données maître a été verrouillé par un autre site distant préalablement à la défaillance de communication entre les deux sites, l'accès en écriture à la donnée reste verrouillé pour le site local tant qu'une commande de déverrouillage de l'accès à la donnée n'a pas été transmise par l'autre site à l'étape E4-11 du diagramme fonctionnel AG4 appliqué dans le site distant. The data consistency requirement in the various databases of the SG system according to the invention is satisfied. On the one hand, by managing a write access state to each data by a single specific master site for each data that avoids multiple simultaneous access to the data by different applications of the system SG. Indeed, only one application at a time of the system SG can write access to the data in all the databases of the system and the write access to the data is locked for the other applications of the system. On the other hand, each operation is processed on a consistent data. Indeed, either the data belongs to a master group of the local database and is considered always up to date, or the data belongs to a slave group of the local database and the two updates controlled by the local site allow to have a consistent data in both databases before and after processing the operation on the data. In degraded operation of the local site, if access to data belonging to a master data group has been locked by another remote site prior to the communication failure between the two sites, the write access to the data remains locked for the local site until a command to unlock access to the data has been transmitted by the other site in step E4-11 of the AG4 functional diagram applied in the remote site.
L'exigence de robustesse du système SG selon l'invention est satisfaite puisqu'en mode dégradé du site local seule une partie des données partagées dans la base de données locale est inaccessible en écriture. Le site local continue à accéder en écriture et en lecture aux données partagées appartenant aux groupes de données maître dans la base de données locale et appartenant également aux groupes de données esclaves dont les états d'accès des données sont gérés par des sites maîtres distants accessibles par le site local. Un site local comportant une base de données ne comprenant que des groupes esclaves peut tout de même accéder en lecture aux données de la base de données locale.  The requirement of robustness of the SG system according to the invention is satisfied since in degraded mode of the local site only part of the data shared in the local database is inaccessible in writing. The local site continues to read and write access to the shared data belonging to the master data groups in the local database and also belonging to the slave data groups whose data access states are managed by accessible remote master sites. by the local site. A local site with a database that includes only slave groups can still read from the local database.
Un utilisateur final considère le système SG comme ergonomique et performant. En effet, toutes les opérations annexes dudit système telles que les première et deuxième mises à jour de données dans les bases de données du système SG sont transparentes pour l'utilisateur. En outre, l'accès aux données des groupes de données maîtres d'un site local est aussi performant que s'il accédait aux données d'une base de données non distribuée. En effet, l'accès à ces dites données ne nécessite pas de mise à jour systématique entre deux bases de données et d'échange avec un serveur de jeton distant.  An end user sees the SG system as ergonomic and efficient. Indeed, all ancillary operations of the system such as the first and second data updates in the SG system databases are transparent to the user. In addition, access to local master data group data is as efficient as accessing data from a non-distributed database. Indeed, access to these data does not require systematic updating between two databases and exchange with a remote token server.
Selon un exemple, un système de gestion de données multi-sites SG gère des bases de données relationnelles. Chaque base de données relationnelle sur un même site mémorise des données dans un même groupe selon une même caractéristique. Par exemple dans un système de gestion de données tel que la gestion d'une bibliothèque sur plusieurs sites, un ou plusieurs groupes peuvent comprendre des données relatives à des titres de livre chaque donnée pouvant être associée à des informations complémentaires sur le livre. Un ou d'autres groupes peuvent comprendre des données relatives à des abonnés de la bibliothèque chaque donnée pouvant être associée à des informations caractérisant l'abonné telles que des informations personnelles. Et Un ou d'autres groupes peuvent comprendre des données relatives à des auteurs chaque donnée pouvant être associée à des informations caractérisant l'auteur, telles que sa bibliographie. Une donnée d'un groupe peut être liée à au moins une donnée d'un autre groupe. Par exemple, une donnée relative à un abonné dans un groupe d'abonnés est liée à une donnée relative à un livre emprunté par l'abonné dans un groupe livres qui elle-même est liée à une donnée relative à l'auteur du livre dans un groupe d'auteurs. Les liaisons entre deux données peuvent être mémorisées dans des tables de liaisons, une liaison entre deux données correspondant à l'appariement des deux identificateurs des deux données. Dans les bases de données, chaque groupe de données peut comprendre une table de liaison appariant l'identificateur d'une donnée du groupe à un ou plusieurs identificateurs de données d'autres groupes. Selon cet exemple de base de données relationnelle, une opération d'écriture sur une donnée peut correspondre à l'établissement ou la suppression d'une liaison entre deux données de groupes différents. Une opération d'écriture peut comprendre également à une modification, une suppression ou à la création d'une donnée dans un groupe de données. Pour effectuer une opération d'écriture sur une première donnée liée à une deuxième donnée, les deux données doivent être préalablement vérifiées accessibles et verrouillées. La vérification d'accessibilité de chacune des deux données et le verrouillage de chacune des deux données sont exécutés selon les étapes E2-2 à E2-9 du diagramme fonctionnelle AG2 et/ou les étapes E3-1 à E3-12 du diagramme fonctionnel AG3, que l'une ou l'autre des deux données appartiennent à un groupe de données maître ou esclave dans la base de données locale. Puis l'opération d'écriture sur la première donnée s'exécute selon les étapes E2-10 à E2-15 du diagramme fonctionnel AG2 si la donnée appartient à un groupe de données maître, ou selon les étapes E3-13 à E3- 26 du diagramme fonctionnel AG3 si la donnée appartient à un groupe de données esclave. Puis les deux données liées sont déverrouillées selon les étapes E2-16 à E2-18 du diagramme fonctionnel AG2 et/ou E3-27 à E3-30 du diagramme fonctionnel AG3, selon que l'une ou l'autre des deux données appartient à un groupe de données maître ou esclave. Selon cet exemple, les règles d'accessibilité RA spécifiques associées aux groupes ou à chaque donnée partagée d'un groupe peuvent prendre en compte les différentes liaisons établies entre les données des différents groupes. Par exemple, une règle d'accessibilité relative à la suppression d'une donnée peut-être associée à la donnée empêchant toute suppression de la donnée dès lors que la donnée est liée à une ou plusieurs autres données d'un autre groupe. In one example, a multi-site data management system SG manages relational databases. Each relational database on the same site stores data in the same group according to the same characteristic. For example, in a data management system such as the management of a multi-site library, one or more groups may include data relating to book titles each data may be associated with additional information on the book. One or more groups may include data related to library subscribers each data may be associated with information characterizing the subscriber such as personal information. And one or more groups may include author-related data each data that may be associated with information characterizing the author, such as its bibliography. A data item of a group may be linked to at least one data item from another group. For example, data relating to a subscriber in a subscriber group is related to data relating to a book borrowed by the subscriber in a book group which itself is related to data relating to the author of the book in a group of authors. The links between two data can be stored in link tables, a link between two data corresponding to the pairing of the two identifiers of the two data. In the databases, each data group may comprise a link table matching the identifier of a group data to one or more data identifiers of other groups. According to this relational database example, a write operation on a datum may correspond to the establishment or the deletion of a link between two data of different groups. A write operation may also include editing, deleting, or creating data in a data group. To perform a write operation on a first datum linked to a second datum, the two data must first be checked accessible and locked. The accessibility check of each of the two data and the locking of each of the two data are carried out according to the steps E2-2 to E2-9 of the functional diagram AG2 and / or the steps E3-1 to E3-12 of the functional diagram AG3. , that either of the two data belong to a master or slave data group in the local database. Then the write operation on the first data item is executed according to steps E2-10 to E2-15 of the function diagram AG2 if the data item belongs to a master data group, or according to steps E3-13 to E3-26. of the AG3 function diagram if the data belongs to a slave data group. Then the two linked data are unlocked according to the steps E2-16 to E2-18 of the function diagram AG2 and / or E3-27 to E3-30 of the function diagram AG3, depending on whether one or the other of the two data belongs to a master or slave data group. According to this example, the specific RA accessibility rules associated with the groups or each shared data of a group can take into account the different links established between the data of the different groups. For example, an accessibility rule relating to the deletion of data may be associated with the data preventing any deletion of the data when the data is linked to one or more other data of another group.
L'invention décrite ici concerne un procédé de gestion de données partagées implémenté dans chaque site d'un système de gestion de données SG. Selon une implémentation, les étapes du procédé de l'invention sont déterminées par les instructions d'un programme d'ordinateur incorporé dans l'unité de contrôle de chaque site du système SG. Le programme d'ordinateur apte à être mis en œuvre en partie dans chaque unités de chaque site du système SG de l'invention comporte des instructions de programme qui, lorsque ledit programme est exécuté dans chaque site du système SG dont le fonctionnement est alors commandé par l'exécution du programme, réalisent une gestion des données partagées entre plusieurs sites du système SG conformément au procédé de l'invention.  The invention described herein relates to a shared data management method implemented in each site of an SG data management system. According to one implementation, the steps of the method of the invention are determined by the instructions of a computer program incorporated in the control unit of each site of the system SG. The computer program capable of being implemented in part in each unit of each site of the SG system of the invention comprises program instructions which, when said program is executed in each site of the SG system whose operation is then controlled. by executing the program, perform a management of data shared between several sites of the SG system according to the method of the invention.
En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur enregistré sur ou dans un support d'enregistrement lisible par un ordinateur et tout dispositif de traitement de données, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention. Le programme peut être téléchargé dans le dispositif via un réseau de communication, comme internet.  Accordingly, the invention also applies to a computer program, in particular a computer program recorded on or in a computer readable recording medium and any data processing device, adapted to implement the computer program. 'invention. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code such as in a partially compiled form, or in any other form desirable to implement the method according to the invention. The program can be downloaded to the device via a communication network, such as the internet.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage sur lequel est enregistré le programme d'ordinateur selon l'invention, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore une clé USB, ou un moyen d'enregistrement magnétique, par exemple un disque dur.  The recording medium may be any entity or device capable of storing the program. For example, the medium may comprise storage means on which the computer program according to the invention is recorded, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a USB key, or magnetic recording means, for example a hard disk.

Claims

REVENDICATIONS
1 - Procédé de gestion d'une donnée (D) mémorisée dans au moins deux bases de données (BDn> BDd) comprises respectivement dans deux sites (STn, STd) distincts appartenant à un même réseau, ladite donnée étant associée à un état d'accès en écriture géré par un site maître, la dite donnée étant partagée en lecture et en écriture par des applications implémentées sur des terminaux de chaque site, et ladite donnée étant apte à être sollicitée pour une opération en écriture par une application d'un site local, ledit procédé comprenant les étapes suivantes : 1 - Method for managing a datum (D) stored in at least two databases (BD n> BDd) included respectively in two distinct sites (ST n , STd) belonging to the same network, said datum being associated with a datum write access state managed by a master site, said data being shared in read and write by applications implemented on terminals of each site, and said data item being able to be requested for a write operation by an application of a local site, said method comprising the following steps:
- vérification (E2-3, E3-3) de l'état d'accès en écriture à la donnée dans le site maître,  - checking (E2-3, E3-3) of the write access state to the data in the master site,
- si l'accès en écriture à la donnée est à l'état accessible, verrouillage (E2-8, E3-10) de l'accès en écriture à la donnée dans le site maître,  - if the write access to the data is in the accessible state, locking (E2-8, E3-10) of the write access to the data in the master site,
- traitement (E2-13, E3-20) de l'opération sur la donnée dans la base de données du site local, et processing (E2-13, E3-20) of the data operation in the local site database, and
- déverrouillage (E2-17, E3-29) de l'accès en écriture à la donnée dans le site maître.  - Unlocking (E2-17, E3-29) write access to the data in the master site.
2 - Procédé conforme à la revendication 1 , caractérisé en ce que le site local est distinct du site maître, le site local communique avec le site maître pour commander au site maître l'exécution des étapes de vérification (E3-3) de l'état d'accès à la donnée et de verrouillage (E3-10), déverrouillage (E3- 29) de l'accès en écriture à la donnée.  2 - Method according to claim 1, characterized in that the local site is distinct from the master site, the local site communicates with the master site to control the master site the execution of verification steps (E3-3) of the state of access to the data and locking (E3-10), unlocking (E3-29) of the write access to the data.
3 - Procédé conforme à la revendication 1 ou 2, caractérisé en ce qu'il comprend avant le traitement de l'opération, une commande d'une première mise à jour (E3-13 à E3-16) de la donnée dans la base de données du site local par duplication de la donnée mémorisée dans la base de données du site maître.  3 - Process according to claim 1 or 2, characterized in that it comprises before the processing of the operation, a command of a first update (E3-13 to E3-16) of the data in the database data from the local site by duplicating the data stored in the database of the master site.
4 - Procédé conforme à l'une quelconques des revendications 1 à 3, caractérisé en ce qu'il comprend après le traitement de l'opération, une commande d'une deuxième mise à jour (E3-22 à E3-25) de la donnée dans la base de données du site maître par duplication de la donnée mémorisée dans la base de données du site local.  4 - Process according to any one of claims 1 to 3, characterized in that it comprises after the processing of the operation, a control of a second update (E3-22 to E3-25) of the given in the database of the master site by duplication of the data stored in the database of the local site.
5 - Procédé conforme à l'une quelconques des revendications 1 à 4, comprenant une détection (E4-1) d'une défaillance de communication entre le site local et le site maître par le site local, la donnée partagée dont l'état d'accès en écriture est géré par le site maître est accessible uniquement en lecture dans la base de données du site local. 5 - Process according to any one of claims 1 to 4, comprising a detection (E4-1) of a communication failure between the local site and the master site by the local site, the shared data whose write access status is managed by the master site is read only in the database of the local site.
6 - Procédé conforme à l'une quelconques des revendications 1 à 5, caractérisé en ce que lors d'une défaillance de communication entre le site local et le site maître, si l'accès en écriture à la donnée a été verrouillé dans le site maître, le site local mémorise (E4-6) une commande de déverrouillage de l'accès en écriture à la donnée à transmettre au site maître dès que la communication entre les deux sites est de nouveau établie.  6 - Process according to any one of claims 1 to 5, characterized in that during a communication failure between the local site and the master site, if the write access to the data has been locked in the site master, the local site stores (E4-6) a command to unlock the write access to the data to be transmitted to the master site as soon as the communication between the two sites is established again.
7 - Procédé conforme à l'une quelconques des revendications 1 à 6, caractérisé en ce que lors d'une défaillance de communication entre le site local et le site maître, si préalablement à la détection de la défaillance l'opération sur la donnée a été effectuée dans la base de données du site local et que la deuxième mise à jour n'a pas été exécutée entre les deux bases de données, le site local commande (E4-8) une annulation de l'opération sur la donnée dans la base de données du site local. 7 - Process according to any one of claims 1 to 6, characterized in that during a communication failure between the local site and the master site, if prior to the detection of the failure operation on the data has was performed in the local site database and that the second update was not executed between the two databases, the local site commands (E4-8) a cancellation of the operation on the data in the database. local site database.
8 - Procédé conforme à la revendication 1 , caractérisé en ce que le site local est le site maître. 8 - Process according to claim 1, characterized in that the local site is the master site.
9 - Procédé conforme à l'une quelconque des revendications 1 à 8 caractérisé en ce qu'un ensemble de données mémorisé par duplication dans les deux bases de données est formé de groupes de données disjoints, l'un des groupes comportant ladite donnée, l'état d'accès en écriture de chaque donnée d'un groupe de données étant géré par un des deux sites. 10 - Procédé conforme à l'une quelconque des revendications 1 à 9, caractérisé en ce que l'état d'accès à la donnée est vérifié dans le site maître au moyen d'une table d'accès (TAn) appariant un identificateur de la donnée (Id-D) à un jeton (J) lorsque l'accès en écriture à la donnée est à l'état verrouillé et supprimant le jeton lorsque l'accès en écriture à la donnée est à l'état accessible. 9 - Method according to any one of claims 1 to 8 characterized in that a set of data stored by duplication in the two databases is formed of disjoint data groups, one of the groups comprising said data, l write access status of each data of a data group being managed by one of the two sites. 10 - Process according to any one of claims 1 to 9, characterized in that the state of access to the data is verified in the master site by means of an access table (TA n ) matching an identifier from the data (Id-D) to a token (J) when the write access to the data is in the locked state and deletes the token when the write access to the data is in the accessible state.
1 1 - Système de gestion de données (SG) gérant au moins une donnée (D) mémorisée dans au moins deux bases de données (BDn, BDd) comprises respectivement dans deux sites (STn, STd) distincts appartenant à un même réseau et formant ledit système de gestion de données, ladite donnée étant associée à un état d'accès en écriture géré par un site maître, la dite donnée étant partagée en lecture et en écriture par des applications implémentées sur des terminaux de chaque site, et ladite donnée étant apte à être sollicitée pour une opération en écriture par une application d'un site local, ledit système comprenant : 1 1 - Data management system (SG) managing at least one datum (D) stored in at least two databases (BD n , BDd) included respectively in two distinct sites (ST n , STd) belonging to the same network and forming said data management system, said data being associated with a write access state managed by a master site, said data being shared in read and write by implemented applications on terminals of each site, and said datum being able to be requested for a write operation by an application of a local site, said system comprising:
- des moyens (IGn, SJn, SJd) pour vérifier l'état d'accès en écriture à la donnée dans le site maître, means (IG n , SJ n , SJd) for verifying the state of write access to the data item in the master site,
- des moyens (SJn, SJd) pour verrouiller l'accès en écriture à la donnée dans le site maître, means (SJ n , SJd) for locking write access to the data in the master site,
- des moyens (IGn) pour traiter l'opération sur la donnée dans la base de données du site local, et means (IG n ) for processing the operation on the data item in the database of the local site, and
- des moyens (SJn, SJd) pour déverrouiller l'accès en écriture à la donnée dans le site maître. means (SJ n , SJd) for unlocking write access to the data in the master site.
12 - Système de gestion de données conforme à la revendication 1 1 , étant apte à mettre en œuvre un procédé selon l'une des revendications 1 à 10. 12 - Data management system according to claim 1 1, being able to implement a method according to one of claims 1 to 10.
13 - Site de gestion (STn, STd) étant apte à gérer une donnée (D) mémorisée dans au moins deux bases de données distinctes (BDn, BDd) comprises respectivement dans deux sites distincts (STn, STd) formant un système de gestion de données, le site de gestion de données étant apte à mettre en œuvre le procédé selon l'une des revendications 1 à 10. 13 - Management site (ST n , STd) being able to manage data (D) stored in at least two separate databases (BD n , BDd) included respectively in two separate sites (ST n , STd) forming a system data management system, the data management site being able to implement the method according to one of claims 1 to 10.
14 - Programme d'ordinateur apte à être mis en œuvre dans un site de gestion de données (STn), ledit programme étant caractérisé en ce qu'il comprend des instructions qui, lorsque le programme est exécuté dans le site de gestion de données, réalisent des étapes du procédé selon l'une des revendications 1 à 10. 14 - Computer program capable of being implemented in a data management site (ST n ), said program being characterized in that it comprises instructions which, when the program is executed in the data management site , perform steps of the method according to one of claims 1 to 10.
PCT/FR2012/000217 2011-06-07 2012-05-29 Method and system for managing data shared between separate management sites WO2012168570A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1101724A FR2976378A1 (en) 2011-06-07 2011-06-07 METHOD AND SYSTEM FOR MANAGING SHARED DATA BETWEEN DISTINCT MANAGEMENT SITES
FR1101724 2011-06-07

Publications (1)

Publication Number Publication Date
WO2012168570A1 true WO2012168570A1 (en) 2012-12-13

Family

ID=46354398

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2012/000217 WO2012168570A1 (en) 2011-06-07 2012-05-29 Method and system for managing data shared between separate management sites

Country Status (2)

Country Link
FR (1) FR2976378A1 (en)
WO (1) WO2012168570A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11246905B2 (en) 2016-08-15 2022-02-15 President And Fellows Of Harvard College Treating infections using IdsD from Proteus mirabilis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0629949A2 (en) * 1993-06-14 1994-12-21 International Business Machines Corporation System and method of recovering from process failure in a write lock control system
US5983225A (en) * 1998-01-26 1999-11-09 Telenor As Parameterized lock management system and method for conditional conflict serializability of transactions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0629949A2 (en) * 1993-06-14 1994-12-21 International Business Machines Corporation System and method of recovering from process failure in a write lock control system
US5983225A (en) * 1998-01-26 1999-11-09 Telenor As Parameterized lock management system and method for conditional conflict serializability of transactions

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHU W W ET AL: "FAULT TOLERANT LOCKING(FTL) FOR TIGHTLY COUPLED SYSTEMS", PROCEEDINGS OF THE SYMPOSIUM ON RELIABILITY IN DISTRIBUTED SOFTWARE AND DATABASE SYSTEMS. LOS ANGELES, CALIFORNIA, JANUARY 13 - 15, 1986; [PROCEEDINGS OF THE SYMPOSIUM ON RELIABILITY IN DISTRIBUTED SOFTWARE AND DATABASE SYSTEMS], WASHINGTON, IEEE COM, vol. SYMP. 5, 13 January 1986 (1986-01-13), pages 49 - 55, XP000756872 *
ELMASRI R ET AL: "Fundamentals of Database Systems - Distributed Databases and Client-Server Architectures", 1 January 2004, PEARSON, ADDISON-WESLEY, BOSTON, MASS, USA, ISBN: 0-321-20448-4, pages: 803 - 837, XP002521337 *
ELMASRI R ET AL: "Fundamentals of Database Systems - VALIDATION (OPTIMISTIC) CONCURRENCY CONTROL TECHNIQUES, RECOVERY CONCEPTS, CHECKPOINTS IN THE SYSTEM LOG AND FUZZY CHECKPOINTING", 1 January 2004, FUNDAMENTALS OF DATABASE SYSTEMS, ELMASRI R., NAVATHE S. B, BOSTON, MASS. [U.A.] : PEARSON, ADDISON-WESLEY, PAGE(S) 551 - 635, ISBN: 978-0-321-20448-6, XP002526530 *
M. STONEBRAKER: "Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, vol. SE-5, no. 3, 1 May 1979 (1979-05-01), pages 188 - 194, XP055022676, ISSN: 0098-5589, DOI: 10.1109/TSE.1979.234180 *
RUSINKIEWICZ M ET AL: "Transaction management in a distributed database system for local area networks", RELIABLE DISTRIBUTED SYSTEMS, 1988. PROCEEDINGS., SEVENTH SYMPOSIUM ON COLUMBUS, OH, USA 10-12 OCT. 1988, WASHINGTON, DC, USA,IEEE COMPUT. SOC. PR, US, 10 October 1988 (1988-10-10), pages 177 - 182, XP010013793, ISBN: 978-0-8186-0875-9, DOI: 10.1109/RELDIS.1988.25793 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11246905B2 (en) 2016-08-15 2022-02-15 President And Fellows Of Harvard College Treating infections using IdsD from Proteus mirabilis

Also Published As

Publication number Publication date
FR2976378A1 (en) 2012-12-14

Similar Documents

Publication Publication Date Title
US11075757B2 (en) Shielded interoperability of distributed ledgers
CN112153085B (en) Data processing method, node and block chain system
US11190520B2 (en) Blockchain smart contracts for digital asset access
KR101434128B1 (en) Distributed replica storage system with web services interface
US7533134B2 (en) Systems and methods for the propagation of conflict resolution to enforce item convergence (i.e., data convergence)
US20210109917A1 (en) System and Method for Processing a Database Query
US20190289093A1 (en) Methods and systems for fast account setup
JP2020511808A (en) Shared secret based blockchain memory
CN112037058B (en) Data verification method, device and storage medium
US20060136418A1 (en) Systems and methods for synchronization of items without snapshots
JP2023517049A (en) cipher data input blockchain data structure
US20080010515A1 (en) Per file dirty region logging
KR20210087552A (en) Systems and methods for distributed resource allocation
KR20200094985A (en) Apparatus for sharing information related to vehicle and method for providing service using the same
WO2012168570A1 (en) Method and system for managing data shared between separate management sites
US20210365433A1 (en) Method and apparatus for managing data based on blockchain
KR102139551B1 (en) Method and server for managing testament
CN110263060A (en) A kind of ERP electronic accessories management method and computer equipment
TW202135504A (en) Platform services verification
CN113360568A (en) Method and system for shielding alliance link data and computer readable storage medium
EP3903210A1 (en) Secure, tracked communication network
JP6172294B2 (en) Transaction distributed processing apparatus, method, system, and storage medium
EP0956540A1 (en) Security access control system enabling automatic invalidation of stolen or lost electronic keys and/or transfer of authorisation to make keys
FR3083344A1 (en) REMOVABLE DATA STORAGE MEDIUM
EP4107689A1 (en) Platform services verification

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12729675

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12729675

Country of ref document: EP

Kind code of ref document: A1