WO2009147705A1 - データベース接続プログラムおよび装置 - Google Patents

データベース接続プログラムおよび装置 Download PDF

Info

Publication number
WO2009147705A1
WO2009147705A1 PCT/JP2008/001900 JP2008001900W WO2009147705A1 WO 2009147705 A1 WO2009147705 A1 WO 2009147705A1 JP 2008001900 W JP2008001900 W JP 2008001900W WO 2009147705 A1 WO2009147705 A1 WO 2009147705A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
data
change
editing
record
Prior art date
Application number
PCT/JP2008/001900
Other languages
English (en)
French (fr)
Inventor
上村邦夫
Original Assignee
株式会社 アテナテレコムラボ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/JP2008/001424 external-priority patent/WO2008149552A1/ja
Priority claimed from PCT/JP2008/001506 external-priority patent/WO2009147701A1/ja
Application filed by 株式会社 アテナテレコムラボ filed Critical 株式会社 アテナテレコムラボ
Priority to JP2010515675A priority Critical patent/JPWO2009147705A1/ja
Publication of WO2009147705A1 publication Critical patent/WO2009147705A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Definitions

  • the present invention relates to processing for linking contents of a database (hereinafter referred to as DB) with other databases.
  • DB database
  • the confirmed payment information is acquired from the card company and transferred to the individual household account book.
  • the data flow is one-way.
  • the information is linked, that is, the information passes between each other. It is necessary to deal with complicated data linkage, such as when a claim is reviewed, corrected to an appropriate amount, and a payment decision is notified.
  • Patent Document 5 “Distributed Database System” converts character codes and data formats between databases.
  • Patent Document 6 “Multiple Database Matching Update Method and Device” synchronizes the original DB and the duplicate DB in real time.
  • Patent Document 7 “Distributed Database Synchronization Management System and Synchronization Management Method” treats a divided DB as if it were a single DB.
  • Patent Document 8 “Data Linkage Method” secures a new area and records information when information cannot be exchanged between linked DBs due to a failure or the like.
  • Patent Document 9 “Data Linkage System and Data Linkage Device” relates to routing of linked data.
  • Patent Document 10 “Data Management Device, Data Management Method, and Program” sends only the difference of edit data. None of the content is relevant to the present invention.
  • Patent Document 4 “Consistency Method Between Multiple Databases” detects a lack of notification reception by assigning a serial number to each edit for each computer in a system that immediately notifies each other of DB edits. In order to detect missing notifications, it is sufficient to check for missing numbers assigned to each computer. However, even if the notification is made immediately, there is a possibility that the editing may conflict with the time actually required for the notification, but no countermeasure is considered.
  • the “device for numbering each computer” of the present invention cannot prevent or eliminate the occurrence of competition. There is no invention to connect the database.
  • PCT / JP2008 / 001424 PCT / JP2008 / 001506 PCT / JP2008 / 001719 Patent No. 2904100 JP-A-8-179980 JP-A-10-111825 JP-A-11-249943 JP 2003-316617 A JP 2006-185282 A JP2007-249453
  • FIG. 1 shows details of these functions.
  • FIG. 2 shows a configuration in which a plurality of computers, a computer A 0204, a computer B 0209, and a computer C 0213 are connected to a server 0202 through a communication network 0201 such as the Internet.
  • the server relay unit 0203 located in the server 0202 is configured by the processing unit 0104 and the record 0105 or the original DB 0106 for exchanging information, similar to the server relay unit 0103 of FIG. 1, but is omitted in FIG.
  • the inter-computer connection unit 0205 of the computer A 0204, the inter-computer connection unit 0210 of the computer B 0209, and the inter-computer connection unit 0214 of the computer C 0213 are also used for exchanging information with the processing unit 0109 in the same manner as the inter-computer connection unit 0108 of FIG. Although it is composed of a duplicate DB 0110, it is omitted in FIG.
  • Inter-computer connection unit 0108 Operates on the computer 0107 and cooperates with the server relay unit 0103 to link data between related computers (between computer A 0204, computer B 0209, and computer C 0213 in FIG. 2).
  • the inter-computer connection unit 0108 includes a processing unit 0109 and a replication DB 0110 for exchanging information.
  • the server relay unit 0103 in the server 0102 is connected via a communication network 0101 such as the Internet.
  • “Server relay unit” 0103, 0203 Provides a relay function for data exchange between computers (between computer A0204, computer B0209, and computer C0213 in FIG. 2). It comprises a processing unit 0104, an initial DB for information exchange, and a record 0105 such as edit (1) and edit (2).
  • the server relay unit 0103 updates the original DB for information exchange, the original DB 0106 for information exchange is also necessary.
  • “Local Corresponding Unit” 0111 Exchanges data between external software 0112 in the computer (software for operating individual DB, terminal software for online DB system, etc.) and “inter-computer connection unit 0108”.
  • Data linkage is realized by stacking data exchanges among a plurality of related computers with the inter-computer connection unit 0108, the server relay unit 0103, the local correspondence unit 0111, and the external software 0112.
  • FIG. 3 shows a configuration example of an information exchange DB used in data exchange between computers (between computer A 0204, computer B 0209, and computer C 0213 in FIG. 2).
  • an original table 0302 and an item table 0303 defining the items are recorded.
  • the original DB for information exchange is updated by editing uploaded from the computer to the server, the original DB 0106 for information exchange exists, and a copy is created for each computer to become the duplicate DB 0110 for information exchange. .
  • the related computer downloads the edit 0105 uploaded to the server 0102 and the record 0105 of the related update and updates the information exchange copy DB 0110 with a valid edit, the computer that has taken in the same edit will use the information exchange
  • the duplicate DB is the same. That is, the replica DB for information exchange is in a state of being synchronized with the “virtual original DB for information exchange”.
  • the validity of the uploaded editing is judged, and the original DB 0106 for information exchange is updated by the validated editing.
  • the replica DB 0110 for exchanging information of the computer is updated.
  • the server does not update the original DB 0106 for information exchange and the server records the edits and their order uploaded from each computer 0105, these edits and their order are stored in the computer 0107 (in FIG. 2, computer A0204, The data is copied (downloaded) into the computer B0209 and the computer C0213), and the copy DB0110 for information exchange is updated using the editing determined to be valid.
  • a computer communicates with the server 0202 to update the information exchange copy DB 0110 in order to grasp the contents edited by another computer (for example, computer B 0209) and uploaded to the server 0202. If the latest information is always necessary, it may be updated frequently, or it may not be updated until the latest information is needed.
  • Information can be exchanged with three or more computers via the original DB 0106 for information exchange or the virtual original DB.
  • the household account book (B household account book software 0212 and C household account book software 0216) of a plurality of household computers (computer B0209 and computer C0213) and terminal software 0207 of a company accounting system (online DB system 0208 in FIG. 3)
  • the information exchange DB (original DB or duplicate DB) 0301 is shared with the computer A0204 on which the computer operates.
  • the operator of the computer C0213 can see the data exchanged between the computer A0204 and the computer B0209 of the company.
  • the operator of the computer C0213 may add a replacement request by looking at the replacement request issued from the computer B0209. This is useful for checking payments that have been shared and shared by everyone.
  • the DB for data exchange between the computer B0209 and the computer A0204 and the DB for data exchange between the computer C0213 and the computer A0204 are different DBs.
  • Computer A 0204 can access both DBs, but computer B 0209 and computer C 0213 can access only the respective DBs.
  • the item table 0303 for defining items is also (like the original table 0302 defined by that record) ) Record in the information exchange DB (original DB or duplicate DB) 0301.
  • the item table 0303 is edited, and the item structure of the original table 0302 is changed based on this. Along with corrections such as addition or deletion of items, necessary changes are also made to the records in the original table 0302. “If the edit to the item table is not finalized, do not change the configuration of the original table.” “If an error occurs in the configuration change of the original table, revert the configuration change of the original table and disable the editing of the item table. To prevent inconsistencies.
  • the “local correspondence unit” 0111 exchanges data between the “inter-computer connection unit” 0108 and the external software 0112 operating on this computer. In order for the local counterpart to operate, the following is required. (1) Designation of partner to exchange information (2) Designation of information (record) subject to data linkage (3) Instruction of linkage (designation at what timing information linkage is started) These can be realized by sharing the local correspondence unit 0111 and the external software 0112. This assignment varies depending on the extent to which the specifications of the external software 0112 are disclosed.
  • the range of information that the external software 0112 discloses to the local support unit 0111 needs to be determined in advance.
  • the external software 0112 detects a change in the information in the range, it notifies the local correspondence unit 0111 of the change.
  • a specific example is shown in Example 1.
  • the information transmitted to the local correspondence unit 0111 is transmitted to the linked computer through the inter-computer connection unit 0108.
  • Data linkage between the local support unit 0111 and the “external software” 0112 is linkage within the same computer, and can be performed immediately. In order to link to editing performed on other computers, it is necessary to access the server 0102 through the inter-computer connection unit 0108. This is because the computer (or its operator) needs to have the latest information. It may be performed when it is determined.
  • ⁇ Security> “Being able to monitor and record linked data” is important for security.
  • a certain external software 0112 is made to correspond to the local support unit 0111, it can be monitored by a system that is approved by the system administrator.
  • the operator can specify the external software that can be connected in advance, that is, by limiting the range of (1) above, it is possible to simplify the approval. If the fixed patterns (2) and (3) are prepared for each external software, this approval can be further simplified.
  • the software of the present invention can be modified in accordance with the company policy to further introduce necessary measures.
  • the present invention is based on the filing date of Patent Document 1, which is the priority date of Patent Document 2 and Patent Document 3, and using the parallel DB access mechanism disclosed therein, the “intercomputer connection part” 0108
  • the function and the “server relay unit” 0103 were realized, and data linkage between computers (in the case of FIG. 2, between computer A 0204, computer B 0209, and computer C 0213) was made possible.
  • “Server Relay Unit” 0103 has been simplified to the extent that it can be implemented by a rental server. Using this server 0202 as a relay point, data linkage is possible between the computers 0204, 0209, 0213 on which the “inter-computer connection unit” 0205, 0210, 0214 operates. The ability to add and change items in the table 0302 linked to the data can be done later, expanding the flexibility of actual operation. If the servers 0102 and 0202 on which the “server relay units” 0103 and 0203 operate are widely opened to the public, it becomes easier to implement data linkage across computers.
  • update of the information exchange replica DB 0110 may be performed as required by each computer.
  • Information handled by computers or a wide range of operating modes from “almost online operation” that frequently updates the replica DB 0110 for information exchange to “almost offline operation” that rarely updates the replica DB 0110 for information exchange It is possible to select according to the characteristics. This characteristic is suitable for the purpose of linking information including computers that are not always connected. By “almost offline operation”, DB processing can be performed even in a situation where communication with the server is impossible.
  • the “local correspondence unit” 0111 processes the correspondence between this item and the record item handled by the external software.
  • Various patterns are assumed, such as one-to-one correspondence items, items that require unit conversion, items that are not supported and ignored, items that have different value ranges, and items that combine multiple items into one. .
  • the value of the item is exchanged according to these patterns, and is changed if necessary.
  • “Specify target record” is a record that is passed (shown) from the external software 0112 to the local corresponding unit 0111, and is a record that the local corresponding unit 0111 passes (shows) to the external software 0112.
  • “designation of target record” and “designation of item correspondence” are greatly different for each data linkage, but conversely, any data linkage can be realized as long as these factors are determined.
  • the local support unit 0111 may be developed to exchange data for each external software 0112.
  • the person in charge of development only needs to understand the specifications of the external software in charge and develop the local support unit 0111. If 10 types of “local correspondence units” 0111 are realized for the above 10 types of software (or individual DBs), all combinations of data can be exchanged through the “inter-computer connection unit” 0108.
  • Example of information exchange DB Original DB or duplicate DB
  • Computer reconfigured as a collection of means by the program of the present invention Means to update database replicas Means to detect and record data changes by external software, and edit the replication database (replication DB) based on this change Means to confirm the editing result Means for detecting a change in data in a replication database (replication DB), recording it, outputting the change to the outside, and starting a specified program (external software)
  • a computer is configured by connecting a computing device, a main storage device, a secondary storage device, an input / output device, a communication device, a display device, and the like via a bus.
  • the computer 0107 in FIG. 1, the computer A 0204, the computer B 0209, and the computer C 0213 in FIG. 2 read the program of the present invention, and each computer functions as a collection of means shown in FIG.
  • FIG. 5 shows the processing of “means for updating database replica” 0404.
  • a duplicate DB 0110 for information exchange hereinafter simply referred to as a duplicate DB
  • a replica DB 0110 is created 0502 by copying the initial DB for information exchange (hereinafter simply referred to as the initial DB).
  • the server 0102 When the server 0102 performs “determination of editing validity” and the original DB 0106 is updated on the server 0102, the latest original DB 0106 for information exchange (hereinafter simply referred to as the original DB) may be copied to the computer. This is the processing content of “means for updating a copy of the original database” 0404. Each time the original DB 0106 is updated by valid editing, the version of the original DB 0106 is updated, and this version is quoted as the base version of the next editing in the duplicate DB 0110 and used for checking the validity of editing.
  • FIG. 6 shows the processing of “means for detecting data recorded by external software 0112, recording it, and editing the replication database based on this change” 0405. “Detect data change by external software 0112” 0601. If there is no change, the process is completed here. If there is a change, “record this change” 0602 is performed, and “edit the replication database (replication DB 0110) based on this change” 0603 is performed.
  • FIG. 7 shows the processing of “means for confirming the editing result” 0406.
  • “specify editing result” 0701 “specify the base version of the replication DB 0301 (or replication table 0302, 0303) to be edited as the editing result” 0702, and “upload editing to server 0102” 0703.
  • Server 0102, 0202, 0408 records this edit and its up order. This confirms the editing.
  • Each computer determines the validity of these edits by “means for updating the copy of the database” 0404, and updates the copy DB 0110 if it is valid.
  • the validity of the editing uploaded on the server is determined, and if it is valid, the original DB 0106 is updated.
  • FIG. 8 shows the processing of “means for detecting a change in data in the replication database (replication DB 0110), recording it, outputting the change to the outside, and starting the designated program (external software 0112)”. This processing is started after the processing of “means for updating database replica” 0404. First, “Detect change of data in replication database (replication DB0110)” 0801 is performed. If there is no change, the process is completed here. If there is a change, “Record this change” 0802, “Output this change to the outside” 0803, and “Start a pre-specified program (external software 0112)” 0804.
  • the online DB system 0208 is a company accounting system
  • the operator of the computer A 0204 is an employee in charge of business trip expenses of this company. This is an employee who charges the business trip cost changed by the operator of the computer B0209 and the computer C0213.
  • DB link It expresses connecting, that is, linking, external DB 0112 that handles DB, such as online DB system terminal software and household account book software.
  • ⁇ Security considerations> The fact that the terminal software 0207 of the corporate accounting system is linked to data by another software may cause information leakage from the perspective of the corporate system operator.
  • basic confirmation is required, such as whether the “DB link” itself is not violated by a virus, or whether transmission / reception of data is guarded from peeping (such as by SSL communication).
  • the “DB link” used in a company computer may be a specification specific to the company, and information that can be exchanged may be limited in advance. Management can be done thoroughly by registering and permitting the connection partner at the company (server).
  • the server for the “DB link” is also dedicated to the company, and the information to be transmitted / received is also strictly encrypted with a key uniquely created by the company.
  • this part of the record is output to a file in CSV format, etc., and this file path is specified to activate the local correspondence part.
  • “means for solving the problem”, “operation of the local support unit” (29th stage), “(1) designation of a partner to exchange information”, “(2) information (record) to be linked to data” was specified ".
  • the local correspondence unit 0212 In the case of a record with “new (local)”, the local correspondence unit 0212 writes the new record in the replication DB 0110 as a new record. If the record has “correction (local)” attached, the local correspondence unit 0212 corrects the corresponding record in the replication DB 0110 in the same manner. In the case of a record with “delete (local)”, the local correspondence unit 0212 sets the corresponding record in the replication DB 0110 to the delete state. That is, it is actually deleted or marked for deletion.
  • a mark indicating the state is also attached to data notified by the local correspondence unit 0211 to the household account book software for B 0212 (external software).
  • This is “(3) Linkage instruction”.
  • the change to be notified to the household account book software 0212 (external software) by the local correspondence unit 0212 is a change (edit) by external software (terminal software 0207 of the online DB system) of another computer (for example, computer A0204).
  • the information is transmitted to the local correspondence unit 0211 through the inter-computer connection unit 0210 of the computer B via the unit 0203.
  • the household account book software for B 0212 processes that a new record has been added. If the record has “correction (external)”, the corresponding record is corrected in the same way. If it is a record with “delete (external)”, the corresponding record is set to the delete state. Not only the household account book software 0212 for B but also the external software 0112 that is the object of data linkage needs to perform at least these processes.
  • ⁇ Item structure> The item configuration of the original table 0302 of the information exchange DB 0301 needs to include items necessary for both connected parties.
  • the company needs to indicate the minimum necessary items to be entered into the company's accounting system. Items that indicate the processing status of the application (during application, approval pending, approval, hold, rejection, “approve by changing the amount”, etc.) are also considered necessary.
  • the person who operates the household account book determines which record in the household account book corresponds to the item notified from the company. For example, it is decided to link the record of reimbursement of travel expenses in the household account book with the company's accounting system via the information exchange DB0301, and which item in the household account book corresponds to which item in the company Is specified.
  • the person who operates the household account book may add items. For example, if you set up a “special notes column” and fill in “how serious the business trip was,” the company might consider it. Items can be added or deleted as the company's accounting system changes.
  • the “DB Link” When the “DB Link” is activated on the computer A0204 of the employee A in charge of the company's business trip expenses, the “computer connection part” 0205 is used to import the edits previously uploaded from the computer B0209 from the server 0202, and the copy at hand.
  • the DB 0110 is updated, and the travel expense reimbursement report from employee B is entered.
  • the travel expense report is displayed on the computer of employee A by “DB link”. There is no need to input to the computer as in previous paper-based reports. There will also be no transcription mistakes.
  • employee A sees the business trip expense reimbursement report from employee B and determines that it is inappropriate, “reject” is displayed. This is also a modification to the replication DB 0110 and is transmitted to the replication DB 0110 of the “inter-computer connection section” 0205, the server relay section 0203, and the “inter-computer connection section” 0210 of the computer B 0209 (the employee B's home personal computer). If employee A determines that it is appropriate, the application of employee B is posted to terminal software 0207 of the company's accounting system by the “local correspondence department”.
  • the application of employee B is processed as “approval”, “rejection”, “approved after changing the amount”, and the like.
  • These processing results are inputted from the terminal software 0207 of the online DB system of the computer of the employee A through the local correspondence unit 0206 as an edit to the duplicate DB of the “inter-computer connection unit” 0205, and the editing result is the server 0202 with the “DB link”. Is up. Display of “Approve”, “Reject”, “Approve by changing the amount” and the corrected amount are entered as edits.
  • the household account book performs processing according to “approval” and “rejection”.
  • the process is completed for the time being, and it will correspond to the payment from the company later.
  • the entire amount is processed as self-abundance.
  • the external software specifies a file in a format such as CSV to start the DB link (locally compatible part), or the DB link (locally compatible part) specifies the CSV file and starts the external software.
  • a file in a format such as CSV to start the DB link (locally compatible part), or the DB link (locally compatible part) specifies the CSV file and starts the external software.
  • the example of exchanging information has been shown, but data linkage can also be realized by another method.
  • the external software and the “DB link” operate as separate processes and communicate via a communication channel (such as a port).
  • the local support unit and the external software send the contents of editing and requests the start of necessary processing.
  • the local correspondence part of the DB link and the external software share the same storage area record and exchange information. For example, both access the same DB file (at different times), and perform processing according to changes in records written therein. In this case, when the processing corresponding to the mark is completed, the mark is cleared. For example, when the local correspondence unit transcribes a record of “new (local)” to the inter-computer connection unit, this mark is cleared. This is to prevent the same process from being repeated infinitely.
  • the program of the present invention is unnecessary, but in reality, the linkage between the DBs is supported according to the convenience of a specific user. Things are difficult. Therefore, in the security standard set by the operator, it is a realistic response to connect within the scope of each responsibility according to the needs of each operator. Each connection is a legitimate connection, but it is expected that the entire picture of many connected DB systems will spread beyond the imagination of the individual DB system operator.
  • FIG. 9 shows an example in which the function of the external software part is also realized as part of the DB link and a plurality of data linkages are realized.
  • the program 0905 operating on the computer B 0902, there are a plurality of combinations of the inter-computer connection units 0907 and 0908 and the local corresponding units 0909 and 0910. Each implements data linkage with other computers (computer C0903 and computer A0901) via the server relay units 0913 and 0914 of the server 0904.
  • the intercomputer connection unit 0919 and the local correspondence unit 0920 operate and are linked with the external software 0921 realized as part of the program.
  • the inter-computer connection unit 0915 and the local correspondence unit 0916 operate and are linked to the online DB system 0918 in conjunction with the terminal software 0917 of the online DB system.
  • Data linkage is performed between computer B0902 and computer C0903 via server relay unit 0913
  • Data linkage is performed between the computer B 0902 and the computer A 0901 via the server relay unit 0914.
  • Communication between the computer and the server is performed through a communication network 0922 such as the Internet.
  • the linkage between the external software and the local support unit is linkage within the program.
  • various techniques such as a function call specifying an argument and a function call specifying a working memory address can be used.
  • the simplest realization of the external software part is a function of accepting a copy DB screen display, printing, and correction from the operator.

Landscapes

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

Abstract

本発明の「計算機間接続部」と「サーバー中継部」により「平行DBアクセス」が実現される。交換する情報を定め、その複製に対する編集を交換し、複製の更新を行う事により、「ほぼオンライン運用」から「ほぼオフライン運用」まで様々な運用形態の計算機の間の情報交換を矛盾無く行う事が出来る。さらに本発明の「ローカル対応部」により、各種の個別DBやオンラインDBシステムの端末ソフトとの間のデータ交換が実現される。この様にして、複数の計算機に分散して存在する、個別DBやオンラインDBシステムの端末ソフトとの間のデータ連動が実現される。

Description

データベース接続プログラムおよび装置
データベース(以下、DB)の内容を他のデータベースと連動させる処理に関する。
各種のオンラインDBシステムや計算機内部の個別DBなど世の中には多数のDBが存在しており、DBの内容の一部を他のDBと連動させる必要を感じる事は多い。しかし、 接続のために、既存のオンラインDBシステムや個別DBソフトの根幹部分を改造する事は現実的ではない。
クレジットカードやプリペイドカードの支払いを家計簿に記帳する処理は、確定した支払い情報をカード会社から取得し、個人の家計簿に転記する。つまりデータの流れは一方通行である。ところが本発明では情報の連動つまり情報が相互に行き交う事を想定している。ある請求が審査され、適切な金額に修正され、支払い決定が通知される、など複雑なデータ連動に対応する必要がある。
題名から関係のありそうな特許を選び調査した。特許文献5「分散データベースシステム」は、データベース間の文字コードやデータ形式の変換を行う。特許文献6「複数データベース一致化更新方法および装置」は、原本DBと複製DBをリアルタイムで同期する。特許文献7「分散型データベースの同期管理システムおよび同期管理方法」は、分割されたDBをあたかも一つのDBとして扱う。特許文献8「データ連携方法」は、障害などにより連携するDB間で情報が交換出来ない場合に新たな領域を確保して情報を記録する。特許文献9「データ連携システム及びデータ連携装置」は連携データのルーチングに関する。特許文献10「データ管理装置及びデータ管理方法及びプログラム」は、編集データの差分のみ送る。内容はいずれも本発明とは関係しない。
特許文献4「複数のデータベース間の整合方式」は、DBの編集を即時に互いに通知し合うシステムにおいて、計算機毎にその編集に連続番号を付与して通知の受信漏れを検出する。通知の受信漏れを検出するには、計算機毎に付与された番号の抜けを検査する事で十分である。しかし、即時に通知といっても、実際には通知のための時間が必要で編集が競合する可能性があるが、その対策は考えられていない。この発明の「計算機毎に番号を付ける仕掛け」では、競合の発生防止も解消も出来ない。データベースを接続する発明でも無い。
PCT/JP2008/001424 PCT/JP2008/001506 PCT/JP2008/001719 特許第2904100号 特開平8-179980 特開平10-111825 特開平11-249943 特開2003-316617 特開2006-185282 特開2007-249453
既存のオンラインDBシステムや計算機内部の個別DBなどの根幹部分を改造する事なく
DB間のデータ連動を実現するには、オンラインDBシステムの端末ソフトが動作する計算機や個別DBが存在する計算機の間でデータ交換する仕組みが必要で、このデータ交換によりデータ連動が実現される。これらに要求される条件は以下である。
・簡単な仕組みで迅速に実現出来る事。
・インターネットなどの通信網への常時接続が保証されていない様々な運用形態の計算機ともデータ交換出来る事。
・連動データとその連動内容が指定出来る事。
・連動データの監視と記録が出来る事。
これらの要求を満たす仕組みを明らかにする。
本発明では、オンラインDBシステムの端末ソフトや個別DBを異なる計算機間で接続してデータ連動を実現するプログラム、および、このデータ連動の実現に必要な手段で構成される装置を示す。説明のため、機能を「計算機間接続部」「サーバー中継部」「ローカル対応部」に分割して説明する。これらの機能の細部を示したのが図1である。
複数の計算機、計算機A0204、計算機B0209、計算機C0213が、サーバー0202とインターネットなどの通信網0201で接続された構成が図2に示す。サーバー0202に位置するサーバー中継部0203は、図1のサーバー中継部0103と同様に、処理部0104と記録0105または情報交換用の原本DB0106で構成されるが、図2では省略している。また、計算機A0204の計算機間接続部0205、計算機B0209の計算機間接続部0210、計算機C0213の計算機間接続部0214も、図1の計算機間接続部0108と同様に、処理部0109と情報交換用の複製DB0110で構成されるが、図2では省略している。
なお、以下では記述を簡単にするため、図1と図2の共通する部分の符号は図1の符号のみを参照するが、図1と図2の両方を参照する意図である。
「計算機間接続部」0108: 計算機0107で動作しサーバー中継部0103と連携して、関連する計算機間(図2なら計算機A0204、計算機B0209、計算機C0213の間)のデータの連動を行う。計算機間接続部0108は、処理部0109と情報交換用の複製DB0110で構成される。サーバー0102内のサーバー中継部0103とはインターネットなどの通信網0101を介して接続される。
「サーバー中継部」0103, 0203: 計算機間(図2なら計算機A0204、計算機B0209、計算機C0213の間)のデータ交換の中継機能を提供する。処理部0104と情報交換用の初期DB、編集(1)、編集(2)などの記録0105で構成される。サーバー中継部0103で情報交換用の原本DBを更新する場合は、情報交換用の原本DB0106も必要である。
「ローカル対応部」0111: 計算機内の外部ソフト0112(個別DBを操作するソフトや、オンラインDBシステムの端末ソフトなどの各種ソフト)と「計算機間接続部0108」との間でデータを交換する。
<計算機間の情報交換>
関係する複数の計算機の、計算機間接続部0108、サーバー中継部0103、ローカル対応部0111、外部ソフト0112との間で行われるデータ交換の積み重ねにより、データ連動が実現される。
計算機間(図2なら計算機A0204、計算機B0209、計算機C0213の間)のデータ交換で用いられる情報交換用のDBの構成例を図3に示す。情報交換用のDB0301には元テーブル0302とその項目を規定した項目テーブル0303が記録されている。
「情報交換用の原本DB」0106または「情報交換用の仮想の原本DB」(説明は17段)をコピーした情報交換用の複製DB0110にもこれらのテーブルが記録されており、これらのテーブルが計算機毎に編集され、その編集結果がサーバー0103,0203にアップされる。そしてこれらの編集に基づき、関係する計算機の情報交換用の複製DB0110が更新される。
計算機からサーバーにアップされた編集で情報交換用の原本DBが更新される運用ならば、情報交換用の原本DB0106が存在し、計算機毎にそのコピーを作成して情報交換用の複製DB0110となる。
一方、情報交換用の原本DB0106を作成しない運用も可能である。サーバー0102にアップされた編集とその順番の記録0105を、関係する計算機がダウンロードして、有効な編集で情報交換用の複製DB0110を更新すれば、同じ編集まで取り込んだ計算機では、情報交換用の複製DBは同じになる。つまり情報交換用の複製DBは「情報交換用の仮想の原本DB」と同期が取れた状態になる。
サーバー中継部0103,0203と複数の計算機の計算機間接続部(図2なら計算機A0204、計算機B0209、計算機C0213それぞれの計算機間接続部0205,0210,0214)の組み合わせで、平行DBアクセスの仕掛けを実現し、これらの計算機間での情報の交換を行う。交換する情報を記入する帳簿が元テーブル0302である。これは各計算機の情報交換用の複製DB0110にも存在し、計算機毎に新たなレコードの書き込みや修正などの編集を行う。これらの編集をサーバー中継部0103, 0203が動作するサーバー0102, 0202に、インターネットなどの通信網0101,0201を介して、アップする。
情報交換用の原本DBをサーバー0202, 0102で更新する運用の場合は、アップされた編集の有効性を判定して、有効とされた編集により情報交換用の原本DB0106を更新する。これをコピーすると計算機の情報交換用の複製DB0110が更新される。
サーバーで情報交換用の原本DB0106を更新せず、サーバーでは各計算機からアップされた編集とその順番を記録0105する運用の場合は、これらの編集とその順番を計算機0107(図2なら計算機A0204、計算機B0209、計算機C0213)に取り込み(ダウンロードし)、有効と判定された編集を用いて情報交換用の複製DB0110の更新を行う。
ある計算機(例えば計算機A0204)が、他の計算機(例えば計算機B0209)で編集されサーバー0202にアップされた内容を把握するにはサーバー0202と通信して情報交換用の複製DB0110を更新する。常に最新の情報が必要ならば頻繁に更新すれば良いし、最新情報が必要になるまで更新しない事も出来る。
情報交換用の原本DB0106または仮想の原本DBを介して3以上の計算機で情報を交換することが出来る。例えば、複数の世帯の計算機(計算機B0209と計算機C0213)の家計簿(B用家計簿ソフト0212とC用家計簿ソフト0216)と会社の会計システム(図3ではオンラインDBシステム0208)の端末ソフト0207が動作する計算機A0204とで情報交換用のDB(原本DBまたは複製DB)0301を共有する。
この場合、会社の計算機A0204と計算機B0209が交換するデータを計算機C0213の操作者が見る事が出来る。例えば計算機B0209から出た立て替え請求を見て、計算機C0213の操作者が立て替え請求を追加しても良い。皆で分担して立て替えた支払いを相互にチェックするには便利である。
テーブルにアクセス権限を設定したり、テーブルのレコード毎にアクセス権限を設定して、権限のある操作者にしか見せない運用も可能である。例えば、元テーブル0302の請求者B(計算機Bの操作者)のレコードは、請求者Bとそのレコードを処理する計算機Aの操作者にしか表示しない。
情報交換用のDBを分けて、計算機毎に権限のある情報交換用のDBしかアクセスさせない運用も可能である。例えば、計算機B0209と計算機A0204との間のデータ交換用のDBと、計算機C0213と計算機A0204との間のデータ交換用のDBを別のDBとする。計算機A0204は両方のDBにアクセス出来るが、計算機B0209と計算機C0213はそれぞれのDBにしかアクセスできない。
<項目構成>
情報交換用のDB0301(原本DBまたは複製DB)に元テーブル0302があり、これに対する平行編集でデータの連動を実現している。このテーブルには、データ連動の両者で必要とする項目が含まれていなければならないので、事前に検討して項目を定めておく。
オンラインDBシステムの仕様変更などの理由により項目が変更される可能性があるならば、その対策も必要である。複数の計算機で平行して項目の編集を行う可能性を考え、その場合の編集の競合を管理するために、項目を定義する項目テーブル0303も(そのレコードにより定義された元テーブル0302と同様に)情報交換用のDB(原本DBまたは複製DB)0301に記録する。
項目テーブル0303を編集し、これに基づいて元テーブル0302の項目構成を変更する。項目の追加や削除などの修正に伴い、元テーブル0302のレコードも必要な変更が行われる。「項目テーブルへの編集が確定しなければ、元テーブルの構成を変更しない」「元テーブルの構成変更でエラーが生じたら、元テーブルの構成変更を基に戻し、項目テーブルの編集も無効とする」などの処理で、矛盾発生を防止する。
<ローカル対応部の動作>
「ローカル対応部」0111が、「計算機間接続部」0108と、この計算機で動作する外部ソフト0112との間でデータ交換を行う。ローカル対応部が動作するには、以下が必要である。
              (1)情報を交換する相手の指定
(2)データ連動の対象となる情報(レコード)の指定
(3)連動の指示(どのようなタイミングで情報の連動を起動するかの指定)
これらはローカル対応部0111と外部ソフト0112とで分担して実現する事が出来る。外部ソフト0112の仕様がどの程度公開されているか、などの状況に応じてこの分担は異なる。
外部ソフト0112がローカル対応部0111に公開する情報の範囲を、あらかじめ決めておく必要がある。外部ソフト0112がその範囲の情報の変化を検出すると、その変化をローカル対応部0111に通知する。この中に外部ソフト0112からローカル対応部0111への情報の連動に関する上記(1)(2)(3)の指定が含まれる。この具体例を実施例1に示す。ローカル対応部0111に伝えられた情報は計算機間接続部0108を通して連動先の計算機に伝えられる。
他の計算機の編集が計算機間接続部0118を通してローカル対応部0111に伝えられると、変化のあった情報ついて、あらかじめ指定された外部ソフト0112に伝える。この場合は、上記(1)が事前に指定されており、上記(2)(3)が情報の変化に対応して伝えられる。詳細を実施例1に示す。
ローカル対応部0111と「外部ソフト」0112間のデータ連動は、同じ計算機内での連動であるので、即時に行う事が可能である。他の計算機で行われた編集に連動するためには、計算機間接続部0108によるサーバー0102へのアクセスが必要であるが、これは計算機(またはその操作者)が「最新の情報が必要である」と判断した時に行えば良い。
<セキュリティ>
「連動するデータの監視と記録が出来ること」はセキュリティ上重要である。ある外部ソフト0112をローカル対応部0111に対応させる際に、システムの管理者の承認を取る仕組で監視する事が出来る。運用者が、接続可能な外部ソフトをあらかじめ指定しておく、つまり上記(1)の範囲を限定しておく事により、その承認を簡略化する事が可能である。外部ソフト毎に、(2)(3)の定型パターンを用意すれば、この承認をさらに簡略化する事が出来る。
また、ローカル対応部0111で交換する情報の記録を取っておけば、問題が起きてから過去の記録をさかのぼって検証する事が出来る。企業がセキュリティを重視するならば、本発明のソフトを企業の方針に合わせて改造して必要な対策をさらに導入する事も出来る。
<情報交換>
従来は計算機間の情報交換にはオンラインシステムなど大がかりな仕掛けが必要であったが、最近の研究(特許文献1、特許文献2、特許文献3)により「平行DBアクセス」が実用に耐えうるレベルに達し、これによりデータの交換が容易に実現出来る様になった。「平行DBアクセス」により、従来のオンラインシステムの様にデータ編集中に計算機を通信網に接続しておく必要は無くなった。
本発明は特許文献1の出願日、これは特許文献2と特許文献3の優先日、を優先日とし、これらで開示された平行DBアクセスの仕掛けを用いて、「計算機間接続部」0108の機能と「サーバー中継部」0103を実現し、計算機間(図2なら計算機A0204、計算機B0209、計算機C0213の間)のデータ連動を可能とした。
「サーバー中継部」0103の機能はレンタルサーバーで実装可能なまでに簡略化されている。このサーバー0202を中継地として、「計算機間接続部」0205,0210,0214が動作した計算機0204,0209,0213の間でデータ連動が可能となった。データ連動する(元)テーブル0302の項目の追加変更も後から行えるのも、実際の運用の自由度を広げている。「サーバー中継部」0103,0203が動作するサーバー0102,0202が広く一般に開放されれば、計算機をまたがったデータ連動の実現がさらに容易になる。
<柔軟なデータ連動>
平行DBアクセスによるデータ連動では、情報交換用の複製DB0110の更新は各計算機の必要に応じて行なえば良い。頻繁に情報交換用の複製DB0110を更新する「ほぼオンライン運用」から、めったに情報交換用の複製DB0110の更新は行わない「ほぼオフライン運用」まで、幅広い運用形態が計算機毎に、または計算機が扱う情報の特性に応じて選択可能である。常時接続でない計算機も含めて情報を連動させる目的に適した特性である。「ほぼオフライン運用」により、サーバーとの通信が不可能な状況でもDB処理が行える。
<多様なデータ連動>
データ連動の内容は「連動する項目」と「対象レコードの指定」で決まる。「計算機間接続部」0108の平行DBアクセスで用いる情報交換用のDB(原本DBまたは複製DB)0301のテーブル0302の項目が、関係する計算機の共通の項目である。
この項目と外部ソフトが扱うレコードの項目との対応を「ローカル対応部」0111が処理する。1対1対応の項目、単位の変換が必要な項目、対応しないので無視する項目、とり得る値の範囲が異なる項目、複数の項目をまとめて一つにする項目など、各種パターンが想定される。外部ソフト0112とローカル対応部0111の間のデータ交換では、これらのパターンに合わせて項目の値が交換され、必要ならば変更が行われる。
「対象レコードの指定」は、外部ソフト0112からローカル対応部0111に渡す(見せる)レコードであり、ローカル対応部0111が外部ソフト0112に渡す(見せる)レコードである。「対象レコードの指定」と「項目の対応の指定」はデータ連動毎に大きく異なる可能性があるが、逆に言えば、これらの要因さえ決めれば、どのようなデータ連動も実現可能である。
<情報交換ソフト>
オンラインDBシステムの端末ソフトや個別DBなど、数多くのソフトとの間で情報交換が可能になると、そのデータ交換の仕組みを能率良く構築する必要がある。もし、データ交換を行う対象の組み合わせ毎にデータ交換用のソフトを用意すると大変な事になる。例えば、10種類のソフト(や個別DB)間の組み合わせは(10×9÷2=)45であり、それぞれについて双方向の情報交換のソフトを開発するためは双方の仕様書を理解する必要がある。それぞれのソフトの担当者が10人いたとしても、担当者毎に接続相手の9種類の仕様書を理解し、それに従って情報交換のソフトを開発する必要がある。
ところが本発明なら、外部ソフト0112毎にデータ交換を行うにローカル対応部0111を開発すれば良い。開発担当者は、担当する外部ソフトの仕様書を理解して、ローカル対応部0111を開発すれば良い。上記の10種類のソフト(や個別DB)に対して10種類の「ローカル対応部」0111を実現すれば、「計算機間接続部」0108を通して全ての組み合わせのデータ交換が行える。
本発明の構成要素とそれらの関係 3台の計算機によるデータ連動 情報交換用DB(原本DBまたは複製DB)の例 本発明のプログラムにより、手段の集合体として再構成された計算機 データベースの複製を更新する手段 外部ソフトによるデータ変更を検出し、記録を取り、この変更に基づいて複製データベース(複製DB)を編集する手段 編集結果を確定する手段 複製データベース(複製DB)のデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラム(外部ソフト)を起動する手段 外部ソフトの部分まで本発明のプログラムの一部とした実施例
符号の説明
0101    インターネットなどの通信網
0102      サーバー
0103    サーバー中継部
0104    処理部
0105    記録
0106    情報交換用の原本DB(サーバーで原本DBを更新する場合)
0107      計算機
0108    計算機間接続部
0109    処理部
0110    情報交換用の複製DB
0111    ローカル対応部
0112    外部ソフト
0201    インターネットなどの通信網
0202      サーバー
0203    サーバー中継部
0204    計算機A
0205    計算機間接続部
0206    ローカル対応部
0207      オンラインDBシステムの端末ソフト
0208    オンラインDBシステム
0209    計算機B
0210    計算機間接続部
0211    ローカル対応部
0212      B用家計簿ソフト
0213    計算機C
0214    計算機間接続部
0215    ローカル対応部
0216      C用家計簿ソフト
0301    情報交換用のDB(原本DBまたは複製DB)
0302    元テーブル
0303    項目テーブル
0401    計算機
0402      インターネットなどの通信網
0403    通信手段
0404    データベースの複製を更新する手段
0405    外部ソフトによるデータ変更を検出し、記録を取り、この変更に基づいて複製データベースを編集する手段
0406    編集結果を確定する手段
0407      複製データベースのデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラム(外部ソフト)を起動する手段
0408    サーバー
0501      複製DBが計算機に作成されているかを調査
0502      複製DBを作成する処理
0503      未取り込みの編集がサーバーにあるかを確認
0504      編集をサーバーから取り込む処理
0505      編集の有効性の判定
0506      複製DBの更新
0601      外部ソフトによるデータ変更を検出
0602      変更の記録
0603      複製データベースの編集
0701      編集結果を特定
0702      編集結果に、編集対象の複製DB(または複製テーブル)のベースバージョンを指定
0703      サーバーに編集をアップ
0801      複製データベースのデータの変更を検出
0802      変更の記録
0803      変更を外部に出力
0804      指定されたプログラム(外部ソフト)を起動
0901      計算機A
0902      計算機B
0903      計算機C
0904      サーバー
0905      プログラム(計算機B内)
0906      プログラム(計算機C内)
0907      計算機間接続部(計算機B内その1)
0908      計算機間接続部(計算機B内その2)
0909      ローカル対応部(計算機B内その1)
0910      ローカル対応部(計算機B内その2)
0911      外部ソフト(計算機B内その1)
9012     外部ソフト(計算機B内その1)
0913      サーバー中継部(その1)
0914      サーバー中継部(その2)
0915      計算機間接続部(計算機A内)
0916      ローカル対応部(計算機B内)
0917      オンラインDBシステムの端末ソフト
0918      オンラインDBシステム
0919      計算機間接続部(計算機C内)
0920      ローカル対応部(計算機C内)
0921      外部ソフト(計算機C内)
0922      インターネットなどの通信網
一般的に計算機は、演算装置、主記憶装置、二次記憶装置、入出力装置、通信装置、表示装置
などがバスで接続され構成されている。図1の計算機0107、図2の計算機A0204、計算機B0209と計算機C0213は、本発明のプログラムを読み込み、それぞれの計算機が図4に示す手段の集合体として機能する。つまり、「データベースの複製を更新する手段」0404、「外部ソフトによるデータ変更を検出し、記録を取り、この変更に基づいて複製データベースを編集する手段」0405、「編集結果を確定する手段」0406、「複製データベースのデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラム(外部ソフト)を起動する手段」0407の集合体である。
「データベースの複製を更新する手段」0404の処理を図5に示す。まず、情報交換用の複製DB0110(以下単に、複製DB)が計算機に作成されているかを調査0501する。なければ、情報交換用の初期DB(以下単に、初期DB)をコピーして複製DB0110を作成0502する。
次に、まだ取り込んでいない編集がサーバー0102, 0202にあるかを確認0503し、有れば編集をサーバーから取り込み0504、「編集の有効性の判定」0505を行い、有効ならば複製DB0110を更新する0506。以上で複製DB0110と(最新の仮想の)情報交換用の原本DB0106との同期が完了する。なお、有効な編集により複製DB0110を更新する場合には、複製DB0110のバージョンも更新する。これが、次の編集のベースバージョンとして引用され、編集の有効性の確認に利用される。
サーバー0102で「編集の有効性の判定」を行い、サーバー0102で原本DB0106を更新している場合には、最新の情報交換用の原本DB0106(以下単に、原本DB)を計算機にコピーする事が、「データベースの原本の複製を更新する手段」0404の処理内容である。有効な編集により原本DB0106を更新する毎に原本DB0106のバージョンが更新され、このバージョンが複製DB0110では次の編集のベースバージョンとして引用され、編集の有効性の確認に利用される。
「外部ソフト0112によるデータ変更を検出し、記録を取り、この変更に基づいて複製データベースを編集する手段」0405の処理を図6に示す。「外部ソフト0112によるデータ変更を検出」0601する。変更がなければここで処理は完了する。変更が有れば「この変更の記録」0602を行い、「この変更に基づき複製データベース(複製DB0110)の編集」0603を行う。
「編集結果を確定する手段」0406の処理を図7に示す。まず「編集結果を特定」0701し、「その編集結果に、編集対象の複製DB0301(または複製テーブル0302,0303)のベースバージョンを指定」0702し、「サーバー0102に編集をアップ」0703する。サーバー0102,0202,0408はこの編集とそのアップ順を記録する。これにより、編集が確定する。
各計算機は「データベースの複製を更新する手段」0404により、これらの編集の有効性を判定し、有効ならば複製DB0110を更新する。サーバーで原本DB0106を更新する運用の場合は、サーバーでアップされた編集の有効性を判定し、有効ならば原本DB0106を更新する。
「複製データベース(複製DB0110)のデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラム(外部ソフト0112)を起動する手段」0407の処理を図8に示す。この処理は「データベース複製を更新する手段」0404の処理の後に起動される。まず、「複製データベース(複製DB0110)のデータの変更を検出」0801する。変更がなければここで処理は完了する。変更があれば「この変更の記録を取り」0802、「この変更を外部に出力」0803し、「あらかじめ指定されたプログラム(外部ソフト0112)を起動する」0804。
図2の構成において、出張費に関するデータ連動を実現する例を説明する。オンラインDBシステム0208が会社の会計システムで、計算機A0204の操作者がこの会社の出張費担当の社員である。計算機B0209および計算機C0213の操作者が立て替えた出張費を請求する社員である。本発明のプログラムを以下では、「DBリンク」と呼ぶ。オンラインDBシステムの端末ソフトと家計簿ソフトなど、DBを扱う外部ソフト0112を接続する、つまりリンクする事を表現している。
<セキュリティの検討>
企業の会計システムの端末ソフト0207が別のソフトとデータ連動する事は、企業のシステム運用者から見ると情報漏洩の心配がある。まず、「DBリンク」自体がウイルスに犯されていないか、データの送受信が覗き見から(SSL通信などで)ガードされているかなど、基本的な確認が必要である。
企業のシステム運用者は次に、DBリンクを介して送受信される情報を精査する必要がある。会社の秘密が外部に流出してはいけないが以前より社員と書類で交換していた情報まで禁止する必要は無い。例えば、企業のある部署の通勤費担当者の場合、それまで手書きの伝票で集めていた申請書を、本発明のソフトで集めても何ら問題は無い。この伝票を手入力してミスが発生していたのを、自動的に連動させる事によりミスを減らす事が出来る。
非常識なデータが会社に入らない様に、社員からの情報を一度目視で確認してから、会社のシステムに転記する運用とする事も出来るし、プログラムによる情報のフィルタも「ローカル対応部」に実装しても良い。
会社の計算機で用いる「DBリンク」をその会社専用の仕様とし、交換出来る情報をあらかじめ制限しておくのも良い。接続相手の登録と許可を会社(のサーバー)で行うことにより管理が徹底出来る。また「DBリンク」用のサーバーもその会社専用のものを用い、さらには送受信する情報もその企業で独自に作成した鍵で厳重に暗号化する。
<ローカル対応部と外部ソフトのデータ連動>
オンラインDBシステムの端末ソフト0207と計算機A0204のローカル対応部0206との間で交換する情報の範囲を決める必要がある。これは、B用家計簿ソフト0212と計算機B0209のローカル対応部0211でも同じである。
この詳細をB用家計簿ソフト0212が計算機B0209のローカル対応部0211に渡す(見せる)情報を例に説明する。ここでは、家計簿0212の(立て替えた)出張費の記録を「ローカル対応部」0211に公開する。
具体的には、この部分のレコードをCSV形式などのファイルに出力し、このファイルパスを指定してローカル対応部を起動する。これにより、「課題を解決するための手段」「ローカル対応部の動作」(29段)の「(1)情報を交換する相手の指定」「(2)データ連動の対象となる情報(レコード)の指定」が行われた。
残りが「(3)連動の指示(どのようなタイミングで情報の連動を起動するかの指定)」である。そこで、渡す(見せる)データ(レコード)にはその状態を示すマークを付ける。例えば外部ソフト0112(B用家計簿ソフト0212)が状態を変更したレコードには、以下のマークを付ける。これらのマークが「(3)連動の指示」である。
新規(ローカル):この計算機内部の外部ソフトにより追加されたレコード
修正(ローカル):この計算機内部の外部ソフトにより修正されたレコード
削除(ローカル):この計算機内部の外部ソフトにより削除されたレコード
これらのマークを含むレコードの内容が、情報交換用のDB0301に対する編集として、本発明の「計算機間接続部」0108の動作により、関係する計算機に伝えられる。
「新規(ローカル)」が付いたレコードならば、ローカル対応部0211は新規レコードとして、複製DB0110に書き込む。「修正(ローカル)」が付いたレコードならば、ローカル対応部0211は複製DB0110内の該当するレコードを同じように修正する。「削除(ローカル)」が付いたレコードならば、ローカル対応部0211は複製DB内0110の該当するレコードを削除状態にする。つまり、実際に削除または削除マークを付ける。
また、ローカル対応部0211がB用家計簿ソフト0212(外部ソフト)に通知するデータにもその状態を示すマークを付ける。これが「(3)連動の指示」である。ローカル対応部0211がB用家計簿ソフト0212(外部ソフト)に通知する変更は、別の計算機(例えば計算機A0204)の外部ソフト(オンラインDBシステムの端末ソフト0207)による変更(編集)で、サーバー中継部0203を経由して、計算機Bの計算機間接続部0210を通り、ローカル対応部0211に伝えられたものである。
したがって、ローカル対応部0211がB用家計簿ソフト0212(外部ソフト)に通知するデータに付けられた、その状態を示すマークの意味は以下となる。
新規(外部):外部の計算機の外部ソフトにより追加されたレコード
修正(外部):外部の計算機の外部ソフトにより修正されたレコード
削除(外部):外部の計算機の外部ソフトにより削除されたレコード
これらの、外部の計算機の外部ソフトの編集がローカル対応部0211に伝えられた後、これらのデータがCSV形式などのファイルに出力され、このファイルパスを指定してB用家計簿ソフト0212(外部ソフト)を起動する事により、データが伝えられる。
「新規(外部)」が付いたレコードならば、B用家計簿ソフト0212(外部ソフト)は新規レコードが追加されたとして処理する。「修正(外部)」が付いたレコードならば、該当するレコードを同じように修正する。「削除(外部)」が付いたレコードならば、該当するレコードを削除状態にする。B用家計簿ソフト0212に限らず、データ連動の対象となった外部ソフト0112は、少なくともこれらの処理を行う必要がある。
<項目構成>
情報交換用のDB0301の元テーブル0302の項目構成は、接続される両者で必要とする項目が含まれている必要がある。家計簿と会社の会計システムで出張費を連動させる場合は、会社の会計システムに入力すべき最低限必要な項目を会社が示す必要がある。申請の処理状況(申請中、承認待、承認、保留、却下、「金額を変更して承認」など)を示す項目も必要と思われる。
家計簿を操作する人(例えば計算機B0209の操作者)は、会社からの通知された項目に対して家計簿のどの記録をどの様に対応させるかを決める。例えば、家計簿の出張費の立て替え金の記録(レコード)を、情報交換用のDB0301を介して会社の会計システムと連動させる事を決め、家計簿のどの項目を会社のどの項目に対応させるかを指定する。
家計簿を操作する人が項目を追加しても良い。例えば「特記事項欄」を設けて「いかに大変な状況の出張であったか」を記入すれば、会社側が考慮してくれるかもしれない。会社側の会計システムの運用の変更に伴い、項目を追加または削除する事も可能である。
<処理の流れ>
出張費の立て替えを例にしてデータ交換を積み重ねたデータ連動を説明する。この場合、計算機B0209の所有者である社員Bの出張の記録簿が情報交換用のDB0301である。社員Bが出張のタクシー代を立て替えた場合、社員Bの妻は計算機B0209の家計簿にこの金額と必要事項を記入する。この情報は「ローカル対応部」0211により、複製DB0110に転記され、「計算機間接続部」0210により編集としてサーバー0202にアップされる。このときこのレコードには「申請中」と表示される。
会社の出張費担当の社員Aの計算機A0204で、「DBリンク」を起動すると、「計算機間接続部」0205の動作により、先に計算機B0209からアップされた編集をサーバー0202から取り込み、手元の複製DB0110が更新され、社員Bからの出張費の立て替え報告が記入された状態になる。出張費の報告が「DBリンク」により、社員Aの計算機に表示される。それまでの紙ベースの報告の様に計算機に入力する手間は不要である。また転記ミスも起きない。
社員Aが社員Bからの出張費の立て替え報告を見て、不適切と判断すれば「却下」を表示する。これも複製DB0110に対する修正で、「計算機間接続部」0205、サーバー中継部0203、計算機B0209(社員Bの自宅のパソコン)の「計算機間接続部」0210の複製DB0110に伝えられる。社員Aが適切と判断すれば、社員Bの申請を「ローカル対応部」により、会社の会計システムの端末ソフト0207に転記する。
会社の会計システム0208では、社員Bの申請が「承認」、「却下」、「金額を変更して承認」、などと処理される。これらの処理結果は社員Aの計算機のオンラインDBシステムの端末ソフト0207から、ローカル対応部0206を通して「計算機間接続部」0205の複製DBに対する編集として入力され、編集結果が「DBリンク」のサーバー0202にアップされる。「承認」「却下」「金額を変更して承認」などの表示と修正後の金額が編集として記入されている。
その後、社員Bの自宅で計算機B0209を起動すると、これらの編集が「計算機間接続部」0210の動作により取り込まれ、複製DB0110が更新される。その結果は「ローカル対応部」0211により、家計簿0212に転記される。「承認」や「却下」の場合は、そのマークを転記する。
家計簿では「承認」や「却下」に応じた処理を行う。「承認」の場合は当面の処理は完了で、後からの会社からの支払いに対応させることになる。「却下」の場合は、全額自腹として処理する。
「金額を変更して承認」の場合は少し処理が複雑になる。金額が減額された場合は、家計簿のレコードを承認された金額と却下された金額の二つにレコードに分ける。金額が増額された場合は、家計簿に増額分のレコードを追加する。これらの処理を「ローカル対応部」0211で行う。
実施例1では、外部ソフトがCSVなどの形式のファイルを指定してDBリンク(のローカル対応部)を起動したり、DBリンク(のローカル対応部)がCSVファイルを指定して外部ソフトを起動したりして、情報交換を行う例を示したが、別の方法でもデータ連動を実現できる。
外部ソフトと「DBリンク」が別プロセスとして動作し、(ポートなどの)通信チャネルにより通信するのが実施例2である。ローカル対応部と外部ソフトが、編集の内容を送り必要な処理の起動を依頼する。
DBリンクのローカル対応部と外部ソフトが同じ記憶領域のレコードを共有して情報を交換するのが実施例3である。例えば、同じDBファイルを両者が(時間をずらせて)アクセスし、そこに書かれたレコードの変化に応じた処理を行う。この場合は上記のマークに対応する処理が完了すれば、そのマークをクリアする。例えば、ローカル対応部が「新規(ローカル)」のレコードを計算機間接続部に転記したら、このマークをクリアする。これは、同じ処理を無限に繰り返すのを防止するためである。
これらのデータ連動は、関係するシステムのセキュリティの許す範囲で運用される。つまり、それぞれのシステムが個別の操作者に対して定めたセキュリティ基準を満たしており、かつ著作権等の法規制をクリアしていれば、合法的なデータ連動である。
計算機の操作者の様々なデータ連動の要求にオンラインDBの運用者が対応出来れば、本発明のプログラムは不要であるが、実際は、特定の利用者の都合に合わせてDB間の連動に対応する事は困難である。従って、運用者が定めたセキュリティ基準のなかで、それぞれの操作者の必要に応じて、それぞれの責任の範囲で接続させるのが現実的な対応である。なお、個々の接続は合法的な接続であるが、接続された多数のDBシステムの全貌は個々のDBシステムの運用者の想像を超えた広がりとなる事が予想される。
外部ソフトの部分の機能もDBリンクの一部として実現し、複数のデータ連動を実現する例を図9に示す。計算機B0902で動作するプログラム0905の中には、計算機間接続部0907,0908とローカル対応部0909,0910 の組み合わせが複数存在している。それぞれが、サーバー0904のサーバー中継部0913,0914を介して、他の計算機(計算機C0903、計算機A0901)とのデータ連携を実現している。計算機C0903のプログラム0906でも計算機間接続部0919とローカル対応部0920が動作し、プログラムの一部として実現された外部ソフト0921と連動している。
また計算機A0901では、計算機間接続部0915とローカル対応部0916とが動作し、オンラインDBシステムの端末ソフト0917と連動し、この先のオンラインDBシステム0918とつながっている。
サーバー中継部0913を介して計算機B0902と計算機C0903との間でデータ連動が行われ、
サーバー中継部0914を介して計算機B0902と計算機A0901との間でデータ連動が行われている。計算機とサーバーの通信はインターネットなどの通信網0922を通して行われる。
さて、計算機B0902のプログラム0905には、点線で外部ソフト0911, 0912が記載されているが、これはプログラム0905の一部として動作している事を示している。計算機Cの外部ソフト0921もプログラム0906の一部として動作している事を示している。
これらの場合、外部ソフトとローカル対応部の連携はプログラム内部の連携となる。例えば、引数を指定した関数呼び出し、作業メモリのアドレスを指定した関数呼び出しなど各種のテクニックを用いる事ができる。なお、外部ソフト部分の最も簡単な実現は複製DBの画面表示、印刷、操作者からの修正を受け付ける機能である。
各種のオンラインDBシステムや計算機内部の個別DBなど世の中には多数のDBが存在している。本発明によりこれらのDBの内容の一部を他のDBと連動させる事が出来る様になった。その特徴は「簡単な仕組みで迅速に実現出来る」「インターネットなどの通信網への常時接続が保証されていない様々な運用形態の計算機とも情報交換出来る」「連動するデータの指定と、その連動の内容の指定が出来る」「連動する情報の監視と記録が出来る」である。このデータ連動は、関係するシステムのセキュリティの許す範囲で運用されるが、接続された多数のDBシステムの全貌は個々のDBシステムの運用者の想像を超えた広がりとなる事が予想され、情報の新たな活用の場が広がる事が期待される。

Claims (8)

  1. 計算機を、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出しこの変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、この変更を外部に出力する手段、
    として機能させるためのプログラム。
  2. 計算機を、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出しこの変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、この変更を外部に出力し、指定されたプログラムを起動する手段、
    として機能させるためのプログラム。
  3. 計算機を、
    (1)  データベースの複製を更新する手段
    (2)  外部ソフトによるデータ変更を検出し、この変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラムを起動する手段、
    として機能させるためのプログラム。
  4. 計算機を、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出し、記録を取り、この変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラムを起動する手段、
    として機能させるためのプログラム。
  5. 複数のデータベースの内容を連動して変更する装置であって、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出しこの変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、この変更を外部に出力する手段、
    で構成される装置。
  6. 複数のデータベースの内容を連動して変更する装置であって、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出しこの変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、この変更を外部に出力し、指定されたプログラムを起動する手段、
    で構成される装置。
  7. 複数のデータベースの内容を連動して変更する装置であって、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出し、この変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラムを起動する手段、
    で構成される装置。
  8. 複数のデータベースの内容を連動して変更する装置であって、
    (1)  データベースの複製を更新する手段、
    (2)  外部ソフトによるデータ変更を検出し、記録を取り、この変更に基づいて該複製データベースを編集する手段、
    (3)  該編集結果を確定する手段、
    (4)  該複製データベースのデータの変更を検出し、記録を取り、この変更を外部に出力し、指定されたプログラムを起動する手段、
    で構成される装置。
PCT/JP2008/001900 2008-06-04 2008-07-15 データベース接続プログラムおよび装置 WO2009147705A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010515675A JPWO2009147705A1 (ja) 2008-06-04 2008-07-15 データベース接続プログラムおよび装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JPPCT/JP2008/001424 2008-06-04
PCT/JP2008/001424 WO2008149552A1 (ja) 2007-06-06 2008-06-04 データベース矛盾解消方式
JPPCT/JP2008/001506 2008-06-12
PCT/JP2008/001506 WO2009147701A1 (ja) 2008-01-08 2008-06-12 データベースへの平行アクセスプログラム
JPPCT/JP2008/001719 2008-07-01
PCT/JP2008/001719 WO2009147704A1 (ja) 2008-06-04 2008-07-01 テーブルとテーブル項目の平行編集プログラム

Publications (1)

Publication Number Publication Date
WO2009147705A1 true WO2009147705A1 (ja) 2009-12-10

Family

ID=41397796

Family Applications (5)

Application Number Title Priority Date Filing Date
PCT/JP2008/001719 WO2009147704A1 (ja) 2007-06-06 2008-07-01 テーブルとテーブル項目の平行編集プログラム
PCT/JP2008/001900 WO2009147705A1 (ja) 2008-06-04 2008-07-15 データベース接続プログラムおよび装置
PCT/JP2009/002490 WO2009147846A1 (ja) 2007-06-06 2009-06-03 データベース並行編集の競合解消方式
PCT/JP2009/002491 WO2009147847A1 (ja) 2007-06-06 2009-06-03 データベース並行編集方式
PCT/JP2009/002501 WO2009147851A1 (ja) 2007-06-06 2009-06-03 データベースのデータ項目の平行編集方式

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/001719 WO2009147704A1 (ja) 2007-06-06 2008-07-01 テーブルとテーブル項目の平行編集プログラム

Family Applications After (3)

Application Number Title Priority Date Filing Date
PCT/JP2009/002490 WO2009147846A1 (ja) 2007-06-06 2009-06-03 データベース並行編集の競合解消方式
PCT/JP2009/002491 WO2009147847A1 (ja) 2007-06-06 2009-06-03 データベース並行編集方式
PCT/JP2009/002501 WO2009147851A1 (ja) 2007-06-06 2009-06-03 データベースのデータ項目の平行編集方式

Country Status (2)

Country Link
JP (1) JPWO2009147705A1 (ja)
WO (5) WO2009147704A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171003B2 (en) 2007-06-06 2012-05-01 Kunio Kamimura Method and apparatus for changing reference of database
JP5356351B2 (ja) * 2010-09-30 2013-12-04 ヤフー株式会社 ストレージサーバ、ファイル同期システム、ファイル衝突処理方法及びプログラム
US9946691B2 (en) * 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
US10105700B2 (en) 2013-07-17 2018-10-23 The Johns Hopkins University Microfluidic chip for analysis of cell motility and methods for using same
CN106156094B (zh) * 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
CN111523291B (zh) * 2020-04-21 2023-04-18 四川川大智胜软件股份有限公司 一种低空雷达多席位空域数据编辑方法
JP7475086B1 (ja) 2023-02-03 2024-04-26 株式会社ミヤワキ 編集方法、編集装置及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233405A (ja) * 1992-02-18 1993-09-10 Hitachi Ltd データベース変更監視方式
JP2000020370A (ja) * 1998-06-29 2000-01-21 Sharp Corp データ同期処理装置
JP2003256258A (ja) * 2002-03-01 2003-09-10 Sharp Corp 情報処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191898A (ja) * 1993-12-27 1995-07-28 Fujitsu Ltd データベース排他制御装置
CA2152528C (en) * 1994-07-29 2000-04-18 Chung-Hwa Herman Rao Distributed systems with replicated files
JP3534596B2 (ja) * 1997-12-05 2004-06-07 富士通株式会社 インテリジェントネットワーク内のデータベースの同期方法と装置
JP4187302B2 (ja) * 1998-03-25 2008-11-26 富士通株式会社 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
JP2000194592A (ja) * 1998-12-25 2000-07-14 Nippon Telegr & Teleph Corp <Ntt> デ―タベ―スシステム、デ―タベ―スアクセスシステム、およびデ―タベ―スアクセスプログラムを記録した記録媒体
JP2000222268A (ja) * 1999-01-29 2000-08-11 Hitachi Ltd 複数のコンピュータ間におけるファイルの同期方法
JP2000284998A (ja) * 1999-03-31 2000-10-13 Ricoh Co Ltd データ更新制御システム、データ更新制御方法、その方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
US6938070B2 (en) * 2001-12-17 2005-08-30 Dassault Systemes Conflict resolution for collaborative work system
JP2007179105A (ja) * 2005-12-26 2007-07-12 World Planning:Kk 共有データベースの制御システム及び共有データベースの制御方法並びにコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233405A (ja) * 1992-02-18 1993-09-10 Hitachi Ltd データベース変更監視方式
JP2000020370A (ja) * 1998-06-29 2000-01-21 Sharp Corp データ同期処理装置
JP2003256258A (ja) * 2002-03-01 2003-09-10 Sharp Corp 情報処理装置

Also Published As

Publication number Publication date
WO2009147851A1 (ja) 2009-12-10
WO2009147847A1 (ja) 2009-12-10
JPWO2009147705A1 (ja) 2011-10-20
WO2009147704A1 (ja) 2009-12-10
WO2009147846A1 (ja) 2009-12-10

Similar Documents

Publication Publication Date Title
US20240169457A1 (en) Systems and methods for executing and delivering electronic documents
US20220006642A1 (en) System and method for content storage and ownership verification
WO2009147705A1 (ja) データベース接続プログラムおよび装置
CN110147369A (zh) 多重租赁数据库系统中的数据分离和写入重新定向
CN110019215A (zh) 多重租赁数据库系统中的键模式管理
CN109947767A (zh) 多重租赁数据库系统中的系统共享类型
US20080162494A1 (en) Coordinated data conversion systems and methods
US20120221944A1 (en) System for digital and remote document revision and execution with document escrow
WO2023016164A1 (zh) 一种基于智能合约的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN112184172B (zh) 电子档案在线移交、接收方法及移交接收系统
CN103843315B (zh) 移动费用解决方案体系架构及方法
CN115114372A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN116756711A (zh) 数据处理方法、装置、设备以及介质
US8250104B2 (en) Life cycle based data coordination
CN105844171B (zh) 用来进行档案同步控制的方法与装置
CN113949632B (zh) 一种区块链的节点动态配置方法及装置
CN112037053B (zh) 一种用于区块链的通用交易解释器及其解释方法
CN111522831B (zh) 一种联盟链账本平台的数据记录方法及系统
US10083313B2 (en) Remote modification of a document database by a mobile telephone device
CN103839205A (zh) 网络凭证及其应用系统
US20240028398A1 (en) System, Method, And Device for Ingesting Data into Remote Computing Environments
US20240028581A1 (en) System, Method, And Device for Uploading Data from Premises to Remote Computing Environments
JP5729860B2 (ja) 中継処理装置及びこれを備えた中継処理システム
Mishra et al. A legal business information system: Implementation process context
JP2007011749A (ja) 情報処理システム、会計情報処理システム

Legal Events

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

Ref document number: 08790202

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2010515675

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 08790202

Country of ref document: EP

Kind code of ref document: A1