US20010029507A1 - Database-file link system and method therefor - Google Patents
Database-file link system and method therefor Download PDFInfo
- Publication number
- US20010029507A1 US20010029507A1 US09/819,708 US81970801A US2001029507A1 US 20010029507 A1 US20010029507 A1 US 20010029507A1 US 81970801 A US81970801 A US 81970801A US 2001029507 A1 US2001029507 A1 US 2001029507A1
- Authority
- US
- United States
- Prior art keywords
- file
- update
- record
- contents
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/953—Organization of data
- Y10S707/959—Network
Definitions
- the present invention relates to a system for managing “files” defined by a file system of operating system (hereinafter referred to as an OS file system) under the control of a database management system (hereinafter referred to as a DBMS) and more particularly, to database-file link method and apparatus which are effective when the content of a file managed by the database management system is updated.
- OS file system a file system of operating system
- DBMS database management system
- a user program preparing or creating a database according to the method as above searches the database by using a desired field as a search key and a character line in the field written with the directory path in a record of interest is acquired so that the character line may be regarded as the directory path to reference the contents.
- An object of the present invention is to provide method and apparatus capable of maintaining matching of reference from the database and update matching by carrying out a process for link to external contents on extension of a transaction of the database.
- a file abstract data type is introduced into the DBMS.
- the file abstract data type provides a data structure for storing location information (file server name, directory path and the like) concerning the contents to be managed and a function for processing that information.
- location information file server name, directory path and the like
- the DBMS user can register an external contents in the database as a link destination in the table.
- a file management system having a higher file accessing right than the general users (hereinafter called a DBMS external file management system) is introduced.
- the contents under management of the DBMS is set with access control information that is possessed by the DBMS external file management system and cannot be referenced/updated from the general users on the level of the OS file system.
- the DBMS external file management system has a mechanism for managing a file structure inside the contents representing the link destination.
- the DBMS external file management system has a mechanism for managing the number of links.
- the DBMS external file management system has a mechanism for retaining update difference information.
- an external file linking function is defined, inside the DBMS, as a function to process the file abstract data type and is set such that a corresponding process of the DBMS external file management system is called at the opportunity of execution of a database operation (for example, an INSERT process, a COMMIT process or the like).
- the external file linking function is provided with a function to create an access handle during search of a database record. This function is called from a function provided by the file abstract data type.
- the database record is searched to acquire the aforementioned access handle through the function of the file abstract data type and a file referencing function of the DBMS external file management system is called using the access handle.
- the external file linking function is provided with a function to register update information for a contents under management of the DBMS by an access handle acquired through search of the database record.
- an update handle acquired during the update information registration is used to update the field value through a transaction of the database, so that a file update function of the DBMS external file management system is called to update the content of the contents at the link destination.
- a database managing method for managing table information containing a record and data not stored in the table information wherein when a request for process of said data is inputted, a data structure indicating the processing procedure for the management is created on the basis of position management information storing position information of said data contained in said record and said inputted process request, and when a commit process is carried out in a transaction for processing said process request, a process of maintaining consistency concerning said data is executed on the basis of said data structure.
- FIG. 1 is a block diagram showing the schematic construction of a database system according to an embodiment of the invention.
- FIG. 2 is a diagram showing an example of structure of a table for managing external files in the embodiment.
- FIG. 3 is a diagram showing a list of processes of external file linking function extension.
- FIG. 4 shows DB operation statements.
- FIG. 5 is a diagram showing an example of data structure of a contents information file.
- FIG. 6 is a diagram showing examples of data structures of a registration handle used for contents link registration processing, of an access handle used for contents access processing and contents update processing and of an update handle used for contents update processing.
- FIG. 7 is a diagram showing an example of a data structure on a memory used by the DBMS external file management system (FMS).
- FMS DBMS external file management system
- FIG. 8 is a diagram showing an example of a data structure on the memory used by the DBMS external file management system (FMS).
- FMS DBMS external file management system
- FIG. 9 is a diagram showing an example of a data structure of an external file log acquired by the external file linking function extension (FLE).
- FIG. 10 is a flow chart of a contents link registering process in a user program.
- FIG. 11 is a flow chart of an INSERT statement process in the DBMS.
- FIG. 12 is a flow chart of a contents link deleting process in the user program.
- FIG. 13 is a flow chart of a DELETE statement in the DBMS.
- FIG. 14 is a flow chart of a contents referencing process in the user program.
- FIG. 15 is a flow chart of a FETCH statement process in the DBMS.
- FIG. 16 is a flow chart of a contents update process in the user program.
- FIG. 17 is a flow chart of an UPDATE statement process in the DBMS.
- FIG. 18 is a flow chart of a COMMIT statement process in the DBMS.
- FIG. 19 is a flow chart of a ROLLBACK statement process in the DBMS.
- DB server database server
- file server file server
- user client individual computers and software operating thereon are constructed as shown in a system block diagram of FIG. 1.
- the user client, file server and DB server designated by reference numerals 10 , 20 and 30 , respectively, are mutually connected through a communication network 90 .
- the user client 10 includes a CPU 11 , a memory 12 , a network interface 13 and a secondary storage 14 which are coupled with each other through a bus 19 .
- the user client 10 is coupled to the communication network 90 via the network interface 13 .
- Stored on the secondary storage 14 are an operating system (hereinafter called an OS) 141 , a user program 142 , a DBMS external file linking library (hereinafter called an FLL) 143 and a registration target contents 144 to be registered from the user program into a database.
- an operating system hereinafter called an OS
- a user program 142 Stored on the secondary storage 14 are an operating system (hereinafter called an OS) 141 , a user program 142 , a DBMS external file linking library (hereinafter called an FLL) 143 and a registration target contents 144 to be registered from the user program into a database.
- the user program 142 is described as being so implemented as to give a library call to the FLL 143 but the invention can
- the file server 20 includes a CPU 21 , a memory 22 , a network interface 23 and a secondary storage 24 which are coupled with each other through a bus 29 .
- the file server 20 is coupled to the communication network 90 via the network interface 23 .
- Stored on the secondary storage 24 are an OS 241 , a DBMS external file management system (hereinafter called an FMS) 242 , a DB managed contents 243 registered in a database, a contents information file 244 for retaining, for example, attribute information of the DB managed contents, and an OS file access control information 245 concerning the DB managed contents 243 and contents information file 244 .
- the DB managed contents 243 can be placed one by one separately under the DB management or a plurality of files can be placed collectively under the DB management.
- the DB server 30 includes a CPU 31 , a memory 32 , a network interface 33 and a secondary storage 34 which are coupled with each other through a bus 39 .
- the DB server 30 is coupled to the communication network 90 via the network interface 33 .
- Stored on the secondary storage 34 are an OS 341 , a DBMS 342 , an external file linking function extension (hereinafter called an FLE) 343 of the DBMS, table information 344 managed by the DBMS 342 and a log 345 of operations concerning update of the table in the DBMS 342 . Details of the table information 344 will be described later.
- the DBMS 342 employs SQL (Structured Query Language) as an interface and is so extended as to have the ability to handle the file abstract data type in addition to the typical SQL data type.
- the file abstract data type provides a data structure that stores information for management of files and a function group dedicated to the data structure.
- a module for implementing the processing function of the file abstract data type is the aforementioned FLE 343 .
- the DBMS 342 is described as being so implemented as to give a library call to the FLE 343 but the present invention can of course be practiced with other implementation modes.
- the DBMS 342 executes the process in a unit of transaction.
- a process performed from the user program 142 is settled and is reflected on data within the DBMS.
- a process performed from the user program 142 is invalidated and is not reflected on data within the DBMS.
- a process performed from the user program 142 is invalidated and is not reflected on data within the DBMS.
- Transaction identifiers for uniquely distinguishing the individual transactions are given by the DBMS.
- a DBMS external file management system realized with the present invention is comprised of the FMS 242 on file server 20 , the FLL 143 on user client 10 and the FLE 343 in DBMS 342 on the DB server 30 .
- the FMS 242 on file server 20 is permitted to operate by the authority of a user (FMS) having a higher right to access files than general users.
- the OS file accessing control information 245 for DB managed contents 243 is updated by means of the FMS 242 so that the DB managed contents 243 may be set so as to neither referenced nor updated by other components than the FMS 242 . In this manner, files registered in the database can be prevented from being referenced and/or updated without authorization.
- attribute information concerning the DB managed contents 243 is retained in the contents information file 244 .
- the FMS 242 on file server 20 has interfaces to the external file linking function extension FLE 343 and the DBMS external file linking library FLL 143 . These interfaces are implemented using means generally called remote procedure call (hereinafter simply referred to as RPC).
- RPC remote procedure call
- a program can call a function in a different program by designating an identifier of the called program and a function name.
- FIG. 2 shows a structure of an external file management table 4000 stored in the table information 344 .
- the illustrated field structure is a mere example and the present invention can of course be practiced with a table of a different table structure.
- the table 4000 has three fields of number 4011 of integer type, title 4012 of character line type and external file 4013 of file abstract data type.
- the DBMS gives record identifier 4001 and field identifier 4002 to records and fields of the table 4000 , respectively.
- the record identifier 4001 is for definitely or uniquely identifying records contained in the table 4000 .
- the field identifier 4002 is for definitely or uniquely identifying fields constituting each of the records.
- the external file 4013 of file abstract data type has a data structure which stores FMS identifier 4014 , directory path 4015 and contents format 4016 for indicating whether the contents is a file or a directory.
- the present invention can of course be practiced even when other additional information is added to the data structure of file abstract data type.
- FIG. 3 shows the correspondence between processes in the DBMS 342 and processes in the external file linking function extension FLE 343 related to the processes in the DBMS 342 .
- “Parameter” indicates information that is handed over when the DBMS 342 calls a function in the FLE 343 and “DBMS timing” indicates a time point that the DBMS 342 calls the FLE 343 in the course of database processing.
- DBMS timing indicates a time point that the DBMS 342 calls the FLE 343 in the course of database processing.
- a contents link registration linking function at # 1 is called when the DBMS 342 processes an INSERT statement in SQL to set a link to the DB managed contents 243 or when the DBMS 342 processes an UPDATE statement in SQL to set a link to the DB managed contents 243 .
- a transaction identifier of the current transaction and a file abstract data type value are given.
- Information concerning the contents 243 placed under the database management as a result of the calling is stored in external file 4013 of a record prepared or created by the INSERT statement or by the UPDATE statement and update information is stored in the log 345 .
- a contents link delete linking function at # 2 is called when the DBMS 342 processes a DELETE statement in SQL to delete a link to the DB managed contents 243 or when the DBMS 342 processes an UPDATE statement in SQL to delete a link to the DB managed contents 243 .
- a transaction identifier of the current transaction and a file abstract data type value are given.
- Update information concerning external file 4013 of a record to be deleted as a result of the calling is stored in the log 345 .
- a contents update linking function at # 3 is called when the DBMS 342 processes an UPDATE statement in SQL to update the content of the DB managed contents 243 .
- a transaction identifier of the current transaction and file abstract data type values before and after the updating are given.
- update information concerning external file 4013 of a record to be updated is stored in the log 345 .
- a linking function for commit process at # 4 is called when the DBMS 342 commit-ends the current transaction.
- a transaction identifier of the transaction to be commit-ended is given.
- those having the designated transaction identifier are each settled for the related DB managed contents 243 and are deleted from the log 345 .
- a linking function for rollback process at # 5 is called when the DBMS 342 rollback-ends the current transaction.
- a transaction identifier of the transaction to be rollback-ended is given.
- those having the designated transaction identifier are all deleted from the log 345 .
- a registration parameter setting linking function at #6 that is, a file abstract data type function new( ) is embedded in an INSERT statement or UPDATE statement to designate a parameter concerning contents link registration.
- a registration handle is designated as the parameter.
- a value as the file abstract data type is structured. This value can be either the same value as the registration handle or a value subjected to any conversion process inside new( ) for the purpose of practicing the present invention.
- An update parameter setting linking function at # 7 that is, a file abstract data type function update( ) is embedded in an UPDATE statement to set a parameter concerning update of a contents.
- an update handle is designated as the parameter.
- a value as the file abstract data type is structured.
- the user program 142 acquires an access handle representing a return value of this function through a FETCH statement in SQL.
- FIG. 4 there is shown an example of a DB operation statement for the external file management table 4000 . Individual items will be described below.
- Described in (1) is an INSERT statement for record registration accompanied by link registration to an external contents.
- the aforementioned function newo of file abstract data type is designated at the third of VALUES phrase.
- a registration handle of the contents to be registered is stored in the variable: entryhandle representing the parameter of this function newo.
- entryhandle representing the parameter of this function newo.
- a record having 104 in number 4011 , “dandelion” in title 4012 and information concerning the external contents designated by: entryhandle in external file 4013 is registered in the database, so that the designated contents is placed under management of the DBMS and a link is set.
- the link registration is, however, settled at the time that the DBMS transaction commits.
- Described in (2) is a DELETE statement for record delete.
- a record having 100 in number 4011 is deleted and a link to an external contents designated by external file 4013 of this record is deleted.
- the link delete is, however, settled at the time that the DBMS transaction commits.
- Described in (3) is an UPDATE statement for update of external file 4013 .
- the link information to the contents which has already been managed by external file 4013 is replaced with link information to a different contents. More specifically, the link to the former link destination contents is deleted and a link to a new contents is set. The link registration and the link delete are, however, settled at the time that the DBMS transaction commits.
- Described in (4) is an UPDATE statement for update of the content of an external contents designated at external file 4013 .
- an external contents designated by external file 4013 of a record having 103 in number 4011 is updated on the basis of update difference information indicated by an update handle designated by the parameter: update-handle in file abstract data type function update.
- the update of the content is, however, reflected on the external contents at the time that the DBMS transaction is commits.
- Described in (5) is a SELECT statement for acquisition of an access handle for accessing an external contents.
- a record having title 4012 starting with ‘sun’ is an object to be searched.
- records 4021 and 4022 are involved.
- title 4012 of the records and the access handle which are returned as a return value of the function get_accesshandle( ) of abstract data type are acquired.
- a contents registration preparation function is to transfer a registration target contents 144 on the user client 10 to the file server 20 so as to create a DB managed contents 243 .
- file data of the registration target contents 144 read by the FLL 143 is designated.
- the file data contains a file name and the content of the file but the format of the file data is not prescribed.
- a directory path of the DB managed contents 243 created here is not particularly prescribed.
- a registration handle created by the FMS 242 is returned.
- the contents is called from the FLL 143 but the present invention can of course be practiced by so implementing calling of a contents from the FLE 343 on extension of the DBMS transaction.
- a contents registration stop function is for invalidating a registration handle.
- the registration handle acquired with the aforementioned contents registration preparation function is designated.
- the registration handle is released and the DB managed contents 243 is deleted.
- a link registration function is to place a link to a contents designated by a registration handle 4300 (described later) in temporary registration condition.
- a transaction identifier of the DBMS 342 and a path name (file name or directory name) of a link registration target contents are designated.
- the link to the designated DB managed contents 243 is placed in temporary registration condition and commit or rollback wait condition is established in the FMS 242 .
- a link delete function is for placing a link to a contents in temporary delete condition.
- a transaction identifier of the DBMS 342 and a path name (file name or directory name) of a link delete target contents are designated.
- the link to the designated DB managed contents 243 is placed in temporary delete condition and commit or rollback wait condition is established in the FMS 242 .
- a link destination update function is for updating the content of a contents.
- a transaction identifier of the DBMS 342 and an update handle are designated.
- the content update for the designated DB managed contents 243 is placed in temporary registration condition and commit or rollback wait condition is established in the FMS 242 .
- a transaction settling function is to settle link registration, link delete and content update for an external contents.
- a transaction identifier of the DBMS 342 is designated.
- a transaction invalidation function is to invalidate link registration, link delete and content update for an external contents.
- a transaction identifier of the DBMS 342 is designated.
- An access starting function is for starting an access session between the user program 142 and the FMS 242 .
- a path name of a contents to be accessed stored in an access handle and a client identifier for definitely identifying the user program 142 are designated.
- an access identifier for definitely indicating the established session is returned.
- the FMS 242 registers the access information in an access management table 4600 (described later).
- a contents attribute information acquiring function is for acquiring file attribute information concerning an external contents.
- the access identifier acquired in the above access starting function is designated.
- file structure information of the external contents is returned.
- file structure information a list of file number, file name and file size is available.
- the type and acquisition format of the attribute information is not particularly prescribed in practicing the present invention.
- a data read function is for acquiring data of a DB managed contents 243 .
- the access identifier acquired with the aforementioned access starting function, file name, offset of a file read starting point and read length are designated.
- the read file data is returned.
- An access end function is for ending the access session started by the aforementioned access starting function.
- the access identifier acquired with the access starting function is designated.
- the FMS 242 deletes the access information from the access management table 4600 (to be described later).
- An update starting function is for starting an update session between the user program 142 and the FMS 242 .
- a path name of a contents subject to update stored in an access handle and a client identifier for definitely identifying the user program 142 are designated.
- an update identifier for definitely indicating the established session is returned.
- the FMS 242 registers the access information in the access management table 4600 (to be described later).
- a contents attribute acquiring function is an interface for acquiring file attribute information concerning an external contents.
- the update identifier acquired with the aforementioned update starting function is designated.
- file structure information of the external contents is returned.
- file structure information a list of file number, file name and file size is available.
- the type and acquisition format of the attribute information is not particularly prescribed in practicing the present invention.
- a file creating function is for adding a file or a directory to the external contents placed under management of the DB.
- the update identifier acquired with the aforementioned update starting function and a name of the file or directory to be created are designated.
- the FMS 242 registers update information of file preparation (create) in an update management table 4700 (to be described later).
- a file delete function is for deleting a file or directory contained in the external contents placed under management of the DB.
- the update identifier acquired with the aforementioned update starting function and a name of the file or directory to be deleted are designated.
- the FMS 242 registers the update information of file delete in the update management table 4700 (to be described later).
- a data write function is for performing additional write or update of data for the DB managed contents 243 .
- the update identifier acquired with the aforementioned update starting function, file name, offset of a file write starting point, write length and an area region storing the written file data are designated.
- the FMS 242 registers the update information of file content change in the update management table 4700 (to be described later).
- a file moving function is to perform movement of a file in respect of the DB managed contents 243 , that is, change of file name. This function can be applied to the movement of not only the file but also the directory.
- the update identifier acquired with the aforementioned update starting function, a file name or directory name from which the movement starts and a file name or directory name in which the movement terminates.
- the FMS 242 registers the update information after the file movement in the update management table 4700 (to be described later).
- An update handle acquiring function is for acquiring an update handle related to the update session started with the aforementioned update starting function.
- the update identifier acquired with the edit/update starting function is designated.
- the update handle prepared by the FMS 242 is returned.
- An update ending function is for ending the updated session started with the aforementioned update starting function.
- the update identifier acquired with the update starting function is designated.
- the retained session information is deleted, and log are released.
- FIGS. 5 to 9 there are shown various data structures related to the present embodiment.
- FIG. 5 shows an example of data structure of the contents information file 244 .
- One contents information file 244 is prepared in respect of one DB managed contents 243 .
- a location where the file is prepared is not particularly prescribed so long as the location is effective to make the correspondence between the DB managed contents 243 and the contents information file 244 .
- Reference number 4121 holds how many ones of the external file fields are from which links are set in the external file management table 4000 (FIG. 2).
- Directory name entry 4122 retains information of a directory contained in the contents. Stored in the entry 4122 is information such as a name of the directory (directory name) and the number of files contained in the directory (file number).
- File name entry 4123 retains information of a file contained in the contents.
- Stored in the entry 4123 is information such as a file name and a file size. Even when the correspondence between one contents information file 244 and a plurality of DB managed contents 243 is made with the aim of improving storage efficiency, the present invention can of course be practiced.
- FIG. 6 shows a data structure of the registration handle 4300 and data structures of access handle 4400 and update handle 4500 .
- the registration handle 4300 is created with the contents registration preparation function of the DBMS external file management system (FMS) 242 .
- the registration handle consists of two fields of FMS identifier 4311 and directory path 4312 .
- Set in the FMS identifier 4311 is an identifier of an FMS 242 that has created the registration handle of interest.
- Set in the directory path 4312 is a directory path related to the DB managed contents 243 .
- the access handle 4400 is created in the external file linking function extension (FLE) 343 and is given, as a return value of the file abstract data type function get_accesshandle( ), to the user program 142 .
- the access handle consists of two fields of FMS identifier 4411 and directory path 4412 .
- Set in the FMS identifier 4411 is an identifier of an FMS 242 managing a contents to be accessed.
- Set in the directory path 44112 is a directory path of the contents to be accessed.
- the update handle 4500 is created by the update handle acquiring function of the DBMS external file management system (FMS) 242 and given to the user program 142 .
- the update handle consists of three fields of FMS identifier 4511 , directory path 4512 and serial number 4513 .
- Set in the FMS identifier 4511 is an identifier of an FMS 242 managing a contents to be updated.
- Set in the directory path 4512 is a directory path of the contents to be updated. When the contents is registered for linking as one file, a full path of the file is set and when the contents is registered for linking as a directory, a full path of the directory is set.
- Set in the serial number 4513 is an identifier of update used as a key by the update management table 4700 (to be described later).
- FIG. 7 there is illustrated an example of a data structure of management information related to the user client 10 and being stored in an area 221 on memory 22 assured by the DBMS external file management system (FMS) 242 .
- An upper portion is a data structure concerning management of sessions of access to the external contents and a lower portion is a data structure concerning management of update sessions applied to the external contents.
- Access session management information is managed by means of the access management table 4600 .
- Update session management information is managed with the update management table 4700 .
- the access management table 4600 consists of four fields of serial number 4611 , directory path 4612 , client identifier 4613 and update flag 4614 .
- the serial number 4611 is for identifying a session and is set with a definite value when the session starts.
- Set in the directory path 4612 is a path name designated during input of the function.
- Set in the client identifier 4613 is a client identifier designated during input of the function.
- the update flag 4614 is set with N in the case of access starting function and is set with Y in the case of update starting function to decide whether the session is for reference only or is concomitant with update.
- the update management table 4700 consists of three fields of serial number 4711 , update type 4712 and update content 4713 .
- the value of serial number 4711 corresponds to the serial number 4611 in the access management table 4600 , so that by combining the access management table 4600 with the update management table 4700 through the serial number, it can be identified which user program makes a request for update.
- a combination of the update type 4712 and update content 4713 indicates the concrete content of update.
- a record designated at 4721 indicates that a file is newly created with data stored subsequently to a file name ‘Tama. jpeg’ in update content 4713 , under a directory path ‘/db/pictures/river/’ designated at 4622 .
- a record designated at 4722 indicates that a directory ‘Edo’ is created under the directory path ‘/db/pictures/river/’ designated at 4622 .
- a record designated at 4723 indicates that a file ‘Naka. jpg’ is deleted under the directory path ‘/db/pictures/river/’ designated at 4622 is deleted.
- a record designated at 4724 indicates that a file ‘Edo. Jpg’ is renamed (movement) to ‘/db/pictures/river/Edo/0001. jpg’ under the directory path ‘/db/pictures/river/’ designated at 4622 .
- the update management table 4700 is totally retained on the memory but even when this table is so implemented as to be partly stored on the secondary storage, the present invention can of course be practiced.
- FIG. 8 there is illustrated an example of a data structure of management information related to the transaction of DBMS 342 and being stored in the area 221 on memory 22 assured by the DBMS external file management system (FMS) 242 .
- FMS DBMS external file management system
- a transaction management table 4800 consists of four fields of transaction identifier 4811 , process type 4812 , directory path 4813 and serial number 4814 .
- the transaction identifier 4811 is an identifier for definitely indicating a transaction of the DBMS 342 .
- the process type 4812 is sorted into three kinds of insert (link registration), delete (link delete) and update (link destination update).
- the directory path 4813 is a full path of a link destination contents related to update.
- the serial number 4814 is meaningful only when the process type 4812 is update and is set with the same value as that in the serial number 4611 of access management table 4600 and in the serial number 4711 of update management table 4700 . In FIG.
- indicated at 4821 is an example where a directory ‘/db/pictures/sea/’ is registered as a link destination contents under a transaction tx003 and indicated at 4822 is an example where a link to a file ‘db/pictures/mountain. bmp’ is deleted under a transaction tx004.
- Indicated at 4823 and 4824 is an example where a link to a file ‘/db/pictures/sun. bmp’ is deleted with an UPDATE statement and instead a file ‘db/pictures/moon. jpg’ is registered as a link destination contents.
- Indicated at 4825 is an example where contents following the directory ‘/db/pictures/river’ are updated on the basis of the update information indicated by access serial number 5 in the update management table 4700 .
- an external file log 4900 acquired by the external file linking function extension (FLE) 343 has a data structure as exemplified in FIG. 9.
- the FLE 343 when the external file 4013 is updated during registration, delete and update of the record in the transaction, the identifier of the DBMS external file management system (FMS) 242 is recorded in the external file log 4900 by using a log acquiring function of the DBMS 342 .
- the external file log 4900 consists of two fields of transaction identifier 4911 and FMS identifier 4912 .
- Set to the transaction identifier 4911 is an identifier of a transaction belonging to an update process giving a chance of acquiring a log to the external file log 4900 .
- Set to the FMS identifier 4912 is an identifier of an FMS related to the DBMS transaction.
- FIGS. 10 to 19 show the flow of processes related to the present embodiment.
- a process for registering a link to a contents is depicted in FIGS. 10 and 11.
- a process for deleting a link to a contents is depicted in FIGS. 12 and 13.
- a process for referencing a contents is depicted in FIGS. 14 and 15.
- a process for updating a link destination contents is depicted in FIGS. 16 and 17.
- a transaction commit process is depicted in FIG. 18.
- a transaction rollback process is depicted in FIG. 19.
- a ROLLBACK statement process shown in FIG. 19 is the same as a process during a transaction rollback caused when the DBMS 342 becomes faulty or the user program ends without authorization.
- step 5001 the user program 142 calls the contents registration preparation function of the FMS 242 via the FLL 143 to make a request for registration preparation of a registration target contents 144 on the user client 10 .
- file data is extracted from an input parameter and a DB managed contents 243 is created by using an OS file accessing control information setting function offered by the OS 241 after setting to the OS file access controlling information 245 a signification to the effect that the contents is possessed by the FMS.
- a plurality of files are handed over, a plurality of files are prepared as DB managed contents 243 .
- a registration handle 4300 is created and is returned to the user program 142 as an output parameter.
- step 5002 the user program 142 registers a new record in the external file management table 4000 by using an INSERT statement of the format shown at (1) in FIG. 4 (as the variable: entryhandle, the register handle 4300 acquired in the step 5001 is designated).
- the DBMS 342 receiving the request from the user program 142 executes an INSERT statement process.
- step 5101 the new record 4023 is created.
- record identifier 4001 of the new record 4023 is settled.
- definition information of the record 4023 is referenced to decide whether the file abstract data type function new( ) is contained. If not contained, the program proceeds to step 5107 . If contained, a process concerning the file abstract data type is subsequently carried out in the FLE 343 .
- step 5103 new( ) in the INSERT statement is first processed.
- a file abstract data type value is prepared on the basis of the registration handle.
- the registration target contents is a file
- file is set in the contents format 4016 .
- step 5104 a contents link registering process in the FLE 343 is called.
- the transaction identifier and the file abstract data type value are handed over as a parameter.
- the FMS identifier, directory path and contents format are extracted from the file abstract data type value.
- a directory delimiter ‘/’ is added to the end of the directory path.
- the link registration function of the FMS 242 is called.
- the FMS 242 called in this phase is one indicated by the FMS identifier of file abstract data type value.
- an identifier of the current transaction of the DBMS 342 and a directory path are designated.
- FMS 242 it is confirmed that a file exist under the directory path designated by the input parameter and at the same time, a contents information file 244 is also created.
- insert is set at update type 4812 to add an entry together with the transaction identifier and directory path.
- step 5105 a new log record is prepared in the external file log 4900 by utilizing the log recording function of the DBMS 342 and the transaction identifier and FMS identifier are recorded.
- step 5109 the DBMS 342 also ends the process of INSERT statement abnormally.
- the prepared file abstract data type value is written to external file 4013 of the record 4023 and the INSERT statement process ends normally in step 5108 .
- a commit process or rollback process is carried out in step 5003 by the DBMS 342 in response to a commit process request or rollback process request from the user program 142 and a transaction ends. This process will be described later.
- the user program 142 calls the FMS 242 for the contents registration stopping function via the FLL 143 in step 5004 .
- the registration handle is handed over as an input parameter.
- the FMS 242 it is confirmed whether the external contents related to the registration handle is unregistered. If the link has been set or a transaction of link setting is on the way, nothing is done. Otherwise, the file and directory created with the contents registration preparation function are deleted.
- the registration target contents 144 has been described as being on the user client 10 but in some applications, contents placed on the file server 20 is desired to be placed under management of the DB in advance. In this case, transfer of file data is not carried out at the time that the contents registration preparation function of the FMS 242 is called but only OS file accessing control information 245 of the designated contents may be updated to determine the FMS 242 as a possessor and the contents as it is may be treated as a DB managed contents 243 .
- step 5201 the user program 142 makes a request for deleting a record 4023 registered in the DBMS 342 and a DB managed contents 243 managed by the record by using a DELETE statement of the format at (2) in FIG. 4.
- processing of the DELETE statement is executed in the DBMS 342 called from the user program 142 .
- step 5301 a record satisfying conditions in a WHERE phrase of the designated DELETE statement is confirmed and in the absence of the record, the program proceeds to step 5308 where the DELETE statement process ends normally.
- the record to be processed is determined in step 5302 .
- step 5303 it is decided on the basis of definition information of the record whether this record contains a field of file abstract data type and if the file is not contained, the program proceeds to step 5307 . If the file is contained, a process concerning the file abstract data type is carried out in the FLE 343 .
- step 5304 a contents link delete process in the FLE 343 is called.
- an identifier of the current transaction of DBMS 342 and a file abstract data type value are handed over.
- the link delete function of the FMS 242 is called on the basis of a FMS identifier and a directory path acquired from the file abstract data type value.
- delete is set at update type 4812 in the transaction management table 4800 and an entry is added together with the transaction identifier and directory path handed over as the input parameter.
- step 5305 a new log record is created in the external file log 4900 by utilizing a log recording function of the DBMS 342 and the transaction identifier and FMS identifier are recorded.
- step 5306 it is decided whether the internal process of the FLE 343 ends normally and if not normal, the program proceeds to step 5309 so as to end abnormally. If normal, the program proceeds to the step 5307 .
- step 5307 the record of the database is deleted and thereafter, the program returns to the step 5301 to sequentially proceed with another record delete process. If a record to be processed does not remain, the DELETE statement process in the DBMS ends.
- the commit process or rollback process is subsequently carried out, in step 5202 , by the DBMS 342 in response to a commit process request or rollback process request from the user program 142 and a transaction ends. This process will be described later.
- the link information can be replaced with different one by overwriting the value of the former file abstract data type with a value of a different file abstract data type.
- This can be achieved by carrying out the aforementioned process for DELETE statement and process for INSERT statement simultaneously inside the FLE 343 .
- the records designated at 4823 and 4824 in FIG. 8 are prepared in the transaction management table 4800 .
- step 5401 the user program 142 uses a SELECT statement of the format at (5) in FIG. 4 to request the DBMS 342 to create selection conditions for a record and an access handle 4400 and the DBMS 342 receiving this request processes the SELECT statement.
- step 5402 the user program requests the DBMS 342 to execute a FETCH statement in order to acquire a result of the SELECT statement.
- the DBMS 342 receives the request from the user program 142 , the DBMS 342 executes a FETCH statement process.
- step 5501 it is decided whether there is a record, as a result of search, that satisfies conditions and in the absence of the record, the FETCH statement process ends and the program returns. In the presence of the record, the program proceeds to step 5502 where the record to be processed is determined.
- step 5503 it is decided on the basis of definition information of this record whether the record contains a field of file abstract data type and if the file is not contained, the program proceeds to step 5505 . If the file is contained, the program proceeds to step 5504 where a process concerning the file abstract data type is carried out in the FLE 343 .
- an access handle creating process get_accesshandle( ) is called.
- a file abstract data type value is handed over.
- an FMS identifier and a directory path are derived from the file abstract data type value to create an access handle 4400 .
- step 5505 the thus prepared access handle 4400 is set to an output result together with other search result data.
- the program returns to the step 5501 where the above process is repeated until the record satisfying the conditions in the SELECT statement runs out. When the record disappears, the FETCH statement process ends.
- the access starting function of the FMS 242 is called via the FLL 143 in order to start an access to an external contents after the access handle has been acquired.
- the call destination FMS 242 is determined dynamically with an FMS identifier 4411 of the access handle 4400 .
- An input parameter includes a directory path 4412 in the access handle 4400 acquired with the aforementioned SELECT statement and a client identifier of the user program 142 (a combination of the network address of the user client 10 and an identifier of a session established by the user program 142 in relation to the network interface 13 or the like).
- the contents attribute information acquiring function of the FMS 242 is called via the FLL 143 in step 5404 and information concerning the DB managed contents 243 is acquired.
- Set to the input parameter is the access identifier acquired with the aforementioned access starting function.
- a directory path is acquired from the access management table 4600 on the basis of the access identifier of the input parameter, a corresponding contents information file 244 is read and the read attribute information is returned to the user program 142 .
- a file name is designated to perform reading of file data.
- the data reading function of the FMS 242 is called via the FLL 143 to read file data of the DB managed contents 243 .
- read name, offset position inside the file and read data size are set in the input parameter.
- a directory path is acquired from the access management table 4600 on the basis of the access identifier of the input parameter. The acquired directory path is added with the file name designated as the input parameter so as to read the file data and the read data is returned to the user program 142 .
- an access end process is carried out. More particularly, in step 5406 , the access end processing function of the FMS 242 is called via the FLL 143 and an access identifier is designated as an input parameter. In the FMS 242 , the access management table 4600 is searched and a record consistent with the access identifier is deleted. Through this, locking applied to the external contents by the FMS 242 is released.
- the commit process or rollback process accompanying the SELECT statement can be executed by causing the user program 142 to issue a request at any time point which succeeds calling of the access starting function of the FMS 242 .
- a method of acquiring data in the file format on the secondary storage 14 of the user client 10 may be employed in place of reading data on the memory of the user program 142 .
- This can be implemented by defining an interface for file acquisition on the FLL 143 .
- the acquisition destination being either on the memory or on the secondary storage does not matter in practicing the present invention.
- step 5601 the user program 142 uses a SELECT statement of the format at (5) in FIG. 4 to request the DBMS 342 to create selection conditions for a record and an access handle 4400 and the DBMS receiving this request processes the SELECT statement.
- step 5602 the user program requests the DBMS 342 to execute a FETCH statement for the sake of acquiring a result of the SELECT statement.
- the DBMS 342 executes the FETCH statement process. (The content of the FETCH statement process is shown in FIG. 15).
- the user program calls the update starting function of the FMS 242 via the FLL 143 in order to start update for an external contents in step 5603 .
- the calling destination FMS 242 is dynamically determined by means of an FMS identifier 4411 of the access handle 4400 .
- An input parameter includes a directory path 4412 in the access handle 4400 acquired with the aforementioned SELECT statement and a client identifier (a combination of a network address of the user client 10 and an identifier of a session established by the user program 142 in relation to the network interface 13 ) of the user program 142 .
- an entry in which Y is set at update flag 4614 and the directory path and client identifier of the input parameter are set at directory path 4612 and client identifier 4613 , respectively, in the access management table 4600 , is created and the update identifier is returned to the user program 142 .
- the contents attribute information acquiring function of the FMS 242 is called via the FLL 143 in step 5604 and information concerning the DB managed contents 243 is acquired.
- Set to the input parameter is an update identifier acquired with the update starting function.
- a directory path is acquired from the access management table 4600 on the basis of the update identifier of the input parameter, a corresponding contents information file 244 is read and the read attribute information is returned to the user program 142 .
- step 5605 processes such as file (or directory) preparation, file (or directory) delete, write to file and file (or directory) rename are carried out.
- file (or directory) creation the file creating function of the FMS 242 is called via the FLL 143 and a DB managed contents 243 is newly created.
- the update identifier acquired with the update starting function and name of a file (or directory) to be prepared newly are designated.
- an entry having new at update type is added to the update management table 4700 .
- file (or directory) delete the file delete function of the FMS 242 is called via the FLL 143 and a DB managed contents 243 is deleted.
- the update identifier acquired with the update function and name of a file (or directory) to be deleted are designated.
- an entry having delete at update type is added to the update management table 4700 .
- the file write function of the FMS 242 is called via the FLL 143 and the content of a DB managed contents 243 is updated.
- the update identifier acquired with the update starting function, name of a file to be written, offset position inside the file, written data size and written data storing area are designated.
- an entry having new at update type is added to the update management table 4700 and a file image as a result of update is registered in the table 4700 .
- file (or directory) name change the file moving function of the FMS 242 is called via the FLL 143 and the name of a DB managed contents 243 is changed.
- the update identifier acquired with the update starting function, name of a file (or directory) to be renamed and name after rename are designated.
- an entry having rename at update type is added to the update management table 4700 .
- an update handle is acquired in step 5606 .
- the update handle acquiring function is called via the FLL 143 and an update handle related to the external contents is acquired.
- Set to an input parameter is the update identifier acquired with the update starting function.
- an update handle 4500 is created from the access management table 4600 and is returned to the user program 142 .
- the user program 142 subsequently uses an UPDATE statement of the format at (4) in FIG. 4 (as variable: updatehandle, the update handle 4500 acquired in the step 5306 is designated) to update the value of external file 4013 in the record in external file management table 400 of the DBMS 342 and place the DB managed contents 243 in temporary update condition on extension of the DBMS transaction.
- step 5701 it is decided whether the file abstract data type is contained in an object to be updated. If the file abstract data type is not contained, the process is deemed as usual record update and the program proceeds to step 5708 . In case the file abstract data type is contained, it is decided in subsequent step 5702 whether the process is for update of the content of the link destination. If an update parameter setting function update( ) is not designated, the process is not for update of the content of the link destination and the program proceeds to step 5703 where an update process is executed for only usual link information.
- step 5705 a contents update process of FLE 343 so related as to be called during UPDATE statement process is called.
- a transaction identifier and the update handle are handed over.
- an FMS identifier, a directory path and the contents format are extracted from the update handle.
- a directory delimiter ‘/’ is added to the end of the directory path.
- the link destination update function of the FMS 242 is called.
- the called FMS 242 is one indicated by the FMS identifier of the file abstract data type value.
- an identifier of the current transaction of the DBMS 342 and the update handle are designated.
- the FMS 242 by referencing the update management table 4700 , it is confirmed from serial number 4513 in the update handle 4500 designated by the input parameter that the update information is registered and update is set at process type 4812 to add an entry, together with the transaction identifier, directory path and serial number, to the transaction management table 4800 .
- the directory path and serial number are those acquired from the update handle.
- step 5706 the log recording function of the DBMS 342 is utilized to prepare a new log record in the external file log 4900 and the transaction identifier and FMS identifier are recorded.
- step 5710 the DBMS 342 also ends the UPDATE statement process abnormally.
- the file abstract data type value prepared in the step 5704 is written to the record to be updated in the step 5708 and the UPDATE statement process is caused to end normally in step 5709 .
- a commit or rollback process is carried out in step 5608 by the DBMS 342 in response to a commit process request or rollback process request from the user program 142 and a transaction ends. This process will be describe later.
- step 5609 the update ending function of the FMS 242 is called via the FLL 143 in order to end the update process after the DBMS process has ended.
- the updated identifier acquired through the calling of the update starting function is handed over.
- the record concerned is deleted from the access management table 4600 and update management table 4700 on the basis of the serial number 4513 in the update identifier handed over in the form of the input parameter.
- a transaction commit process will be described on the basis of a flow chart shown in FIG. 18.
- a commit process of the FLE 343 is first called. At that time, as an input parameter, a transaction identifier of a transaction to be committed is handed over.
- step 5801 a record having a transaction identifier 4911 coincident with the transaction identifier handed over in the form of the input parameter is searched. If the coincident identifier is not found in step 5802 , the commit process of the FLE 343 ends.
- a FMS identifier 4912 is acquired from the record of external file log 4900 and the transaction settling function of the FMS 242 is called in step 5803 .
- the transaction identifier is designated as an input parameter.
- the transaction management table 4800 is searched and it is examined whether a record having the transaction identifier designated by the input parameter exists. If the consistent record exists, it is sequenced in the order of the kinds at process type 4812 so as to be subjected to a settling process.
- a transaction having insert at the process type is settled. Concomitantly with the settling process, the number of reference number 4121 in the contents information file 244 is incremented by one. Subsequently, a transaction having update at the process type is settled.
- the former reference number 4121 in the contents information file 244 is one at the time of the settling process, the settling process is carried out by overwriting while keeping the reference number unchanged. More specifically, the serial number 4814 in the transaction management table 4800 is used as a key to search the update management table 4700 and results of update associated with the same serial number are reflected.
- the reference number in the information file 244 of that contents is decremented by one while keeping the former contents unchanged in order to assure the contents of link destination for file abstract data type values of other link originators.
- the DB managed contents 243 is copied in a separate way to reflect the results of update.
- the reference number 4121 in the contents information file 244 is set to one.
- a transaction having delete at the process type is settled. Concomitantly with the settling process, the reference number 4121 in the contents information file 244 is decremented by one.
- step 5804 processed records in the external file log 4900 are deleted.
- step 5805 the DBMS 342 performs a usual commit process concerning records in the database.
- a transaction rollback process will be described on the basis of a flow chart shown in FIG. 19.
- a rollback process of the FLE 343 is first called. At that time, as an input parameter, a transaction identifier of a transaction subjected to rollback is handed over.
- step 5901 a record having a transaction identifier 4911 coincident with the transaction identifier handed over in the form of the input parameter is searched from the external file log 4900 . If the coincident identifier is not found in step 5902 , the rollback process of the FLE 343 ends.
- a FMS identifier 4912 is acquired from the record in the external file log 4900 and the transaction invalidating function of the FMS 242 is called in step 5903 .
- the aforementioned transaction identifier is designated.
- the transaction management table 4800 is searched and it is examined whether a record having the transaction identifier designated in the input parameter exists. In the presence of the record having the coincident identifier, the invalidation process is carried out. The record having the transaction identifier 4811 coincident with that in the input parameter in the transaction management table 4800 is deleted.
- step 5904 the processed record in the external file log 4900 is deleted.
- step 5905 the DBMS 342 carries out a usual rollback process concerning records of the database.
- the user After searching the database, the user registers update difference information concerning a registered file in the DBMS external management system and then reflects the content of update on a link destination file by means of a database transaction, with the result that even consistency of the content of the file can be managed by using the database.
- the link management combined with the reference number, the edition management of external file based on the database can also be realized.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A database management system has a data structure intending to manage external files and an external file linking function extension called during an update process of a record including the data structure, whereby update of the record is carried out in synchronism with update of the content of an external file to maintain matching between the record and the external file. By reflecting the update on only a link destination file of an updated database record in accordance with the number of references from the database record to the file, the edition management of files using the database can be realized.
Description
- The present application is related to a co-pending application Ser. No. 09/452,172 entitled “DATABASE PROCESSING METHOD, APPARATUS ROR IMPLEMENTING SAME, AND MEDIUM CONTAINING PROCESSING PROGRAM THEREFOR” filed by Y. NAKANO et al on Dec. 1, 1999 and a co-pending application Ser. No. 09/433,553 entitled “DATABASE MANAGEMENT METHOD, SYSTEM FOR PRACTICING THE METHOD AND MEDIUM RECORDING PROCESS PROGRAM” filed by K. IWASAKI et al on Nov. 4, 1999.
- The present invention relates to a system for managing “files” defined by a file system of operating system (hereinafter referred to as an OS file system) under the control of a database management system (hereinafter referred to as a DBMS) and more particularly, to database-file link method and apparatus which are effective when the content of a file managed by the database management system is updated.
- Datalinks in a database for managing external data are disclosed in “DATALINKS: MANAGING EXTERNAL DATA WITH DB2 UNIVERSAL DATABASE” by J. R. Davis, IBM CORPORATION, February 1999, pp 1-18.
- For managing “files” or “directories” (hereinafter, a single file, plural files and a plurality of files concomitant with a directory structure are generally termed “contents”), a method is available in which location information of a file or directory (a so-called directory path) is written in one field inside a record. In this method, this stored data is seen as a mere character line when viewed from the DBMS side, so that the method does not recognize that the character line designates a file or directory and is unaware of the attribute including file size and of distinction between the file and the directory. In other words, the user must manage a contents designated by a directory path of interest independently of the DBMS. A user program preparing or creating a database according to the method as above searches the database by using a desired field as a search key and a character line in the field written with the directory path in a record of interest is acquired so that the character line may be regarded as the directory path to reference the contents.
- According to the prior arts for directly storing the directory path in the record of the database, management of the external contents is carried out independently of management of the field storing the directory path and there is a possibility that update/delete applied to the external contents is executed asynchronously with update/delete of the field value in the database, thus making mismatching between the database and the external contents liable to occur. Once matching is disturbed, recovery of matched conditions is difficult to achieve.
- Further, in the case of the aforementioned prior arts, in making the correspondence relation between the same contents and a plurality of fields in the database, the number of fields holding the correspondence relation must be managed additionally. Without this management, when a contents is updated and deleted, even the content of a link destination as viewed from a field of the database representing a different link originator is updated, resulting in mismatching. As will be seen from the above, it is difficult to apply the prior arts to the edition management of the contents by using the database.
- As described above, the prior arts have difficulties in keeping the link matching between the database and the external file in operation, raising a problem that the confirmation procedure during execution of update/delete of the content of an external contents becomes complicated.
- An object of the present invention is to provide method and apparatus capable of maintaining matching of reference from the database and update matching by carrying out a process for link to external contents on extension of a transaction of the database.
- In order to manage an external contents by using the DBMS, a file abstract data type is introduced into the DBMS. The file abstract data type provides a data structure for storing location information (file server name, directory path and the like) concerning the contents to be managed and a function for processing that information. By defining a table having fields of the file abstract data type, the DBMS user can register an external contents in the database as a link destination in the table.
- Further, in order to manage contents under management of the DBMS, a file management system having a higher file accessing right than the general users (hereinafter called a DBMS external file management system) is introduced. The contents under management of the DBMS is set with access control information that is possessed by the DBMS external file management system and cannot be referenced/updated from the general users on the level of the OS file system. For the sake of managing a contents as a link destination in the abstract data type field, the DBMS external file management system has a mechanism for managing a file structure inside the contents representing the link destination. With the aim of managing one contents as a plurality of link destinations in abstract data type fields, the DBMS external file management system has a mechanism for managing the number of links. Further, in order to update the content of a link destination contents on extension of a DBMS transaction, the DBMS external file management system has a mechanism for retaining update difference information.
- In order to link the file management information stored in the table to the DBMS external file management system, an external file linking function is defined, inside the DBMS, as a function to process the file abstract data type and is set such that a corresponding process of the DBMS external file management system is called at the opportunity of execution of a database operation (for example, an INSERT process, a COMMIT process or the like).
- Also, in order to provide means for enabling the user of the DBMS to access a contents as a result of search, the external file linking function is provided with a function to create an access handle during search of a database record. This function is called from a function provided by the file abstract data type. For referencing the contents under management of the DBMS, the database record is searched to acquire the aforementioned access handle through the function of the file abstract data type and a file referencing function of the DBMS external file management system is called using the access handle.
- In addition, in order to provide means for enabling the user of the DBMS to update the content of a link destination contents in the field of the database, the external file linking function is provided with a function to register update information for a contents under management of the DBMS by an access handle acquired through search of the database record. For updating the contents under management of the DBMS, an update handle acquired during the update information registration is used to update the field value through a transaction of the database, so that a file update function of the DBMS external file management system is called to update the content of the contents at the link destination.
- By linking the database operation process with the file operation process in this manner, maintenance of matching between the database record and the contents managed in association with the record can be carried out on extension of an operation applied to the database management system, thus ensuring that matching of reference from the database and matching of update can be guaranteed.
- In another aspect of the invention, there is provided a database managing method for managing table information containing a record and data not stored in the table information, wherein when a request for process of said data is inputted, a data structure indicating the processing procedure for the management is created on the basis of position management information storing position information of said data contained in said record and said inputted process request, and when a commit process is carried out in a transaction for processing said process request, a process of maintaining consistency concerning said data is executed on the basis of said data structure.
- FIG. 1 is a block diagram showing the schematic construction of a database system according to an embodiment of the invention.
- FIG. 2 is a diagram showing an example of structure of a table for managing external files in the embodiment.
- FIG. 3 is a diagram showing a list of processes of external file linking function extension.
- FIG. 4 shows DB operation statements.
- FIG. 5 is a diagram showing an example of data structure of a contents information file.
- FIG. 6 is a diagram showing examples of data structures of a registration handle used for contents link registration processing, of an access handle used for contents access processing and contents update processing and of an update handle used for contents update processing.
- FIG. 7 is a diagram showing an example of a data structure on a memory used by the DBMS external file management system (FMS).
- FIG. 8 is a diagram showing an example of a data structure on the memory used by the DBMS external file management system (FMS).
- FIG. 9 is a diagram showing an example of a data structure of an external file log acquired by the external file linking function extension (FLE).
- FIG. 10 is a flow chart of a contents link registering process in a user program.
- FIG. 11 is a flow chart of an INSERT statement process in the DBMS.
- FIG. 12 is a flow chart of a contents link deleting process in the user program.
- FIG. 13 is a flow chart of a DELETE statement in the DBMS.
- FIG. 14 is a flow chart of a contents referencing process in the user program.
- FIG. 15 is a flow chart of a FETCH statement process in the DBMS.
- FIG. 16 is a flow chart of a contents update process in the user program.
- FIG. 17 is a flow chart of an UPDATE statement process in the DBMS.
- FIG. 18 is a flow chart of a COMMIT statement process in the DBMS.
- FIG. 19 is a flow chart of a ROLLBACK statement process in the DBMS.
- Embodiments of the present invention will be described in greater detail with reference to the accompanying drawings.
- When the present invention is applied to a distributed data management system comprised of a database server (hereinafter called a DB server), a file server and a user client, individual computers and software operating thereon are constructed as shown in a system block diagram of FIG. 1.
- The user client, file server and DB server designated by
reference numerals communication network 90. - The
user client 10 includes aCPU 11, amemory 12, anetwork interface 13 and asecondary storage 14 which are coupled with each other through a bus 19. Theuser client 10 is coupled to thecommunication network 90 via thenetwork interface 13. Stored on thesecondary storage 14 are an operating system (hereinafter called an OS) 141, auser program 142, a DBMS external file linking library (hereinafter called an FLL) 143 and aregistration target contents 144 to be registered from the user program into a database. In the present embodiment, theuser program 142 is described as being so implemented as to give a library call to theFLL 143 but the invention can of course be practiced with other implementation modes. - The
file server 20 includes aCPU 21, amemory 22, anetwork interface 23 and asecondary storage 24 which are coupled with each other through a bus 29. Thefile server 20 is coupled to thecommunication network 90 via thenetwork interface 23. Stored on thesecondary storage 24 are anOS 241, a DBMS external file management system (hereinafter called an FMS) 242, a DB managedcontents 243 registered in a database, a contents information file 244 for retaining, for example, attribute information of the DB managed contents, and an OS fileaccess control information 245 concerning the DB managedcontents 243 andcontents information file 244. The DB managedcontents 243 can be placed one by one separately under the DB management or a plurality of files can be placed collectively under the DB management. - The
DB server 30 includes aCPU 31, amemory 32, anetwork interface 33 and asecondary storage 34 which are coupled with each other through a bus 39. TheDB server 30 is coupled to thecommunication network 90 via thenetwork interface 33. Stored on thesecondary storage 34 are anOS 341, aDBMS 342, an external file linking function extension (hereinafter called an FLE) 343 of the DBMS,table information 344 managed by theDBMS 342 and alog 345 of operations concerning update of the table in theDBMS 342. Details of thetable information 344 will be described later. - The
DBMS 342 employs SQL (Structured Query Language) as an interface and is so extended as to have the ability to handle the file abstract data type in addition to the typical SQL data type. The file abstract data type provides a data structure that stores information for management of files and a function group dedicated to the data structure. In theDBMS 342, a module for implementing the processing function of the file abstract data type is theaforementioned FLE 343. In the present embodiment, theDBMS 342 is described as being so implemented as to give a library call to theFLE 343 but the present invention can of course be practiced with other implementation modes. TheDBMS 342 executes the process in a unit of transaction. More particularly, at the time that a commit process request is issued from theuser program 142, a process performed from theuser program 142 is settled and is reflected on data within the DBMS. In case a rollback process request is issued from theuser program 142, a process performed from theuser program 142 is invalidated and is not reflected on data within the DBMS. Also, in case carrying out of a rollback process is settled in accordance with process standards of theDBMS 342 per se, a process performed from theuser program 142 is invalidated and is not reflected on data within the DBMS. Transaction identifiers for uniquely distinguishing the individual transactions are given by the DBMS. - A DBMS external file management system realized with the present invention is comprised of the
FMS 242 onfile server 20, theFLL 143 onuser client 10 and theFLE 343 inDBMS 342 on theDB server 30. - The
FMS 242 onfile server 20 is permitted to operate by the authority of a user (FMS) having a higher right to access files than general users. During database registration, the OS file accessingcontrol information 245 for DB managedcontents 243 is updated by means of theFMS 242 so that the DB managedcontents 243 may be set so as to neither referenced nor updated by other components than theFMS 242. In this manner, files registered in the database can be prevented from being referenced and/or updated without authorization. During database registration, attribute information concerning the DB managedcontents 243 is retained in thecontents information file 244. - The
FMS 242 onfile server 20 has interfaces to the external file linking function extension FLE 343 and the DBMS external file linkinglibrary FLL 143. These interfaces are implemented using means generally called remote procedure call (hereinafter simply referred to as RPC). By virtue of the RPC, a program can call a function in a different program by designating an identifier of the called program and a function name. - Referring to FIGS.2 to 4, the file abstract data type and the external file linking
function extension FLE 343 will be described. - FIG. 2 shows a structure of an external file management table4000 stored in the
table information 344. The illustrated field structure is a mere example and the present invention can of course be practiced with a table of a different table structure. The table 4000 has three fields ofnumber 4011 of integer type,title 4012 of character line type andexternal file 4013 of file abstract data type. The DBMS givesrecord identifier 4001 andfield identifier 4002 to records and fields of the table 4000, respectively. Therecord identifier 4001 is for definitely or uniquely identifying records contained in the table 4000. Thefield identifier 4002 is for definitely or uniquely identifying fields constituting each of the records. - The
external file 4013 of file abstract data type has a data structure which storesFMS identifier 4014,directory path 4015 andcontents format 4016 for indicating whether the contents is a file or a directory. The present invention can of course be practiced even when other additional information is added to the data structure of file abstract data type. - FIG. 3 shows the correspondence between processes in the
DBMS 342 and processes in the external file linkingfunction extension FLE 343 related to the processes in theDBMS 342. “Parameter” indicates information that is handed over when theDBMS 342 calls a function in theFLE 343 and “DBMS timing” indicates a time point that theDBMS 342 calls theFLE 343 in the course of database processing. The individual linking functions will be described below. - A contents link registration linking function at #1 is called when the
DBMS 342 processes an INSERT statement in SQL to set a link to the DB managedcontents 243 or when theDBMS 342 processes an UPDATE statement in SQL to set a link to the DB managedcontents 243. As a calling parameter, a transaction identifier of the current transaction and a file abstract data type value are given. Information concerning thecontents 243 placed under the database management as a result of the calling is stored inexternal file 4013 of a record prepared or created by the INSERT statement or by the UPDATE statement and update information is stored in thelog 345. - A contents link delete linking function at #2 is called when the
DBMS 342 processes a DELETE statement in SQL to delete a link to the DB managedcontents 243 or when theDBMS 342 processes an UPDATE statement in SQL to delete a link to the DB managedcontents 243. As a calling parameter, a transaction identifier of the current transaction and a file abstract data type value are given. Update information concerningexternal file 4013 of a record to be deleted as a result of the calling is stored in thelog 345. - A contents update linking function at #3 is called when the
DBMS 342 processes an UPDATE statement in SQL to update the content of the DB managedcontents 243. As a calling parameter, a transaction identifier of the current transaction and file abstract data type values before and after the updating are given. As a result of the calling, update information concerningexternal file 4013 of a record to be updated is stored in thelog 345. - A linking function for commit process at #4 is called when the
DBMS 342 commit-ends the current transaction. As a calling parameter, a transaction identifier of the transaction to be commit-ended is given. As a result of the calling, of information concerning the contents link registration process, contents link delete process and contents update process and being stored in thelog 345, those having the designated transaction identifier are each settled for the related DB managedcontents 243 and are deleted from thelog 345. - A linking function for rollback process at #5 is called when the
DBMS 342 rollback-ends the current transaction. As a calling parameter, a transaction identifier of the transaction to be rollback-ended is given. As a result of the calling, of information concerning the contents link registration process, contents link delete process and contents update process and being stored in thelog 345, those having the designated transaction identifier are all deleted from thelog 345. - A registration parameter setting linking function at #6, that is, a file abstract data type function new( ) is embedded in an INSERT statement or UPDATE statement to designate a parameter concerning contents link registration. In the
user program 142, a registration handle is designated as the parameter. In this process, a value as the file abstract data type is structured. This value can be either the same value as the registration handle or a value subjected to any conversion process inside new( ) for the purpose of practicing the present invention. - An update parameter setting linking function at #7, that is, a file abstract data type function update( ) is embedded in an UPDATE statement to set a parameter concerning update of a contents. In the
user program 142, an update handle is designated as the parameter. In this process, a value as the file abstract data type is structured. - An access handle preparing (creating) linking function at #8, that is, a file abstract data type function get_accesshandle( ) is embedded in a SELECT statement in SQL to acquire an access handle for accessing contents registered in the database. The
user program 142 acquires an access handle representing a return value of this function through a FETCH statement in SQL. - Referring to FIG. 4, there is shown an example of a DB operation statement for the external file management table4000. Individual items will be described below.
- Described in (1) is an INSERT statement for record registration accompanied by link registration to an external contents. The aforementioned function newo of file abstract data type is designated at the third of VALUES phrase. A registration handle of the contents to be registered is stored in the variable: entryhandle representing the parameter of this function newo. In this example, a record having104 in
number 4011, “dandelion” intitle 4012 and information concerning the external contents designated by: entryhandle inexternal file 4013 is registered in the database, so that the designated contents is placed under management of the DBMS and a link is set. The link registration is, however, settled at the time that the DBMS transaction commits. - Described in (2) is a DELETE statement for record delete. In this example, a record having100 in
number 4011 is deleted and a link to an external contents designated byexternal file 4013 of this record is deleted. The link delete is, however, settled at the time that the DBMS transaction commits. - Described in (3) is an UPDATE statement for update of
external file 4013. In this example, by designating the aforementioned function new( ) of file abstract data type toexternal file 4013 of a record having 103 innumber 4011 while storing a registration handle of a contents to be newly registered in the variable: entryhandle, the link information to the contents which has already been managed byexternal file 4013 is replaced with link information to a different contents. More specifically, the link to the former link destination contents is deleted and a link to a new contents is set. The link registration and the link delete are, however, settled at the time that the DBMS transaction commits. - Described in (4) is an UPDATE statement for update of the content of an external contents designated at
external file 4013. In this example, an external contents designated byexternal file 4013 of a record having 103 innumber 4011 is updated on the basis of update difference information indicated by an update handle designated by the parameter: update-handle in file abstract data type function update. The update of the content is, however, reflected on the external contents at the time that the DBMS transaction is commits. - Described in (5) is a SELECT statement for acquisition of an access handle for accessing an external contents. In this example, a
record having title 4012 starting with ‘sun’ is an object to be searched. When the content of the external file management table 4000 is in a state as shown in FIG. 2,records title 4012 of the records and the access handle which are returned as a return value of the function get_accesshandle( ) of abstract data type are acquired. - Next, examples of interfaces in the DBMS external file management system (FMS)242 will be described. Operation applied to the DB managed
contents 243 is carried out through these interfaces. - Firstly, the following seven examples will be noticed as interfaces called by the external file linking function extension (FLE)343.
- (1) A contents registration preparation function is to transfer a
registration target contents 144 on theuser client 10 to thefile server 20 so as to create a DB managedcontents 243. As an input, file data of theregistration target contents 144 read by theFLL 143 is designated. The file data contains a file name and the content of the file but the format of the file data is not prescribed. Also, a directory path of the DB managedcontents 243 created here is not particularly prescribed. As an output, a registration handle created by theFMS 242 is returned. In the present embodiment, the contents is called from theFLL 143 but the present invention can of course be practiced by so implementing calling of a contents from theFLE 343 on extension of the DBMS transaction. - (2) A contents registration stop function is for invalidating a registration handle. As an input, the registration handle acquired with the aforementioned contents registration preparation function is designated. When a DB managed
contents 243 related to that registration handle is not registered in theDBMS 342 and besides the transaction is not started, the registration handle is released and the DB managedcontents 243 is deleted. - (3) A link registration function is to place a link to a contents designated by a registration handle4300 (described later) in temporary registration condition. As an input, a transaction identifier of the
DBMS 342 and a path name (file name or directory name) of a link registration target contents are designated. The link to the designated DB managedcontents 243 is placed in temporary registration condition and commit or rollback wait condition is established in theFMS 242. - (4) A link delete function is for placing a link to a contents in temporary delete condition. As an input, a transaction identifier of the
DBMS 342 and a path name (file name or directory name) of a link delete target contents are designated. The link to the designated DB managedcontents 243 is placed in temporary delete condition and commit or rollback wait condition is established in theFMS 242. - (5) A link destination update function is for updating the content of a contents. As an input, a transaction identifier of the
DBMS 342 and an update handle are designated. The content update for the designated DB managedcontents 243 is placed in temporary registration condition and commit or rollback wait condition is established in theFMS 242. - (6) A transaction settling function is to settle link registration, link delete and content update for an external contents. As an input, a transaction identifier of the
DBMS 342 is designated. - (7) A transaction invalidation function is to invalidate link registration, link delete and content update for an external contents. As an input, a transaction identifier of the
DBMS 342 is designated. - Next, there are the following four interfaces of
FMS 242 for accessing an external contents called from the DBMS external file linking library (FLL) 143. - (1) An access starting function is for starting an access session between the
user program 142 and theFMS 242. As an input, a path name of a contents to be accessed stored in an access handle and a client identifier for definitely identifying the user program 142 (the client identifier being a combination of a network address of theuser client 10 and an identifier of a session established by theuser program 142 in relation to the network interface 13) are designated. As an output, an access identifier for definitely indicating the established session is returned. On extension of this process, theFMS 242 registers the access information in an access management table 4600 (described later). - (2) A contents attribute information acquiring function is for acquiring file attribute information concerning an external contents. As an input, the access identifier acquired in the above access starting function is designated. As an output, file structure information of the external contents is returned. As an example of the file structure information, a list of file number, file name and file size is available. The type and acquisition format of the attribute information is not particularly prescribed in practicing the present invention.
- (3) A data read function is for acquiring data of a DB managed
contents 243. As an input, the access identifier acquired with the aforementioned access starting function, file name, offset of a file read starting point and read length are designated. As an output, the read file data is returned. - (4) An access end function is for ending the access session started by the aforementioned access starting function. As an input, the access identifier acquired with the access starting function is designated. On extension of this process, the
FMS 242 deletes the access information from the access management table 4600 (to be described later). - Finally, there are eight interfaces of the
FMS 242 which are adapted to perform update of the external contents called from the DBMS external file linking library (FLL) 143. These interfaces are for retaining update difference information concerning update within theFMS 242 and are reflected on the external contents under management of the DB at the time that the transaction of the DBMS commits. - (1) An update starting function is for starting an update session between the
user program 142 and theFMS 242. As an input, a path name of a contents subject to update stored in an access handle and a client identifier for definitely identifying the user program 142 (the client identifier being a combination of a network address of theuser client 10 and an identifier of a session established by theuser program 142 in relation to the network interface 13) are designated. As an output, an update identifier for definitely indicating the established session is returned. On extension of this process, theFMS 242 registers the access information in the access management table 4600 (to be described later). - (2) A contents attribute acquiring function is an interface for acquiring file attribute information concerning an external contents. As an input, the update identifier acquired with the aforementioned update starting function is designated. As an output, file structure information of the external contents is returned. As an example of the file structure information, a list of file number, file name and file size is available. The type and acquisition format of the attribute information is not particularly prescribed in practicing the present invention.
- (3) A file creating function is for adding a file or a directory to the external contents placed under management of the DB. As an input, the update identifier acquired with the aforementioned update starting function and a name of the file or directory to be created are designated. On extension of this process, the
FMS 242 registers update information of file preparation (create) in an update management table 4700 (to be described later). - (4) A file delete function is for deleting a file or directory contained in the external contents placed under management of the DB. As an input, the update identifier acquired with the aforementioned update starting function and a name of the file or directory to be deleted are designated. On extension of this process, the
FMS 242 registers the update information of file delete in the update management table 4700 (to be described later). - (5) A data write function is for performing additional write or update of data for the DB managed
contents 243. As an input, the update identifier acquired with the aforementioned update starting function, file name, offset of a file write starting point, write length and an area region storing the written file data are designated. On extension of this process, theFMS 242 registers the update information of file content change in the update management table 4700 (to be described later). - (6) A file moving function is to perform movement of a file in respect of the DB managed
contents 243, that is, change of file name. This function can be applied to the movement of not only the file but also the directory. As an input, the update identifier acquired with the aforementioned update starting function, a file name or directory name from which the movement starts and a file name or directory name in which the movement terminates. On extension of this process, theFMS 242 registers the update information after the file movement in the update management table 4700 (to be described later). - (7) An update handle acquiring function is for acquiring an update handle related to the update session started with the aforementioned update starting function. As an input, the update identifier acquired with the edit/update starting function is designated. As an output, the update handle prepared by the
FMS 242 is returned. - (8) An update ending function is for ending the updated session started with the aforementioned update starting function. As an input, the update identifier acquired with the update starting function is designated. On extension of this process, the retained session information is deleted, and log are released.
- Referring now to FIGS.5 to 9, there are shown various data structures related to the present embodiment.
- FIG. 5 shows an example of data structure of the
contents information file 244. One contents information file 244 is prepared in respect of one DB managedcontents 243. A location where the file is prepared is not particularly prescribed so long as the location is effective to make the correspondence between the DB managedcontents 243 and thecontents information file 244.Reference number 4121 holds how many ones of the external file fields are from which links are set in the external file management table 4000 (FIG. 2).Directory name entry 4122 retains information of a directory contained in the contents. Stored in theentry 4122 is information such as a name of the directory (directory name) and the number of files contained in the directory (file number).File name entry 4123 retains information of a file contained in the contents. Stored in theentry 4123 is information such as a file name and a file size. Even when the correspondence between one contents information file 244 and a plurality of DB managedcontents 243 is made with the aim of improving storage efficiency, the present invention can of course be practiced. - FIG. 6 shows a data structure of the
registration handle 4300 and data structures ofaccess handle 4400 andupdate handle 4500. - The
registration handle 4300 is created with the contents registration preparation function of the DBMS external file management system (FMS) 242. The registration handle consists of two fields ofFMS identifier 4311 anddirectory path 4312. Set in theFMS identifier 4311 is an identifier of anFMS 242 that has created the registration handle of interest. Set in thedirectory path 4312 is a directory path related to the DB managedcontents 243. When the contents is designated as one file, a full path of the file is set and when the contents is designated as a directory, a full path of the directory is set. - The access handle4400 is created in the external file linking function extension (FLE) 343 and is given, as a return value of the file abstract data type function get_accesshandle( ), to the
user program 142. The access handle consists of two fields ofFMS identifier 4411 anddirectory path 4412. Set in theFMS identifier 4411 is an identifier of anFMS 242 managing a contents to be accessed. Set in the directory path 44112 is a directory path of the contents to be accessed. When the contents is registered for linking as one file, a full path of the file is set and when the contents is registered for linking as a directory, a full path of the directory is set. - The
update handle 4500 is created by the update handle acquiring function of the DBMS external file management system (FMS) 242 and given to theuser program 142. The update handle consists of three fields ofFMS identifier 4511,directory path 4512 andserial number 4513. Set in theFMS identifier 4511 is an identifier of anFMS 242 managing a contents to be updated. Set in thedirectory path 4512 is a directory path of the contents to be updated. When the contents is registered for linking as one file, a full path of the file is set and when the contents is registered for linking as a directory, a full path of the directory is set. Set in theserial number 4513 is an identifier of update used as a key by the update management table 4700 (to be described later). - Referring to FIG. 7, there is illustrated an example of a data structure of management information related to the
user client 10 and being stored in anarea 221 onmemory 22 assured by the DBMS external file management system (FMS) 242. An upper portion is a data structure concerning management of sessions of access to the external contents and a lower portion is a data structure concerning management of update sessions applied to the external contents. Access session management information is managed by means of the access management table 4600. Update session management information is managed with the update management table 4700. - The access management table4600 consists of four fields of serial number 4611,
directory path 4612,client identifier 4613 and updateflag 4614. When the access starting function or update starting function of the DBMS external file management system (FMS) 242 is called to start an access session or update session applied to the external contents, a new record is registered in the access management table 4600. The serial number 4611 is for identifying a session and is set with a definite value when the session starts. Set in thedirectory path 4612 is a path name designated during input of the function. Set in theclient identifier 4613 is a client identifier designated during input of the function. Theupdate flag 4614 is set with N in the case of access starting function and is set with Y in the case of update starting function to decide whether the session is for reference only or is concomitant with update. - The update management table4700 consists of three fields of serial number 4711, update type 4712 and update content 4713. The value of serial number 4711 corresponds to the serial number 4611 in the access management table 4600, so that by combining the access management table 4600 with the update management table 4700 through the serial number, it can be identified which user program makes a request for update. A combination of the update type 4712 and update content 4713 indicates the concrete content of update. A record designated at 4721 indicates that a file is newly created with data stored subsequently to a file name ‘Tama. jpeg’ in update content 4713, under a directory path ‘/db/pictures/river/’ designated at 4622. In the case of update of the content of existing files, this format also stands. When data in file is updated midway, a format may be employed in which an offset of update position is added to the update content 4713. A record designated at 4722 indicates that a directory ‘Edo’ is created under the directory path ‘/db/pictures/river/’ designated at 4622. A record designated at 4723 indicates that a file ‘Naka. jpg’ is deleted under the directory path ‘/db/pictures/river/’ designated at 4622 is deleted. A record designated at 4724 indicates that a file ‘Edo. Jpg’ is renamed (movement) to ‘/db/pictures/river/Edo/0001. jpg’ under the directory path ‘/db/pictures/river/’ designated at 4622.
- In the present embodiment, the update management table4700 is totally retained on the memory but even when this table is so implemented as to be partly stored on the secondary storage, the present invention can of course be practiced.
- Referring to FIG. 8, there is illustrated an example of a data structure of management information related to the transaction of
DBMS 342 and being stored in thearea 221 onmemory 22 assured by the DBMS external file management system (FMS) 242. - A transaction management table4800 consists of four fields of
transaction identifier 4811,process type 4812,directory path 4813 andserial number 4814. Thetransaction identifier 4811 is an identifier for definitely indicating a transaction of theDBMS 342. Theprocess type 4812 is sorted into three kinds of insert (link registration), delete (link delete) and update (link destination update). Thedirectory path 4813 is a full path of a link destination contents related to update. Theserial number 4814 is meaningful only when theprocess type 4812 is update and is set with the same value as that in the serial number 4611 of access management table 4600 and in the serial number 4711 of update management table 4700. In FIG. 8, indicated at 4821 is an example where a directory ‘/db/pictures/sea/’ is registered as a link destination contents under a transaction tx003 and indicated at 4822 is an example where a link to a file ‘db/pictures/mountain. bmp’ is deleted under a transaction tx004. Indicated at 4823 and 4824 is an example where a link to a file ‘/db/pictures/sun. bmp’ is deleted with an UPDATE statement and instead a file ‘db/pictures/moon. jpg’ is registered as a link destination contents. Indicated at 4825 is an example where contents following the directory ‘/db/pictures/river’ are updated on the basis of the update information indicated by accessserial number 5 in the update management table 4700. - Of log records of
DBMS 342 stored in thelog 345, anexternal file log 4900 acquired by the external file linking function extension (FLE) 343 has a data structure as exemplified in FIG. 9. In theFLE 343, when theexternal file 4013 is updated during registration, delete and update of the record in the transaction, the identifier of the DBMS external file management system (FMS) 242 is recorded in theexternal file log 4900 by using a log acquiring function of theDBMS 342. This permits theFLE 343 to communicate with theFMS 242 during commit or rollback so as to inform the settled results of the DBMS transaction, thereby ensuring that referential matching between the external file table 4000 and the external contents can be guaranteed. - The
external file log 4900 consists of two fields oftransaction identifier 4911 andFMS identifier 4912. Set to thetransaction identifier 4911 is an identifier of a transaction belonging to an update process giving a chance of acquiring a log to theexternal file log 4900. Set to theFMS identifier 4912 is an identifier of an FMS related to the DBMS transaction. When a record having the same pair oftransaction identifier 4911 andFMS identifier 4912 has already been registered, the log is not delivered to theexternal file log 4900 in order to exclude overlapping. - Flow charts of FIGS.10 to 19 show the flow of processes related to the present embodiment. A process for registering a link to a contents is depicted in FIGS. 10 and 11. A process for deleting a link to a contents is depicted in FIGS. 12 and 13. A process for referencing a contents is depicted in FIGS. 14 and 15. A process for updating a link destination contents is depicted in FIGS. 16 and 17. A transaction commit process is depicted in FIG. 18. A transaction rollback process is depicted in FIG. 19. A ROLLBACK statement process shown in FIG. 19 is the same as a process during a transaction rollback caused when the
DBMS 342 becomes faulty or the user program ends without authorization. - The procedure for the
user program 142 to register for linking aregistration target contents 144 to theDBMS 342 will be described on the basis of flow charts of FIGS. 10 and 11. - The procedure starts from FIG. 10. In
step 5001, theuser program 142 calls the contents registration preparation function of theFMS 242 via theFLL 143 to make a request for registration preparation of aregistration target contents 144 on theuser client 10. In theFMS 242, file data is extracted from an input parameter and a DB managedcontents 243 is created by using an OS file accessing control information setting function offered by theOS 241 after setting to the OS file access controlling information 245 a signification to the effect that the contents is possessed by the FMS. When a plurality of files are handed over, a plurality of files are prepared as DB managedcontents 243. Aregistration handle 4300 is created and is returned to theuser program 142 as an output parameter. - Subsequently, in
step 5002, theuser program 142 registers a new record in the external file management table 4000 by using an INSERT statement of the format shown at (1) in FIG. 4 (as the variable: entryhandle, theregister handle 4300 acquired in thestep 5001 is designated). - Turning to FIG. 11, the
DBMS 342 receiving the request from theuser program 142 executes an INSERT statement process. Firstly, instep 5101, thenew record 4023 is created. Through this,record identifier 4001 of thenew record 4023 is settled. Thereafter, instep 5102, definition information of therecord 4023 is referenced to decide whether the file abstract data type function new( ) is contained. If not contained, the program proceeds to step 5107. If contained, a process concerning the file abstract data type is subsequently carried out in theFLE 343. - In step5103, new( ) in the INSERT statement is first processed. In the new( ), a file abstract data type value is prepared on the basis of the registration handle. In this example, the registration target contents is a file, file is set in the
contents format 4016. - Thereafter, in
step 5104, a contents link registering process in theFLE 343 is called. At that time, the transaction identifier and the file abstract data type value are handed over as a parameter. In the contents link registering process, the FMS identifier, directory path and contents format are extracted from the file abstract data type value. In case the contents format is directory, a directory delimiter ‘/’ is added to the end of the directory path. Then, in order to confirm the contents and place the link in temporary registration condition, the link registration function of theFMS 242 is called. TheFMS 242 called in this phase is one indicated by the FMS identifier of file abstract data type value. As an input parameter at that time, an identifier of the current transaction of theDBMS 342 and a directory path are designated. In theFMS 242, it is confirmed that a file exist under the directory path designated by the input parameter and at the same time, a contents information file 244 is also created. In the transaction management table 4800, insert is set atupdate type 4812 to add an entry together with the transaction identifier and directory path. - In
step 5105, a new log record is prepared in theexternal file log 4900 by utilizing the log recording function of theDBMS 342 and the transaction identifier and FMS identifier are recorded. - In case the contents registering process of the
FLE 343 does not end insubsequent step 5106, the program proceeds to step 5109 where theDBMS 342 also ends the process of INSERT statement abnormally. In the case of normal end, the prepared file abstract data type value is written toexternal file 4013 of therecord 4023 and the INSERT statement process ends normally instep 5108. - Reverting to FIG. 10, a commit process or rollback process is carried out in
step 5003 by theDBMS 342 in response to a commit process request or rollback process request from theuser program 142 and a transaction ends. This process will be described later. - Finally, in order to release the registration handle after completion of the DBMS process, the
user program 142 calls theFMS 242 for the contents registration stopping function via theFLL 143 instep 5004. At that time the registration handle is handed over as an input parameter. In theFMS 242, it is confirmed whether the external contents related to the registration handle is unregistered. If the link has been set or a transaction of link setting is on the way, nothing is done. Otherwise, the file and directory created with the contents registration preparation function are deleted. - In the manner described so far, the process for link registration to the external contents ends.
- In connection with the contents link registration process, the
registration target contents 144 has been described as being on theuser client 10 but in some applications, contents placed on thefile server 20 is desired to be placed under management of the DB in advance. In this case, transfer of file data is not carried out at the time that the contents registration preparation function of theFMS 242 is called but only OS file accessingcontrol information 245 of the designated contents may be updated to determine theFMS 242 as a possessor and the contents as it is may be treated as a DB managedcontents 243. - The procedure for the
user program 142 to delete a link of acontents 244 under management of theDBMS 342 will be described on the basis of flow charts of FIGS. 12 and 13. - Starting with FIG. 12, in
step 5201, theuser program 142 makes a request for deleting arecord 4023 registered in theDBMS 342 and a DB managedcontents 243 managed by the record by using a DELETE statement of the format at (2) in FIG. 4. - Turning to FIG. 13, processing of the DELETE statement is executed in the
DBMS 342 called from theuser program 142. Firstly, instep 5301, a record satisfying conditions in a WHERE phrase of the designated DELETE statement is confirmed and in the absence of the record, the program proceeds to step 5308 where the DELETE statement process ends normally. In the presence of the record, the record to be processed is determined instep 5302. - In
subsequent step 5303, it is decided on the basis of definition information of the record whether this record contains a field of file abstract data type and if the file is not contained, the program proceeds to step 5307. If the file is contained, a process concerning the file abstract data type is carried out in theFLE 343. - In
step 5304, a contents link delete process in theFLE 343 is called. At that time, as an input parameter, an identifier of the current transaction ofDBMS 342 and a file abstract data type value are handed over. In theFLE 343, the link delete function of theFMS 242 is called on the basis of a FMS identifier and a directory path acquired from the file abstract data type value. In theFMS 242, delete is set atupdate type 4812 in the transaction management table 4800 and an entry is added together with the transaction identifier and directory path handed over as the input parameter. - Subsequently, in
step 5305, a new log record is created in theexternal file log 4900 by utilizing a log recording function of theDBMS 342 and the transaction identifier and FMS identifier are recorded. Instep 5306, it is decided whether the internal process of theFLE 343 ends normally and if not normal, the program proceeds to step 5309 so as to end abnormally. If normal, the program proceeds to thestep 5307. - In the
step 5307, the record of the database is deleted and thereafter, the program returns to thestep 5301 to sequentially proceed with another record delete process. If a record to be processed does not remain, the DELETE statement process in the DBMS ends. - Reverting to FIG. 12, the commit process or rollback process is subsequently carried out, in
step 5202, by theDBMS 342 in response to a commit process request or rollback process request from theuser program 142 and a transaction ends. This process will be described later. - In the manner described so far, the link delete process of the external contents ends.
- In the UPDATE statement in SQL, the link information can be replaced with different one by overwriting the value of the former file abstract data type with a value of a different file abstract data type. This can be achieved by carrying out the aforementioned process for DELETE statement and process for INSERT statement simultaneously inside the
FLE 343. In this case, the records designated at 4823 and 4824 in FIG. 8 are prepared in the transaction management table 4800. - The procedure for the
user program 142 to reference acontents 243 under management of theDBMS 342 will be described on the basis of flow charts of FIGS. 14 and 15. - Starting with FIG. 14, in
step 5401, theuser program 142 uses a SELECT statement of the format at (5) in FIG. 4 to request theDBMS 342 to create selection conditions for a record and anaccess handle 4400 and theDBMS 342 receiving this request processes the SELECT statement. - Subsequently, in
step 5402, the user program requests theDBMS 342 to execute a FETCH statement in order to acquire a result of the SELECT statement. Receiving the request from theuser program 142, theDBMS 342 executes a FETCH statement process. Turning to FIG. 15, instep 5501, it is decided whether there is a record, as a result of search, that satisfies conditions and in the absence of the record, the FETCH statement process ends and the program returns. In the presence of the record, the program proceeds to step 5502 where the record to be processed is determined. Instep 5503, it is decided on the basis of definition information of this record whether the record contains a field of file abstract data type and if the file is not contained, the program proceeds to step 5505. If the file is contained, the program proceeds to step 5504 where a process concerning the file abstract data type is carried out in theFLE 343. - In the internal processing of the
FLE 343, an access handle creating process get_accesshandle( ) is called. At that time, as an input parameter, a file abstract data type value is handed over. In theFLE 343, an FMS identifier and a directory path are derived from the file abstract data type value to create anaccess handle 4400. - In
step 5505, the thus prepared access handle 4400 is set to an output result together with other search result data. Next, the program returns to thestep 5501 where the above process is repeated until the record satisfying the conditions in the SELECT statement runs out. When the record disappears, the FETCH statement process ends. - Reverting to FIG. 14, in
step 5403, the access starting function of theFMS 242 is called via theFLL 143 in order to start an access to an external contents after the access handle has been acquired. Thecall destination FMS 242 is determined dynamically with anFMS identifier 4411 of theaccess handle 4400. An input parameter includes adirectory path 4412 in theaccess handle 4400 acquired with the aforementioned SELECT statement and a client identifier of the user program 142 (a combination of the network address of theuser client 10 and an identifier of a session established by theuser program 142 in relation to thenetwork interface 13 or the like). In theFMS 242, an entry, in which N is set at theupdate flag 4614 and the directory path and client identifier of the input parameter are set at thedirectory path 4612 andclient identifier 4613, respectively, in the access management table 4600, is prepared and the access identifier is returned to theuser program 142. - Thereafter, for the sake of acquiring information concerning a contents corresponding to the
access handle 4400, the contents attribute information acquiring function of theFMS 242 is called via theFLL 143 instep 5404 and information concerning the DB managedcontents 243 is acquired. Set to the input parameter is the access identifier acquired with the aforementioned access starting function. In theFMS 242, a directory path is acquired from the access management table 4600 on the basis of the access identifier of the input parameter, a corresponding contents information file 244 is read and the read attribute information is returned to theuser program 142. - Subsequently, on the basis of the attribute information acquired in the
step 5404, a file name is designated to perform reading of file data. Instep 5405, the data reading function of theFMS 242 is called via theFLL 143 to read file data of the DB managedcontents 243. In addition to the access identifier acquired through calling of the access starting function, read name, offset position inside the file and read data size are set in the input parameter. In theFMS 242, a directory path is acquired from the access management table 4600 on the basis of the access identifier of the input parameter. The acquired directory path is added with the file name designated as the input parameter so as to read the file data and the read data is returned to theuser program 142. - At the time that referencing the contents ends, an access end process is carried out. More particularly, in
step 5406, the access end processing function of theFMS 242 is called via theFLL 143 and an access identifier is designated as an input parameter. In theFMS 242, the access management table 4600 is searched and a record consistent with the access identifier is deleted. Through this, locking applied to the external contents by theFMS 242 is released. - In the manner described so far, the contents referencing process in the user program ends.
- It is to be noted that the commit process or rollback process accompanying the SELECT statement can be executed by causing the
user program 142 to issue a request at any time point which succeeds calling of the access starting function of theFMS 242. - In the contents referencing process of the
FLL 143, a method of acquiring data in the file format on thesecondary storage 14 of theuser client 10 may be employed in place of reading data on the memory of theuser program 142. This can be implemented by defining an interface for file acquisition on theFLL 143. The acquisition destination being either on the memory or on the secondary storage does not matter in practicing the present invention. - The procedure for the
user program 142 to update the content of acontents 243 under management of theDBMS 342 will be described on the basis of flow charts of FIGS. 16 and 17. - Starting with FIG. 16, in
step 5601, theuser program 142 uses a SELECT statement of the format at (5) in FIG. 4 to request theDBMS 342 to create selection conditions for a record and anaccess handle 4400 and the DBMS receiving this request processes the SELECT statement. - Subsequently, in
step 5602, the user program requests theDBMS 342 to execute a FETCH statement for the sake of acquiring a result of the SELECT statement. Receiving the request from theuser program 142, theDBMS 342 executes the FETCH statement process. (The content of the FETCH statement process is shown in FIG. 15). - After an access handle has been acquired, the user program calls the update starting function of the
FMS 242 via theFLL 143 in order to start update for an external contents instep 5603. The callingdestination FMS 242 is dynamically determined by means of anFMS identifier 4411 of theaccess handle 4400. An input parameter includes adirectory path 4412 in theaccess handle 4400 acquired with the aforementioned SELECT statement and a client identifier (a combination of a network address of theuser client 10 and an identifier of a session established by theuser program 142 in relation to the network interface 13) of theuser program 142. In theFMS 242, an entry, in which Y is set atupdate flag 4614 and the directory path and client identifier of the input parameter are set atdirectory path 4612 andclient identifier 4613, respectively, in the access management table 4600, is created and the update identifier is returned to theuser program 142. - Thereafter, in order to acquire information concerning a contents corresponding to the
access handle 4400, the contents attribute information acquiring function of theFMS 242 is called via theFLL 143 instep 5604 and information concerning the DB managedcontents 243 is acquired. Set to the input parameter is an update identifier acquired with the update starting function. In theFMS 242, a directory path is acquired from the access management table 4600 on the basis of the update identifier of the input parameter, a corresponding contents information file 244 is read and the read attribute information is returned to theuser program 142. - Subsequently, various update processes are applied to the external contents on the basis of the attribute information acquired in the
step 5604. Instep 5605, processes such as file (or directory) preparation, file (or directory) delete, write to file and file (or directory) rename are carried out. - In file (or directory) creation, the file creating function of the
FMS 242 is called via theFLL 143 and a DB managedcontents 243 is newly created. As an input parameter, the update identifier acquired with the update starting function and name of a file (or directory) to be prepared newly are designated. In theFMS 242, an entry having new at update type is added to the update management table 4700. - In file (or directory) delete, the file delete function of the
FMS 242 is called via theFLL 143 and a DB managedcontents 243 is deleted. As an input parameter, the update identifier acquired with the update function and name of a file (or directory) to be deleted are designated. In theFMS 242, an entry having delete at update type is added to the update management table 4700. - In write to file, the file write function of the
FMS 242 is called via theFLL 143 and the content of a DB managedcontents 243 is updated. As an input parameter, the update identifier acquired with the update starting function, name of a file to be written, offset position inside the file, written data size and written data storing area are designated. In theFMS 242, an entry having new at update type is added to the update management table 4700 and a file image as a result of update is registered in the table 4700. - In file (or directory) name change, the file moving function of the
FMS 242 is called via theFLL 143 and the name of a DB managedcontents 243 is changed. As an input parameter, the update identifier acquired with the update starting function, name of a file (or directory) to be renamed and name after rename are designated. In theFMS 242, an entry having rename at update type is added to the update management table 4700. - After various update processes described as above have been completed, an update handle is acquired in
step 5606. The update handle acquiring function is called via theFLL 143 and an update handle related to the external contents is acquired. Set to an input parameter is the update identifier acquired with the update starting function. In theFMS 242, anupdate handle 4500 is created from the access management table 4600 and is returned to theuser program 142. - Returning to step5607, the
user program 142 subsequently uses an UPDATE statement of the format at (4) in FIG. 4 (as variable: updatehandle, theupdate handle 4500 acquired in thestep 5306 is designated) to update the value ofexternal file 4013 in the record in external file management table 400 of theDBMS 342 and place the DB managedcontents 243 in temporary update condition on extension of the DBMS transaction. - Turning to FIG. 17, the
DBMS 342 receiving a request from theuser program 142 executes an UPDATE statement process. Firstly, instep 5701, it is decided whether the file abstract data type is contained in an object to be updated. If the file abstract data type is not contained, the process is deemed as usual record update and the program proceeds to step 5708. In case the file abstract data type is contained, it is decided insubsequent step 5702 whether the process is for update of the content of the link destination. If an update parameter setting function update( ) is not designated, the process is not for update of the content of the link destination and the program proceeds to step 5703 where an update process is executed for only usual link information. - In the case of link destination content update, a process concerning the file abstract data type is carried out in the
FLE 343 instep 5704 and the ensuing steps. Firstly, an update parameter setting function update( ) of theFLE 343 is called. At that time, as a parameter, an update handle is handed over. In update( ), a file abstract data type value is created on the basis of the update handle. - Thereafter, in
step 5705, a contents update process ofFLE 343 so related as to be called during UPDATE statement process is called. At that time, as a parameter, a transaction identifier and the update handle are handed over. In theFLE 343, an FMS identifier, a directory path and the contents format are extracted from the update handle. In case the contents format is directory, a directory delimiter ‘/’ is added to the end of the directory path. Then, in order to confirm the contents and place the content update in temporary registration condition, the link destination update function of theFMS 242 is called. In this phase, the calledFMS 242 is one indicated by the FMS identifier of the file abstract data type value. As an input parameter at that time, an identifier of the current transaction of theDBMS 342 and the update handle are designated. In theFMS 242, by referencing the update management table 4700, it is confirmed fromserial number 4513 in theupdate handle 4500 designated by the input parameter that the update information is registered and update is set atprocess type 4812 to add an entry, together with the transaction identifier, directory path and serial number, to the transaction management table 4800. The directory path and serial number are those acquired from the update handle. - In
step 5706, the log recording function of theDBMS 342 is utilized to prepare a new log record in theexternal file log 4900 and the transaction identifier and FMS identifier are recorded. - If the contents update process of the
FLE 343 has not ended normally insubsequent step 5707, the program proceeds to step 5710 where theDBMS 342 also ends the UPDATE statement process abnormally. In the case of normal end, the file abstract data type value prepared in thestep 5704 is written to the record to be updated in thestep 5708 and the UPDATE statement process is caused to end normally instep 5709. - Reverting to FIG. 16, a commit or rollback process is carried out in
step 5608 by theDBMS 342 in response to a commit process request or rollback process request from theuser program 142 and a transaction ends. This process will be describe later. - Finally, in
step 5609, the update ending function of theFMS 242 is called via theFLL 143 in order to end the update process after the DBMS process has ended. As an input parameter, the updated identifier acquired through the calling of the update starting function is handed over. In theFMS 242, the record concerned is deleted from the access management table 4600 and update management table 4700 on the basis of theserial number 4513 in the update identifier handed over in the form of the input parameter. - In the manner described so far, the update process of the external contents ends.
- A transaction commit process will be described on the basis of a flow chart shown in FIG. 18.
- In a COMMIT statement process of the
DBMS 342, a commit process of theFLE 343 is first called. At that time, as an input parameter, a transaction identifier of a transaction to be committed is handed over. - Firstly, in
step 5801, a record having atransaction identifier 4911 coincident with the transaction identifier handed over in the form of the input parameter is searched. If the coincident identifier is not found instep 5802, the commit process of theFLE 343 ends. - If the coincident identifier is found, a
FMS identifier 4912 is acquired from the record ofexternal file log 4900 and the transaction settling function of theFMS 242 is called instep 5803. At that time, the transaction identifier is designated as an input parameter. In theFMS 242, the transaction management table 4800 is searched and it is examined whether a record having the transaction identifier designated by the input parameter exists. If the consistent record exists, it is sequenced in the order of the kinds atprocess type 4812 so as to be subjected to a settling process. - Firstly, a transaction having insert at the process type is settled. Concomitantly with the settling process, the number of
reference number 4121 in the contents information file 244 is incremented by one. Subsequently, a transaction having update at the process type is settled. When theformer reference number 4121 in the contents information file 244 is one at the time of the settling process, the settling process is carried out by overwriting while keeping the reference number unchanged. More specifically, theserial number 4814 in the transaction management table 4800 is used as a key to search the update management table 4700 and results of update associated with the same serial number are reflected. When theformer reference number 4121 in the contents information file 244 is two or more, the reference number in the information file 244 of that contents is decremented by one while keeping the former contents unchanged in order to assure the contents of link destination for file abstract data type values of other link originators. With the aim of determining the contents on which the results of update are reflected as the link destination for the updated file abstract-data type, the DB managedcontents 243 is copied in a separate way to reflect the results of update. For the contents created by copying, thereference number 4121 in the contents information file 244 is set to one. Finally, a transaction having delete at the process type is settled. Concomitantly with the settling process, thereference number 4121 in the contents information file 244 is decremented by one. When the reference number becomes 0 indicating that the link originator in the database runs out, a DB managedcontents 243 and a contents information file 244 corresponding to the contents are deleted. But when an entry of the same contents exists in the access management table 4600 at that time and an access from theuser program 142 continues, delete of the contents is delayed until accesses from alluser programs 142 run out. - After the settling process has ended, processed records in the transaction management table4800 and update management table 4700 are deleted.
- Subsequently, in
step 5804, processed records in theexternal file log 4900 are deleted. - In the manner described so far, the commit process in the
FLE 343 ends. - In
step 5805, theDBMS 342 performs a usual commit process concerning records in the database. - The flow of the commit process has been described.
- When links are set to the same contents from a plurality of file abstract data type fields in the course of processing of the transaction settling function of the
FMS 242, referential matching can be assured through such implementation that thereference number 4121 remains unchanged and the link destination contents is directly updated, thus permitting the present invention to be practiced even with this implementation. - A transaction rollback process will be described on the basis of a flow chart shown in FIG. 19.
- In a ROLLBACK statement process of the
DBMS 342, a rollback process of theFLE 343 is first called. At that time, as an input parameter, a transaction identifier of a transaction subjected to rollback is handed over. - Firstly, in
step 5901, a record having atransaction identifier 4911 coincident with the transaction identifier handed over in the form of the input parameter is searched from theexternal file log 4900. If the coincident identifier is not found instep 5902, the rollback process of theFLE 343 ends. - If the coincident identifier is found, a
FMS identifier 4912 is acquired from the record in theexternal file log 4900 and the transaction invalidating function of theFMS 242 is called instep 5903. At that time, as an input parameter, the aforementioned transaction identifier is designated. In theFMS 242, the transaction management table 4800 is searched and it is examined whether a record having the transaction identifier designated in the input parameter exists. In the presence of the record having the coincident identifier, the invalidation process is carried out. The record having thetransaction identifier 4811 coincident with that in the input parameter in the transaction management table 4800 is deleted. - Subsequently, in
step 5904, the processed record in theexternal file log 4900 is deleted. - In the manner described so far, the rollback process in the
FLE 343 ends. - In
step 5905, theDBMS 342 carries out a usual rollback process concerning records of the database. - The above is the flow of rollback process.
- As described above, by introducing the file abstract data type and the external file linking function to the DBMS, introducing the DBMS external file management system for the purpose of managing files under management of the DBMS and setting the external file linking function and DBMS external file management system such that they can properly link with each other, it can be guaranteed that responsive to an operation applied a database record by the DBMS user, a proper operation can be applied to an external file related to the record, thereby ensuring that matching between the database record and the external file can be guaranteed and an unauthorized access to a file under management of the DBMS can be excluded.
- After searching the database, the user registers update difference information concerning a registered file in the DBMS external management system and then reflects the content of update on a link destination file by means of a database transaction, with the result that even consistency of the content of the file can be managed by using the database. Through the link management combined with the reference number, the edition management of external file based on the database can also be realized.
Claims (17)
1. A database managing method for managing table information containing a record and data not stored in the table information,
wherein when a request for process of said data is inputted, a data structure indicating the processing procedure for the management is created on the basis of position management information storing position information of said data contained in said record and said inputted process request, and when a commit process is carried out in a transaction for processing said process request, a process of maintaining consistency concerning said data is executed on the basis of said data structure.
2. A database managing system for managing table information containing a record and data not stored in the table information, comprising:
create means for creating, when a request for process of said data is inputted, a data structure indicating the processing procedure for the management on the basis of position management information storing position information of said data contained in said record and said inputted process request; and
execution means for executing a process of maintaining consistency concerning said data on the basis of said data structure when a commit process is carried out in a transaction for processing said process request.
3. A database-file link method for linking table information managed by a database management system to external files, comprising the steps of:
defining, in said table information, a field of a data structure for storing location information concerning contents of external files to be managed and a field of file abstract data type for providing an extension process function that is an extended function for processing said information; and
controlling an external file management system adapted to execute a process step of managing said external files by using an access right that cannot be referenced/updated by general users, on the basis of said extension process function called during an update process of said fields of the file abstract data type in said table information.
4. A database-file link method according to , wherein during a search process of a record in said table information, an access handle creating process, which is one of extension functions concerning external files managed by the fields of the file abstract data type in said record, is called and an external file managed by a field in said record is referenced using the created access handle and said external file management system.
claim 3
5. A database-file link method according to , wherein a plurality of files or a plurality of files having a directory structure are managed as a link destination in the field of a record, and the file structure and the content of the files of said link destination are updated in accordance with update of the field value in said database.
claim 4
6. A database managing method according to , wherein a plurality of files or a plurality of files having a directory structure are managed as a link destination in the field of a record, and the file structure and the content of the files of said link destination are updated in accordance with update of the field value in said database.
claim 1
7. A database-file link method according to , wherein the number of links to the same external file is managed;
claim 3
a copy of the file is prepared and the copy is updated during update of the content of the file in a link destination file update process; and
for only a field in a record subjected to the update process, a file after copying is set as the link destination.
8. A database managing method according to , wherein the number of links to the same external file is managed;
claim 2
a copy of the file is prepared and the copy is updated during update of the content of the file in a link destination file update process; and
for only a field in a record subjected to the update process, a file after copying is set as the link destination.
9. A database-file link apparatus for linking table information managed by a database management system to external files, comprising:
means for defining, in said table information, a field of a data structure for storing location information concerning contents of external files to be managed and a field of file abstract data type for providing an extension process function that is an extended function for processing said information; and means for controlling an external file management system adapted to execute a process step of managing said external files by using an access right that cannot be referenced/updated by general users, on the basis of said extension process function called during an update process of said fields of the file abstract data type in said table information.
10. A database-file link apparatus according to , further comprising means for calling, during a search process of a record in said table information, an access handle creating process that is one of extension functions concerning external files managed by the fields of the file abstract data type in said record and referencing an external file managed by a field in said record by using the created access handle and said external file management system.
claim 9
11. A storage medium for storing a program related to a database-file link method for linking table information managed by a database management system to external files,
wherein said table information is defined in advance with a field of a data structure for storing location information concerning contents of external files to be managed and a field of file abstract data type for providing an extension process function that is an extended function for processing said information; and
said program is one that is called from said extension process function called during an update process of a field of the file abstract data type in said table information to execute a process step of managing said external files by using an access right that cannot be referenced/updated by general users.
12. A database managing method according to , wherein the process for maintaining consistency is implemented such that, in respect of data not stored in the table information, position management information of said data is newly registered in the record.
claim 1
13. A database managing method according to , wherein the process for maintaining consistency is implemented such that, in respect of data not stored in the table information, the position management information of said data is deleted from the record.
claim 1
14. A database managing method according to , wherein the process for maintaining consistency is implemented such that, in respect of data not stored in the table information, the content of data indicative of position information stored in the position management information of said data within the record is updated.
claim 1
15. A database managing system according to , wherein the process for maintaining consistency is implemented such that, in respect of data not stored in the table information, position management information of said data is newly registered in the record.
claim 2
16. A database managing system according to , wherein the process for maintaining consistency is implemented such that, in respect of data not stored in the table information, the position management information of said data is deleted from the record.
claim 2
17. A database managing system according to , wherein the process for maintaining consistency is implemented such that, in respect of data not stored in the table information, the content of data indicative of position information stored in the position management information of said data within the record is updated.
claim 2
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/847,333 US7260578B2 (en) | 2000-03-30 | 2004-05-18 | Database-file link system and method therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000095934A JP3992263B2 (en) | 2000-03-30 | 2000-03-30 | Database-file linkage method |
JP2000-095934 | 2000-03-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/847,333 Continuation US7260578B2 (en) | 2000-03-30 | 2004-05-18 | Database-file link system and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
US20010029507A1 true US20010029507A1 (en) | 2001-10-11 |
Family
ID=18610764
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/819,708 Abandoned US20010029507A1 (en) | 2000-03-30 | 2001-03-29 | Database-file link system and method therefor |
US10/847,333 Expired - Fee Related US7260578B2 (en) | 2000-03-30 | 2004-05-18 | Database-file link system and method therefor |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/847,333 Expired - Fee Related US7260578B2 (en) | 2000-03-30 | 2004-05-18 | Database-file link system and method therefor |
Country Status (2)
Country | Link |
---|---|
US (2) | US20010029507A1 (en) |
JP (1) | JP3992263B2 (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564209B1 (en) * | 2000-03-08 | 2003-05-13 | Accenture Llp | Knowledge management tool for providing abstracts of information |
US20030220904A1 (en) * | 2002-05-23 | 2003-11-27 | Yoshinori Nagata | Information processing method, information processing system, information registration apparatus, information acquisition apparatus, and computer memory product |
US20040002990A1 (en) * | 2002-06-28 | 2004-01-01 | Sander Michael R. | Shared drive that provides shared access to editable files in a database |
US20040193879A1 (en) * | 2003-03-27 | 2004-09-30 | Hitachi, Ltd. | Computer system |
US20050273399A1 (en) * | 2004-06-08 | 2005-12-08 | Sony Corporation | Content distribution server, content distribution method, and program |
US20060080347A1 (en) * | 2002-12-27 | 2006-04-13 | Honda Motor Co., Ltd. | Enhanced trade compliance system: mass amendment |
US20070185919A1 (en) * | 2006-01-20 | 2007-08-09 | Microsoft Corporation | Using directory historical data to facilitate automated file updates |
US20130159360A1 (en) * | 2011-12-19 | 2013-06-20 | Fujitsu Limited | Information processing apparatus, data storage method and computer-readable recording medium |
US20140082032A1 (en) * | 2012-09-14 | 2014-03-20 | Dominique Leblond | External Content Libraries |
US20140223015A1 (en) * | 2012-12-13 | 2014-08-07 | Level 3 Communications, Llc | Invalidation in a content delivery framework |
US9430449B2 (en) | 2012-03-30 | 2016-08-30 | Sdl Plc | Systems, methods, and media for managing editable previews of webpages |
US9547626B2 (en) | 2011-01-29 | 2017-01-17 | Sdl Plc | Systems, methods, and media for managing ambient adaptability of web applications and web services |
US9596188B2 (en) | 2001-01-18 | 2017-03-14 | Sdl Inc. | Globalization management system and method therefor |
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US9773270B2 (en) | 2012-05-11 | 2017-09-26 | Fredhopper B.V. | Method and system for recommending products based on a ranking cocktail |
US10339102B2 (en) * | 2016-09-30 | 2019-07-02 | Vmware, Inc. | Automating script creation for a log file |
US10580015B2 (en) | 2011-02-25 | 2020-03-03 | Sdl Netherlands B.V. | Systems, methods, and media for executing and optimizing online marketing initiatives |
US10614167B2 (en) | 2015-10-30 | 2020-04-07 | Sdl Plc | Translation review workflow systems and methods |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US10657540B2 (en) | 2011-01-29 | 2020-05-19 | Sdl Netherlands B.V. | Systems, methods, and media for web content management |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
CN113204598A (en) * | 2021-05-28 | 2021-08-03 | 平安科技(深圳)有限公司 | Data synchronization method, system and storage medium |
US11144568B2 (en) * | 2019-04-24 | 2021-10-12 | EMC IP Holding Company LLC | System and method for management of data in distributed systems |
US11308528B2 (en) | 2012-09-14 | 2022-04-19 | Sdl Netherlands B.V. | Blueprinting of multimedia assets |
US11368548B2 (en) | 2012-12-13 | 2022-06-21 | Level 3 Communications, Llc | Beacon services in a content delivery framework |
US11386186B2 (en) | 2012-09-14 | 2022-07-12 | Sdl Netherlands B.V. | External content library connector systems and methods |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7536376B2 (en) * | 2003-10-03 | 2009-05-19 | International Business Machines Corporation | Task oriented log retrieval utilizing a self-learning search tool |
US7284010B2 (en) * | 2003-10-23 | 2007-10-16 | Microsoft Corporation | System and method for storing and retrieving a field of a user defined type outside of a database store in which the type is defined |
US20060184585A1 (en) * | 2004-02-24 | 2006-08-17 | First Data Corporation | Communication point delivery instructions |
US20050203903A1 (en) * | 2004-03-10 | 2005-09-15 | Rajan Rajeev B. | System and method for locking and isolation in a storage platform |
US7599924B2 (en) * | 2004-06-25 | 2009-10-06 | International Business Machines Corporation | Relationship management in a data abstraction model |
US7627574B2 (en) * | 2004-12-16 | 2009-12-01 | Oracle International Corporation | Infrastructure for performing file operations by a database server |
US7548918B2 (en) * | 2004-12-16 | 2009-06-16 | Oracle International Corporation | Techniques for maintaining consistency for different requestors of files in a database management system |
US7716260B2 (en) * | 2004-12-16 | 2010-05-11 | Oracle International Corporation | Techniques for transaction semantics for a database server performing file operations |
US20060136508A1 (en) * | 2004-12-16 | 2006-06-22 | Sam Idicula | Techniques for providing locks for file operations in a database management system |
US7493347B2 (en) * | 2005-06-02 | 2009-02-17 | International Business Machines Corporation | Method for condensing reported checkpoint log data |
US8224837B2 (en) * | 2005-06-29 | 2012-07-17 | Oracle International Corporation | Method and mechanism for supporting virtual content in performing file operations at a RDBMS |
US7809675B2 (en) * | 2005-06-29 | 2010-10-05 | Oracle International Corporation | Sharing state information among a plurality of file operation servers |
CA2512385C (en) * | 2005-07-08 | 2008-11-04 | Marathon Marine Manufacturing (1996) Ltd. | Cargo deck for a truck box |
US8224853B2 (en) * | 2005-11-02 | 2012-07-17 | Sourcecode Technologies Holdings, Inc. | Methods and apparatus for updating a plurality of data fields in an electronic form |
US8010940B2 (en) | 2005-11-02 | 2011-08-30 | Sourcecode Technologies Holdings, Inc. | Methods and apparatus for designing a workflow process using inheritance |
EP1955201A4 (en) * | 2005-11-02 | 2011-04-20 | Sourcecode Technology Holding Inc | Methods and apparatus for processing business objects, electronic forms, and workflows |
US7996758B2 (en) | 2005-11-02 | 2011-08-09 | Sourcecode Technologies Holding, Inc. | Methods and apparatus for storing data associated with an electronic form |
KR100667827B1 (en) * | 2005-11-02 | 2007-01-11 | 삼성전자주식회사 | Method and apparatus for managing information of content file, and recording medium storing program for performing the method |
US8239226B2 (en) | 2005-11-02 | 2012-08-07 | Sourcecode Technologies Holdings, Inc. | Methods and apparatus for combining properties and methods from a plurality of different data sources |
US20070130138A1 (en) * | 2005-11-02 | 2007-06-07 | Sourcecode Technology Holding, Inc. | Methods and apparatus for storing a collaboratively designed workflow process |
EP1801710A1 (en) * | 2005-11-17 | 2007-06-27 | Research In Motion Limited | Method and apparatus for synchronizing databases connected by wireless interface |
US7613739B2 (en) * | 2005-11-17 | 2009-11-03 | Research In Motion Limited | Method and apparatus for synchronizing databases connected by wireless interface |
WO2007056842A1 (en) * | 2005-11-17 | 2007-05-24 | Research In Motion Limited | System and method for communication record logging |
US7610304B2 (en) * | 2005-12-05 | 2009-10-27 | Oracle International Corporation | Techniques for performing file operations involving a link at a database management system |
JP4952119B2 (en) * | 2006-08-02 | 2012-06-13 | 日本電気株式会社 | Content management system, method and program using file server |
US8238882B2 (en) | 2006-10-19 | 2012-08-07 | Research In Motion Limited | System and method for storage of electronic mail |
US20080155518A1 (en) * | 2006-11-27 | 2008-06-26 | Sourcecode Technology Holding, Inc. | Methods and apparatus for tokenizing workflow process objects |
WO2008067312A2 (en) * | 2006-11-27 | 2008-06-05 | Sourcecode Technology Holding, Inc. | Methods and apparatus for modeling a workflow process in an offline environment |
WO2008067310A2 (en) * | 2006-11-27 | 2008-06-05 | Sourcecode Technology Holding, Inc. | Method and apparatus for displaying interprocess communication thumbnails |
US20080155330A1 (en) * | 2006-11-27 | 2008-06-26 | Sourcecode Technology Holding, Inc. | Methods and apparatus for debugging a workflow process |
US8141128B2 (en) * | 2007-02-20 | 2012-03-20 | Source Code Technologies Holdings, Inc. | Methods and apparatus for building and executing natural language workflow functions |
US20080320405A1 (en) * | 2007-03-22 | 2008-12-25 | Sourcecode Technology Holding, Inc. | Methods and apparatus for providing context sensitive templates for a web based workflow design |
US20080306806A1 (en) * | 2007-03-23 | 2008-12-11 | Sourcecode Technology Holding, Inc. | Methods and apparatus for dynamically allocating tasks |
US20090037397A1 (en) * | 2007-05-03 | 2009-02-05 | Sourcecode Technology Holding, Inc. | Methods and apparatus for providing context search results in process design |
WO2008137998A1 (en) | 2007-05-08 | 2008-11-13 | Sourcecode Technology Holding, Inc. | Methods and apparatus for exposing workflow process definitions as business objects |
EP2171581A4 (en) * | 2007-05-24 | 2012-05-02 | Sourcecode Technology Holding Inc | Methods and apparatus for collaborative process modeling |
EP2302577A1 (en) * | 2009-09-22 | 2011-03-30 | IPR Taxback Limited | A customer relationship management system |
US11308490B2 (en) * | 2010-07-28 | 2022-04-19 | Cox Communications, Inc. | Security system and method that allows users to securely setup and maintain system security for all business systems |
US8812439B2 (en) * | 2011-03-22 | 2014-08-19 | Oracle International Corporation | Folder structure and authorization mirroring from enterprise resource planning systems to document management systems |
US10331765B2 (en) | 2013-05-24 | 2019-06-25 | Sourcecode Technology Holdings, Inc. | Methods and apparatus for translating forms to native mobile applications |
CN106326425B (en) * | 2016-08-24 | 2019-11-05 | 明算科技(北京)股份有限公司 | Data classification treating method and apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619690A (en) * | 1993-06-21 | 1997-04-08 | Hitachi, Ltd. | Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4381496B2 (en) | 1998-12-01 | 2009-12-09 | 株式会社日立製作所 | Database processing method, apparatus for implementing the same, and medium on which processing program is recorded |
JP2000148552A (en) | 1998-11-09 | 2000-05-30 | Hitachi Ltd | Method and system for associating data base file and medium where processing program thereof is recorded |
JP2000181777A (en) | 1998-12-16 | 2000-06-30 | Hitachi Ltd | Method and device for linking database file |
US6564215B1 (en) | 1999-12-16 | 2003-05-13 | International Business Machines Corporation | Update support in database content management |
US6850938B1 (en) * | 2001-02-08 | 2005-02-01 | Cisco Technology, Inc. | Method and apparatus providing optimistic locking of shared computer resources |
-
2000
- 2000-03-30 JP JP2000095934A patent/JP3992263B2/en not_active Expired - Fee Related
-
2001
- 2001-03-29 US US09/819,708 patent/US20010029507A1/en not_active Abandoned
-
2004
- 2004-05-18 US US10/847,333 patent/US7260578B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5619690A (en) * | 1993-06-21 | 1997-04-08 | Hitachi, Ltd. | Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system |
Cited By (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564209B1 (en) * | 2000-03-08 | 2003-05-13 | Accenture Llp | Knowledge management tool for providing abstracts of information |
US9954794B2 (en) | 2001-01-18 | 2018-04-24 | Sdl Inc. | Globalization management system and method therefor |
US9781050B2 (en) | 2001-01-18 | 2017-10-03 | Sdl Inc. | Globalization management system and method therefor |
US9596188B2 (en) | 2001-01-18 | 2017-03-14 | Sdl Inc. | Globalization management system and method therefor |
US7370041B2 (en) * | 2002-05-23 | 2008-05-06 | Sharp Kabushiki Kaisha | Information processing method, information processing system, information registration apparatus, information acquisition apparatus, and computer memory product |
US20030220904A1 (en) * | 2002-05-23 | 2003-11-27 | Yoshinori Nagata | Information processing method, information processing system, information registration apparatus, information acquisition apparatus, and computer memory product |
US20040002990A1 (en) * | 2002-06-28 | 2004-01-01 | Sander Michael R. | Shared drive that provides shared access to editable files in a database |
US7505971B2 (en) * | 2002-06-28 | 2009-03-17 | Hewlett-Packard Development Company, L.P. | Shared drive that provides shared access to editable files in a database |
US7987209B2 (en) * | 2002-12-27 | 2011-07-26 | Honda Motor Co., Ltd. | Enhanced trade compliance system: mass amendment |
US20060080347A1 (en) * | 2002-12-27 | 2006-04-13 | Honda Motor Co., Ltd. | Enhanced trade compliance system: mass amendment |
US7036149B2 (en) | 2003-03-27 | 2006-04-25 | Hitachi, Ltd. | Computer system |
US20040193879A1 (en) * | 2003-03-27 | 2004-09-30 | Hitachi, Ltd. | Computer system |
US7788271B2 (en) * | 2004-06-08 | 2010-08-31 | Sony Corporation | Content distribution server, content distribution method, and program |
US20050273399A1 (en) * | 2004-06-08 | 2005-12-08 | Sony Corporation | Content distribution server, content distribution method, and program |
US7464117B2 (en) * | 2006-01-20 | 2008-12-09 | Microsoft Corporation | Using directory historical data to facilitate automated file updates |
US20070185919A1 (en) * | 2006-01-20 | 2007-08-09 | Microsoft Corporation | Using directory historical data to facilitate automated file updates |
US10990644B2 (en) | 2011-01-29 | 2021-04-27 | Sdl Netherlands B.V. | Systems and methods for contextual vocabularies and customer segmentation |
US10061749B2 (en) | 2011-01-29 | 2018-08-28 | Sdl Netherlands B.V. | Systems and methods for contextual vocabularies and customer segmentation |
US11694215B2 (en) | 2011-01-29 | 2023-07-04 | Sdl Netherlands B.V. | Systems and methods for managing web content |
US9547626B2 (en) | 2011-01-29 | 2017-01-17 | Sdl Plc | Systems, methods, and media for managing ambient adaptability of web applications and web services |
US11301874B2 (en) | 2011-01-29 | 2022-04-12 | Sdl Netherlands B.V. | Systems and methods for managing web content and facilitating data exchange |
US11044949B2 (en) | 2011-01-29 | 2021-06-29 | Sdl Netherlands B.V. | Systems and methods for dynamic delivery of web content |
US10657540B2 (en) | 2011-01-29 | 2020-05-19 | Sdl Netherlands B.V. | Systems, methods, and media for web content management |
US10521492B2 (en) | 2011-01-29 | 2019-12-31 | Sdl Netherlands B.V. | Systems and methods that utilize contextual vocabularies and customer segmentation to deliver web content |
US10580015B2 (en) | 2011-02-25 | 2020-03-03 | Sdl Netherlands B.V. | Systems, methods, and media for executing and optimizing online marketing initiatives |
US20130159360A1 (en) * | 2011-12-19 | 2013-06-20 | Fujitsu Limited | Information processing apparatus, data storage method and computer-readable recording medium |
US9430449B2 (en) | 2012-03-30 | 2016-08-30 | Sdl Plc | Systems, methods, and media for managing editable previews of webpages |
US9773270B2 (en) | 2012-05-11 | 2017-09-26 | Fredhopper B.V. | Method and system for recommending products based on a ranking cocktail |
US10572928B2 (en) | 2012-05-11 | 2020-02-25 | Fredhopper B.V. | Method and system for recommending products based on a ranking cocktail |
US11308528B2 (en) | 2012-09-14 | 2022-04-19 | Sdl Netherlands B.V. | Blueprinting of multimedia assets |
US10452740B2 (en) * | 2012-09-14 | 2019-10-22 | Sdl Netherlands B.V. | External content libraries |
US20140082032A1 (en) * | 2012-09-14 | 2014-03-20 | Dominique Leblond | External Content Libraries |
US12032649B2 (en) | 2012-09-14 | 2024-07-09 | Sdl Netherlands B.V. | Systems and methods for utilizing connectors to obtain web content |
US11386186B2 (en) | 2012-09-14 | 2022-07-12 | Sdl Netherlands B.V. | External content library connector systems and methods |
US9722882B2 (en) | 2012-12-13 | 2017-08-01 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with provisioning |
US9634906B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback |
US9654353B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with rendezvous services network |
US9654354B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with delivery services network |
US9654355B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Framework supporting content delivery with adaptation services |
US9660875B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with rendezvous services having dynamically configurable log information |
US9660874B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with delivery services having dynamically configurable log information |
US9661046B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services |
US9660876B2 (en) | 2012-12-13 | 2017-05-23 | Level 3 Communications, Llc | Collector mechanisms in a content delivery network |
US9667506B2 (en) | 2012-12-13 | 2017-05-30 | Level 3 Communications, Llc | Multi-level peering in a content delivery framework |
US9686148B2 (en) | 2012-12-13 | 2017-06-20 | Level 3 Communications, Llc | Responsibility-based cache peering |
US9705754B2 (en) | 2012-12-13 | 2017-07-11 | Level 3 Communications, Llc | Devices and methods supporting content delivery with rendezvous services |
US9647901B2 (en) | 2012-12-13 | 2017-05-09 | Level 3 Communications, Llc | Configuring a content delivery network (CDN) |
US9722883B2 (en) | 2012-12-13 | 2017-08-01 | Level 3 Communications, Llc | Responsibility-based peering |
US9722884B2 (en) | 2012-12-13 | 2017-08-01 | Level 3 Communications, Llc | Event stream collector systems, methods, and devices |
US9749192B2 (en) | 2012-12-13 | 2017-08-29 | Level 3 Communications, Llc | Dynamic topology transitions in a content delivery framework |
US9749190B2 (en) | 2012-12-13 | 2017-08-29 | Level 3 Communications, Llc | Maintaining invalidation information |
US9749191B2 (en) | 2012-12-13 | 2017-08-29 | Level 3 Communications, Llc | Layered request processing with redirection and delegation in a content delivery network (CDN) |
US9755914B2 (en) | 2012-12-13 | 2017-09-05 | Level 3 Communications, Llc | Request processing in a content delivery network |
US9647900B2 (en) | 2012-12-13 | 2017-05-09 | Level 3 Communications, Llc | Devices and methods supporting content delivery with delivery services |
US9647899B2 (en) | 2012-12-13 | 2017-05-09 | Level 3 Communications, Llc | Framework supporting content delivery with content delivery services |
US9787551B2 (en) | 2012-12-13 | 2017-10-10 | Level 3 Communications, Llc | Responsibility-based request processing |
US9819554B2 (en) * | 2012-12-13 | 2017-11-14 | Level 3 Communications, Llc | Invalidation in a content delivery framework |
US9847917B2 (en) | 2012-12-13 | 2017-12-19 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback |
US9887885B2 (en) | 2012-12-13 | 2018-02-06 | Level 3 Communications, Llc | Dynamic fill target selection in a content delivery framework |
US9641401B2 (en) | 2012-12-13 | 2017-05-02 | Level 3 Communications, Llc | Framework supporting content delivery with content delivery services |
US9641402B2 (en) | 2012-12-13 | 2017-05-02 | Level 3 Communications, Llc | Configuring a content delivery network (CDN) |
US10135697B2 (en) | 2012-12-13 | 2018-11-20 | Level 3 Communications, Llc | Multi-level peering in a content delivery framework |
US10142191B2 (en) | 2012-12-13 | 2018-11-27 | Level 3 Communications, Llc | Content delivery framework with autonomous CDN partitioned into multiple virtual CDNs |
US20140223015A1 (en) * | 2012-12-13 | 2014-08-07 | Level 3 Communications, Llc | Invalidation in a content delivery framework |
US9634905B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation systems, methods, and devices |
US9654356B2 (en) | 2012-12-13 | 2017-05-16 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services |
US9634907B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback |
US9634918B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Invalidation sequencing in a content delivery framework |
US10608894B2 (en) | 2012-12-13 | 2020-03-31 | Level 3 Communications, Llc | Systems, methods, and devices for gradual invalidation of resources |
US9628343B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Content delivery framework with dynamic service network topologies |
US10652087B2 (en) | 2012-12-13 | 2020-05-12 | Level 3 Communications, Llc | Content delivery framework having fill services |
US9634904B2 (en) | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Framework supporting content delivery with hybrid content delivery services |
US10701148B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having storage services |
US10701149B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Content delivery framework having origin services |
US10700945B2 (en) | 2012-12-13 | 2020-06-30 | Level 3 Communications, Llc | Role-specific sub-networks in a content delivery framework |
US10708145B2 (en) | 2012-12-13 | 2020-07-07 | Level 3 Communications, Llc | Devices and methods supporting content delivery with adaptation services with feedback from health service |
US10742521B2 (en) | 2012-12-13 | 2020-08-11 | Level 3 Communications, Llc | Configuration and control in content delivery framework |
US10791050B2 (en) | 2012-12-13 | 2020-09-29 | Level 3 Communications, Llc | Geographic location determination in a content delivery framework |
US10826793B2 (en) | 2012-12-13 | 2020-11-03 | Level 3 Communications, Llc | Verification and auditing in a content delivery framework |
US10841177B2 (en) | 2012-12-13 | 2020-11-17 | Level 3 Communications, Llc | Content delivery framework having autonomous CDN partitioned into multiple virtual CDNs to implement CDN interconnection, delegation, and federation |
US10862769B2 (en) | 2012-12-13 | 2020-12-08 | Level 3 Communications, Llc | Collector mechanisms in a content delivery network |
US10931541B2 (en) | 2012-12-13 | 2021-02-23 | Level 3 Communications, Llc | Devices and methods supporting content delivery with dynamically configurable log information |
US9628344B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Framework supporting content delivery with reducer services network |
US10992547B2 (en) | 2012-12-13 | 2021-04-27 | Level 3 Communications, Llc | Rendezvous systems, methods, and devices |
US9628347B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Layered request processing in a content delivery network (CDN) |
US9628345B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Framework supporting content delivery with collector services network |
US11368548B2 (en) | 2012-12-13 | 2022-06-21 | Level 3 Communications, Llc | Beacon services in a content delivery framework |
US11121936B2 (en) | 2012-12-13 | 2021-09-14 | Level 3 Communications, Llc | Rendezvous optimization in a content delivery framework |
US9628346B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Devices and methods supporting content delivery with reducer services |
US9628342B2 (en) | 2012-12-13 | 2017-04-18 | Level 3 Communications, Llc | Content delivery framework |
US11080493B2 (en) | 2015-10-30 | 2021-08-03 | Sdl Limited | Translation review workflow systems and methods |
US10614167B2 (en) | 2015-10-30 | 2020-04-07 | Sdl Plc | Translation review workflow systems and methods |
US10339102B2 (en) * | 2016-09-30 | 2019-07-02 | Vmware, Inc. | Automating script creation for a log file |
US11144568B2 (en) * | 2019-04-24 | 2021-10-12 | EMC IP Holding Company LLC | System and method for management of data in distributed systems |
CN113204598A (en) * | 2021-05-28 | 2021-08-03 | 平安科技(深圳)有限公司 | Data synchronization method, system and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20040199540A1 (en) | 2004-10-07 |
US7260578B2 (en) | 2007-08-21 |
JP3992263B2 (en) | 2007-10-17 |
JP2001282593A (en) | 2001-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7260578B2 (en) | Database-file link system and method therefor | |
US11068447B2 (en) | Directory level atomic commit protocol | |
US6029160A (en) | Method and means for linking a database system with a system for filing data | |
US6393435B1 (en) | Method and means for evaluating the performance of a database system referencing files external to the database system | |
US7831643B1 (en) | System, method and computer program product for multi-level file-sharing by concurrent users | |
JP6062855B2 (en) | MySQL database-heterogeneous log-based replication | |
US6549916B1 (en) | Event notification system tied to a file system | |
JP2708331B2 (en) | File device and data file access method | |
US9256607B2 (en) | Efficient file access in a large repository using a two-level cache | |
US8745017B2 (en) | Transaction-aware caching for access control metadata | |
US7801850B2 (en) | System of and method for transparent management of data objects in containers across distributed heterogenous resources | |
US6449607B1 (en) | Disk storage with modifiable data management function | |
US20130066929A1 (en) | Versioning in internet file system | |
US20070156687A1 (en) | Efficient implementation of multiple work areas in a file system like repository that supports file versioning | |
US20050091287A1 (en) | Database-managed file system | |
US20100146017A1 (en) | Information processing apparatus and information processing method | |
JPH1063561A (en) | System and method for automatically changing database access method to insert database object processing instruction | |
JPH10240589A (en) | Database processing method taking out actual data delay | |
US20060004877A1 (en) | Method and system for data processing with data replication for the same | |
EP0100821B1 (en) | Method and apparatus for managing a database | |
JP2000148552A (en) | Method and system for associating data base file and medium where processing program thereof is recorded | |
JPH09265424A (en) | Synchronization system and method for distributed file | |
JP2000181777A (en) | Method and device for linking database file | |
JPS63159949A (en) | File access method | |
CA2283055C (en) | Method and means for evaluating the performance of a database system referencing file external to the database system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HITACHI, LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOJIMA, HIROSHI;REEL/FRAME:011660/0206 Effective date: 20010312 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |