WO2018117108A1 - キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法 - Google Patents

キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法 Download PDF

Info

Publication number
WO2018117108A1
WO2018117108A1 PCT/JP2017/045567 JP2017045567W WO2018117108A1 WO 2018117108 A1 WO2018117108 A1 WO 2018117108A1 JP 2017045567 W JP2017045567 W JP 2017045567W WO 2018117108 A1 WO2018117108 A1 WO 2018117108A1
Authority
WO
WIPO (PCT)
Prior art keywords
master data
stored
version
storage unit
server
Prior art date
Application number
PCT/JP2017/045567
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
Application filed by 株式会社ミロク情報サービス filed Critical 株式会社ミロク情報サービス
Publication of WO2018117108A1 publication Critical patent/WO2018117108A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present invention relates to a cache management program, a cache management device, and a cache management method.
  • Patent Document 1 discloses storing cache data using WebStorage and IndexedDB defined in HTML5.
  • the web application is a web application related to accounting, where journal information is entered, the master data is displayed on the web page in order to prompt the user to select master data such as department data required for journal entry.
  • master data such as department data required for journal entry.
  • the present invention has been made in view of these points, and an object thereof is to provide a cache management program, a cache management device, and a cache management method capable of keeping the master data in the latest state.
  • a cache management program includes a computer, a determination unit that determines whether master data is stored as cache information in the storage unit of the computer, and the master data is the storage unit If the version of the master data is the same as the version of the master data stored in a server to which the computer can be connected, it is stored as the cache information in the storage unit. Displayed on a page displayed on the display unit of the computer, and when the version of the master data is older than the version of the master data stored in the server, the master data is stored in the server.
  • the cache management program acquires the master data stored in the server when the master data of the same version as the master data stored in the server is not stored in the storage unit.
  • the cache management program includes the acquisition unit that acquires the master data stored in the server and version information indicating a version of the master data, the acquired master data, and the version information.
  • the display control unit is stored in the storage unit when the determination unit determines that the master data is stored in the storage unit.
  • the page is displayed on the server.
  • the master data stored in the memory may be displayed.
  • the cache management program includes the acquisition unit that acquires the master data stored in the server and version information indicating a version of the master data, the acquired master data, and the version information. Are associated with each other and stored in the storage unit.
  • the display control unit includes the computer in the server. Compared to the version indicated by the version information corresponding to the master data stored in the server, the version indicated by the version information associated with the master data stored in the storage unit transmitted from When it is determined that it is old, it is stored in the server on the page. It may be the master data to display that.
  • the determination unit determines whether or not a plurality of master data is stored in the storage unit as the cache information, and the acquisition unit stores a plurality of master data in the storage unit as the cache information.
  • the version information associated with each of the plurality of master data may be transmitted to the server at a time, and at least one of the plurality of master data may be acquired from the server.
  • the display control unit may display the master data stored in the server on the page when it is determined that the master data is not stored in the storage unit.
  • the display control unit displays the master data stored in the server on the page. It may be displayed.
  • the display control unit displays the master data on the page in response to selection of a first input item provided on the page, and the determination unit displays the master data on the page.
  • the determination unit displays the master data on the page.
  • the determination unit determines whether or not the first master data is stored in the storage unit as the cache information when the display control unit displays the first master data on the page. It may be determined whether second master data scheduled to be displayed by the display control unit after the master data is stored in the storage unit as the cache information.
  • a cache management device is a cache management device that manages a cache, wherein a determination unit that determines whether or not master data is stored as cache information in the storage unit; and the master When it is determined that data is stored in the storage unit, when the version of the master data is the same as the version of the master data stored in a server to which the cache management apparatus can be connected, the cache management The master data stored as the cache information in the storage unit is displayed on a page displayed on the display unit of the apparatus, and the version of the master data is compared with the version of the master data stored in the server When the page is old, the master data stored in the server is displayed on the page. And a display control unit for.
  • a cache management method includes a step of determining whether master data is stored as cache information in a storage unit, which is executed by a computer, and storing the master data in the storage unit.
  • the page displayed on the display unit of the computer The master data stored as the cache information is displayed in the storage unit, and when the version of the master data is older than the version of the master data stored in the server, the master data is stored in the page. Displaying the master data being processed.
  • the master data can be kept up-to-date.
  • FIG. 1 is a diagram illustrating an overview of a display control system S according to the first embodiment.
  • the display control system S includes a web application server 1 and a client terminal 2 as a display control device that can communicate with the web application server 1.
  • the display control system S is a system that causes the client terminal 2 to display a web page provided by the web application server 1.
  • the web application server 1 is a server that provides the client terminal 2 with a web application for providing, for example, an accounting service for individual business owners and SMEs.
  • the web application server 1 includes a control unit and a storage unit.
  • the client terminal 2 is, for example, a computer used by an individual business owner or a small business, and is a personal computer or the like.
  • the web application server 1 provides a service to the client terminal 2 used by one user.
  • the web application server 1 is a client terminal used by each of a plurality of users. 2 may provide a service.
  • the client terminal 2 transmits a web page acquisition request to the web application server 1 in accordance with a user operation ((1) in FIG. 1).
  • the web application server 1 Upon receiving the web page acquisition request, the web application server 1 transmits the web page to the client terminal 2 ((2) in FIG. 1).
  • the web page includes information for displaying the master data.
  • the client terminal 2 displays the received web page ((3) in FIG. 1).
  • the client terminal 2 checks whether the master data to be displayed on the web page is stored in its own storage unit as cache information ((4) in FIG. 1). Further, when the master data is stored in its own storage unit, the client terminal 2 checks whether the version of the master data is the latest version ((5) in FIG. 1).
  • the client terminal 2 acquires the master data in the web application server 1 when the master data is not stored in its own storage unit or when the version of the master data stored in the storage unit is not the latest version.
  • the request is transmitted ((6) in FIG. 1).
  • the web application server 1 When receiving the master data acquisition request from the client terminal 2, the web application server 1 transmits the latest master data stored in the web application server 1 to the client terminal 2 ((7) in FIG. 1). The client terminal 2 acquires the latest version of the master data and displays it on the web page ((8) in FIG. 1). By doing in this way, the client terminal 2 can keep the master data displayed on a web page in the latest state.
  • FIG. 2 is a diagram illustrating a configuration of the client terminal 2 according to the first embodiment.
  • the client terminal 2 includes a display unit 21, an input unit 22, a storage unit 23, and a control unit 24.
  • the display unit 21 includes, for example, a liquid crystal display or an organic EL (Electro-Luminescence) display.
  • the input unit 22 is, for example, a keyboard or a mouse, and receives an operation input from the user of the client terminal 2.
  • the storage unit 23 is a storage medium such as a ROM (Read Only Memory), a RAM (Random Access Memory), and a hard disk, for example.
  • the storage unit 23 may include a non-temporary tangible recording medium that stores a program executed by the control unit 24.
  • storage part 23 memorize
  • the cache information is stored by, for example, HTML5 IndexedDB.
  • the master data is stored in the storage unit 23 in association with version information indicating the version of the master data.
  • the control unit 24 is, for example, a CPU (Central Processing Unit).
  • the control unit 24 controls functions related to the client terminal 2 by executing various programs stored in the storage unit 23 and programs acquired from external devices via a communication network.
  • the control unit 24 functions as a page acquisition unit 241, a display control unit 242, a determination unit 243, a master data acquisition unit 244, and a storage control unit 245.
  • FIG. 3 is a flowchart showing the flow of processing in the client terminal 2 according to the first embodiment.
  • the page acquisition unit 241 acquires a web page corresponding to the web application from the web application server 1 in response to receiving a web page acquisition operation corresponding to the web application via the input unit 22 ( S10).
  • the page acquisition unit 241 is realized by a browser program (hereinafter referred to as a browser) stored in the storage unit 23.
  • the page acquisition unit 241 receives an operation for designating the address of the web application server 1 via a browser screen displayed on the display unit 21.
  • the page acquisition unit 241 transmits a web page acquisition request to the web application server 1.
  • the web application server 1 When the web application server 1 receives a web page acquisition request from the client terminal 2, the web application server 1 acquires a web page stored in the storage unit of the web application server 1.
  • the web page includes a cache management program that causes the control unit 24 of the client terminal 2 to function as the display control unit 242, the determination unit 243, the master data acquisition unit 244, and the storage control unit 245.
  • FIG. 4 is a diagram illustrating an example of the web page 211 according to the first embodiment.
  • a web page 211 shown in FIG. 4 is a page for inputting information related to a sales slip issued by a company.
  • the web page 211 includes a plurality of input items that accept input of information. At least one of the plurality of input items is a master data input item (first input item) for selecting and inputting any of the plurality of master data.
  • the master data is data that is given to the accounting information in a company that uses the accounting service, and is data that is not updated frequently.
  • the master data is a customer code, a department code, or a transaction classification code.
  • the master data may be different for each company fiscal year.
  • the department code as master data may be stored as cache information in the storage unit 23 for each fiscal year of the company.
  • the customer, department, transaction category, product code, and unit are the master data input items.
  • the master data input item is selected, the master data is displayed in the master data display area 211A.
  • the user can easily select the master data to be input while confirming the master data displayed in the master data display area 211A.
  • the web application server 1 transmits the acquired web page to the client terminal 2.
  • the page acquisition unit 241 acquires a web page by receiving the web page from the web application server 1.
  • the browser executes a cache management program included in the web page acquired by the page acquisition unit 241 (S20).
  • the control unit 24 operates as a display control unit 242, a determination unit 243, a master data acquisition unit 244, and a storage control unit 245.
  • the display control unit 242 displays the web page acquired by the page acquisition unit 241 on the browser screen (S30).
  • the display control unit 242 receives an operation in the web page through the input unit 22 (S40). For example, the display control unit 242 receives input of information for each of a plurality of items included in the web page 211 illustrated in FIG.
  • the determination unit 243 determines whether or not a master data input item has been selected by a user operation via the input unit 22 (S50). If the determination unit 243 determines that the master data input item is selected, the process proceeds to S60. If the determination unit 243 determines that the master data input item is not selected, the process proceeds to S40.
  • the determination unit 243, the master data acquisition unit 244, and the storage control unit 245 execute a master data acquisition process for acquiring the latest master data (S60).
  • the master data to be acquired is a plurality of master data that are candidates to be input to the master data input item.
  • the master data to be acquired is a transaction classification master that is a candidate to be input to the transaction classification.
  • FIG. 5 is a flowchart showing a process flow in the master data acquisition process according to the first embodiment.
  • the master data acquisition process is executed when a master data input item provided in a web page is selected and the display control unit 242 displays master data corresponding to the item on the web page. .
  • the determination unit 243 determines whether or not the browser supports cache management (S610).
  • the cache management program includes correspondence information that associates browser identification information corresponding to the Indexed DB used for cache management and the browser version.
  • the determination unit 243 specifies the identification information and version of the browser displaying the web page.
  • the determination unit 243 determines whether or not the browser supports cache management based on the correspondence information included in the cache management program and the identified browser identification information and version. If the determination unit 243 determines that the browser supports cache management, the process proceeds to S620. If the determination unit 243 determines that the browser does not support cache management, the process proceeds to S680.
  • the determination unit 243 determines whether or not the master data to be acquired is stored in the storage unit 23 as cache information (S620). If the determination unit 243 determines that the master data is stored in the storage unit 23, the determination unit 243 moves the process to S630. If the determination unit 243 determines that the master data is not stored in the storage unit 23, the determination unit 243 moves the process to S680.
  • the master data acquisition unit 244 determines whether or not the acquisition target master data is damaged (S630).
  • the master data to be acquired includes error detection information, and the master data acquisition unit 244 generates error detection information based on the master data to be acquired.
  • the master data acquisition unit 244 determines that the master data is not damaged when the generated error detection information matches the error detection information included in the master data in advance.
  • the master data acquisition unit 244 determines that the master data is damaged when the generated error detection information does not match the error detection information included in the master data in advance.
  • the process proceeds to S680. If the master data acquisition unit 244 determines that the acquisition target master data is not damaged, the process proceeds to S640. In this way, the client terminal 2 can acquire the master data from the web application server 1 when the master data is damaged. Subsequently, the master data acquisition unit 244 acquires version information of the master data associated with the acquisition target master data and stored in the storage unit 23 (S640).
  • the master data acquisition unit 244 acquires the latest version information corresponding to the acquisition target master data stored in the web application server 1 from the web application server 1 (S650). For example, the master data acquisition unit 244 transmits to the web application server 1 a version acquisition request that includes the identification information of the master data to be acquired and requests acquisition of the latest version information.
  • the web application server 1 acquires the identification information of the master data included in the request, and acquires the latest version information of the master data.
  • the web application server 1 transmits the latest version information to the client terminal 2.
  • the master data acquisition unit 244 receives the latest version information transmitted by the web application server 1.
  • the master data acquisition unit 244 determines whether or not the master data stored in the storage unit 23 is the latest master data based on the version information acquired in S640 and S650 (S660). Specifically, the master data acquisition unit 244 determines whether or not the version indicated by the version information acquired from the storage unit 23 is older than the version indicated by the version information acquired from the web application server 1. If the master data acquisition unit 244 determines that the master data stored in the storage unit 23 is the latest master data, the master data acquisition unit 244 proceeds to S670, and the master data stored in the storage unit 23 is not the latest master data. If it is determined that there is no, the process proceeds to S680.
  • the master data acquisition unit 244 acquires the master data to be acquired from the storage unit 23. That is, the master data acquisition unit 244, when master data of the same version as the master data stored in the web application server 1 is stored in the storage unit 23, the master data stored as cache information in the storage unit 23 Get the data.
  • the master data acquisition unit 244 acquires the master data to be acquired from the web application server 1.
  • the master data acquisition unit 244 acquires master data stored in the web application server 1 when master data of the same version as the master data stored in the web application server 1 is not stored in the storage unit 23. .
  • the master data to be acquired is when the browser does not support cache management. If the data is not stored in the storage unit 23, the master data stored in the storage unit 23 is damaged, or the version of the master data stored in the storage unit 23 is stored in the web application server 1. It is either older than the latest version of the relevant master data.
  • the master data acquisition unit 244 transmits the master acquisition request that includes the identification information of the master data to be acquired and requests acquisition of the master data to the web application server 1.
  • the web application server 1 acquires identification information of the master data included in the request, acquires the master data, and acquires version information of the master data.
  • the web application server 1 transmits the acquired master data and version information to the client terminal 2.
  • the master data acquisition unit 244 receives master data and version information transmitted from the web application server 1.
  • the storage control unit 245 stores the acquired master data and version information in the storage unit 23 in association with each other (S690).
  • the display control unit 242 displays the acquired master data in the master data display area of the web page in response to selection of a master data input item provided on the web page (S70).
  • the display control unit 242 determines that the version of the master data stored in the storage unit 23 is the web
  • the master data stored as cache information in the storage unit 23 is displayed on the web page.
  • the display control unit 242 is stored in the web application server 1 when the version of the master data stored in the storage unit 23 is older than the version of the master data stored in the web application server 1. Display master data on a web page. Moreover, the display control part 242 displays the master data memorize
  • the user can select the master data to be input while confirming the master data displayed on the web page when inputting the master data in the master data input item.
  • the display control unit 242 determines whether or not a display end operation for ending the display of the web page has been received from the user (S80). If the display control unit 242 determines that the display end operation has been received, the display control unit 242 ends the process according to this flowchart. If the display control unit 242 determines that the display end operation has not been received, the process proceeds to S40.
  • the determination unit 243 stores the master data as cache information when the display control unit 242 displays the master data on the web page, that is, when a master data input item is selected. Although it is determined whether or not it is stored in the memory 23, the present invention is not limited to this. For example, when the display control unit 242 displays the first master data on the web page, the determination unit 243 determines whether or not the first master data is stored in the storage unit 23 as cache information, and the first It may be determined whether the second master data scheduled to be displayed by the display control unit 242 after one master data is stored in the storage unit 23 as cache information.
  • the determination unit 243 determines whether the master data (customer master) corresponding to the customer is the latest version in response to selection of the input item corresponding to the customer. In addition, it may be determined whether the master data (department master) corresponding to the department is the latest version.
  • the determination unit 243 determines whether or not the latest customer master is stored in the storage unit 23 as cache information in response to selection of an input item corresponding to the customer, and the latest department It may be determined whether or not the master is stored in the storage unit 23 as cache information.
  • the determination unit 243 acquires the latest department master from the web application server 1 when the latest department master is not stored in the storage unit 23 at the timing when the input item corresponding to the customer is selected. Alternatively, it may be stored in the storage unit 23 as cache information. In this way, the latest department master can be acquired from the storage unit 23 and displayed at high speed when the input item corresponding to the department is selected.
  • the determination unit 243 specifies a master input item that is surely input in the web page in response to the web page being displayed, and whether or not master data corresponding to the item is stored in the storage unit 23. It may be determined.
  • the client terminal 2 determines that the master data is stored in the storage unit 23
  • the version of the master data is stored in the web application server 1.
  • the master data stored as cache information in the storage unit 23 is displayed on the web page displayed on the display unit 21, and the master data version is stored in the web application server 1.
  • the master data stored in the web application server 1 is displayed on the web page.
  • the client terminal 2 acquires the latest version information of the master data to be acquired from the web application server 1 and determines that the master data stored in the storage unit 23 is old based on the version information. Then, master data was acquired from the web application server 1. However, when acquiring master data by this procedure, the client terminal 2 accesses the web application server 1 twice, and the time until acquiring the master data becomes long.
  • the web application server 1 determines whether the cached master data is the latest.
  • the display control unit 242 of the client terminal 2 stores the storage unit 23 transmitted from the client terminal 2 in the web application server 1 when the determination unit 243 determines that the master data is stored in the storage unit 23.
  • the version indicated by the version information associated with the master data stored in is determined to be older than the version indicated by the version information corresponding to the latest master data stored in the web application server 1
  • the master data stored in the web application server 1 is displayed on the web page.
  • FIG. 6 is a flowchart showing a process flow in the master data acquisition process according to the second embodiment. Since the processing from S610 to S640 is the same as the processing from S610 to S640 in the master data acquisition processing according to the first embodiment, the description thereof is omitted.
  • the master data acquisition unit 244 transmits the version confirmation information to the web application server 1 (S651).
  • the version confirmation information is information for requesting the web application server 1 to confirm whether the master data to be acquired stored in the storage unit 23 is the latest.
  • the version confirmation information includes the identification information of the master data to be acquired and the version information of the master data acquired in S640.
  • the control unit of the web application server 1 When receiving the version confirmation information, the control unit of the web application server 1 confirms whether the acquisition target master data stored in the storage unit 23 is the latest. Then, when the acquisition target master data stored in the storage unit 23 is not the latest, the control unit of the web application server 1 transmits the latest master data and the version information of the master data to the client terminal 2. To do.
  • FIG. 7 is a flowchart showing a flow of processing in the web application server 1 when the version confirmation information according to the second embodiment is received.
  • the control unit of the web application server 1 acquires master data identification information and version information of the master data included in the version confirmation information (S110). Subsequently, the control unit of the web application server 1 acquires version information indicating the latest master data version corresponding to the master data identification information acquired in S110 (S120).
  • control unit of the web application server 1 determines whether or not the version indicated by the version information acquired in S110 is different from the version indicated by the version information acquired in S120 (S130). If the control unit of the web application server 1 determines that the versions are different, it moves the process to S140, and if it determines that the versions are the same, it moves the process to S150.
  • control unit of the web application server 1 transmits response information including the latest master data and version information of the master data to the client terminal 2. Thereby, the web application server 1 transmits the latest master data and the version information of the master data to the client terminal 2 when the acquisition target master data stored in the storage unit 23 is old.
  • control unit of the web application server 1 transmits response information including information indicating that the master data stored as cache data in the storage unit 23 is not updated to the client terminal 2.
  • the master data acquisition unit 244 of the client terminal 2 receives the response information from the web application server 1 (S652). Subsequently, the master data acquisition unit 244 determines whether or not master data is received from the web application server 1 (S661). Specifically, the master data acquisition unit 244 determines whether or not the master data is received from the web application server 1 by determining whether or not the master information is included in the response information received in S652. . If the master data acquisition unit 244 determines that the master data has been received from the web application server 1, the process proceeds to S690. If the master data acquisition unit 244 determines that the master data has not been received from the web application server 1, the process proceeds to S670.
  • the master data acquisition unit 244 transmits the version confirmation information including the version information of the master data to the web application server 1, but is not limited thereto.
  • the master data acquisition unit 244 displays version confirmation information including version information associated with each of the plurality of master data. 1, and at least one of a plurality of master data may be acquired from the web application server 1.
  • the determination unit 243 determines that the latest customer master is the cache information in response to selection of an input item corresponding to the customer. Is stored in the storage unit 23, and it is determined whether the latest department master is stored in the storage unit 23 as cache information.
  • the master data acquisition unit 244 corresponds to the version information corresponding to the customer master and the department master. Version confirmation information including version information to be transmitted may be transmitted to the web application server 1. By doing in this way, the client terminal 2 can acquire a plurality of master data from the web application server 1 in a short time.
  • the client terminal 2 when the master data is stored in the storage unit 23, the client terminal 2 according to the second embodiment stores the data in the storage unit 23 transmitted from the client terminal 2 in the web application server 1. If it is determined that the version indicated by the version information associated with the master data stored is older than the version indicated by the version information corresponding to the latest master data stored in the web application server 1, The master data stored in the web application server 1 is displayed on the page. By doing in this way, the client terminal 2 can keep the master data displayed on the web page in the latest state as in the first embodiment.
  • the web application server 1 determines that the master data to be acquired is old based on the master data identification information and the version information included in the version confirmation information received from the client terminal 2, the web application server 1 sets the latest master data to the client Transmit to terminal 2. By doing in this way, the client terminal 2 only transmits the version confirmation information to the web application server 1, and when the version of the master data stored in the storage unit 23 is old, the latest information is sent from the web application server 1. Version master data can be acquired. Therefore, the client terminal 2 can acquire master data from the web application server 1 in a short time.
  • SYMBOLS 1 Web application server, 2 ... Client terminal, 21 ... Display part, 22 ... Input part, 23 ... Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

クライアント端末2は、記憶部23に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部243と、マスタデータが記憶部23に記憶されていると判定された場合において、マスタデータのバージョンが、ウェブアプリサーバ1に記憶されているマスタデータのバージョンと同じとき、記憶部23にキャッシュ情報として記憶されているマスタデータを表示部21に表示されるウェブページに表示させ、マスタデータのバージョンが、ウェブアプリサーバ1に記憶されているマスタデータのバージョンに比べて古いとき、ウェブアプリサーバ1に記憶されているマスタデータをウェブページに表示させる表示制御部242とを備える。

Description

キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法
 本発明は、キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法に関する。
 従来、クライアント端末において、ウェブアプリケーションにおける表示速度を向上させることを目的として、サーバから取得したデータをキャッシュデータとして記憶することが行われている。例えば、特許文献1には、HTML5において規定されているWebStorageやIndexedDBを利用してキャッシュデータを記憶することが開示されている。
特開2015-210663号公報
 ところで、ウェブアプリケーションが仕訳情報等の入力が行われる会計に関するウェブアプリケーションである場合、仕訳に必要となる部門データ等のマスタデータをユーザに迅速に選択させるために、マスタデータをウェブページ上に表示させることがある。
 キャッシュデータとしてマスタデータを記憶させる場合には、常に最新の情報であることが求められるものの、特許文献1では、端末上にキャッシュデータとして記憶されているマスタデータを常に最新の状態に保つことについて考慮されておらず、最新の情報が維持されないという問題がある。
 そこで、本発明はこれらの点に鑑みてなされたものであり、マスタデータを最新の状態に保つことができるキャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法を提供することを目的とする。
 本発明の第1の態様に係るキャッシュ管理プログラムは、コンピュータを、前記コンピュータの記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部、及び前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記記憶部に前記キャッシュ情報として記憶されているマスタデータを前記コンピュータの表示部に表示されるページに表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記サーバに記憶されている前記マスタデータを前記ページに表示させる表示制御部、として機能させる。
 前記キャッシュ管理プログラムは、前記コンピュータを、前記記憶部に、前記サーバに記憶されているマスタデータと同じバージョンのマスタデータが記憶されていない場合に、前記サーバに記憶されている前記マスタデータを取得する取得部、及び、取得された前記マスタデータを前記記憶部に記憶させる記憶制御部として機能させ、前記表示制御部は、前記記憶制御部によって前記記憶部に記憶された前記マスタデータを前記ページに表示させてもよい。
 前記キャッシュ管理プログラムは、前記コンピュータを、前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合において、前記記憶部に記憶されている前記マスタデータに関連付けられている前記バージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古い場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させてもよい。
 前記キャッシュ管理プログラムは、前記コンピュータを、前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合に、前記サーバにおいて、前記コンピュータから送信された、前記記憶部に記憶されている前記マスタデータに関連付けられているバージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古いと判定された場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させてもよい。
 前記判定部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定し、前記取得部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されている場合に、複数の前記マスタデータのそれぞれに関連付けられている前記バージョン情報を前記サーバに一度に送信し、前記サーバから複数の前記マスタデータの少なくともいずれかを取得してもよい。
 前記表示制御部は、前記マスタデータが前記記憶部に記憶されていないと判定された場合に、前記サーバに記憶されている前記マスタデータを前記ページに表示させてもよい。
 前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると判定された場合において、当該マスタデータが破損しているとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させてもよい。
 前記表示制御部は、前記ページに設けられている第1入力項目が選択されたことに応じて、前記マスタデータを前記ページに表示させ、前記判定部は、前記表示制御部が前記マスタデータを前記ページに表示させる場合に、当該マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定してもよい。
 前記判定部は、前記表示制御部が第1マスタデータを前記ページに表示させる場合に、第1マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定するとともに、当該第1マスタデータの後に前記表示制御部によって表示される予定の第2マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定してもよい。
 本発明の第2の態様に係るキャッシュ管理装置は、キャッシュを管理するキャッシュ管理装置であって、記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部と、前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記キャッシュ管理装置が接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記キャッシュ管理装置の表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる表示制御部と、を備える。
 本発明の第3の態様に係るキャッシュ管理方法は、コンピュータが実行する、記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定するステップと、前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記コンピュータの表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させるステップと、を備える。
 本発明によれば、マスタデータを最新の状態に保つことができるという効果を奏する。
第1実施形態に係る表示制御システムの概要を示す図である。 第1実施形態に係るクライアント端末の構成を示す図である。 第1実施形態に係るクライアント端末における処理の流れを示すフローチャートである。 第1実施形態に係るウェブページの一例を示す図である。 第1実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。 第2実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。 第2実施形態に係るバージョン確認情報を受信したときのウェブアプリサーバにおける処理の流れを示すフローチャートである。
<第1実施形態>
[ウェブアプリサーバ1の概要]
 図1は、第1実施形態に係る表示制御システムSの概要を示す図である。
 表示制御システムSは、ウェブアプリサーバ1と、ウェブアプリサーバ1と通信可能な表示制御装置としてのクライアント端末2とを備える。表示制御システムSは、クライアント端末2に、ウェブアプリサーバ1が提供するウェブページを表示させるシステムである。
 ウェブアプリサーバ1は、例えば、個人事業主や中小企業向けの会計サービスを提供するためのウェブアプリケーションをクライアント端末2に提供するサーバである。ウェブアプリサーバ1は、制御部と記憶部とを備えている。クライアント端末2は、例えば、個人事業主や中小企業が使用するコンピュータであり、パーソナルコンピュータ等である。
 なお、図1の説明では、ウェブアプリサーバ1が、一のユーザが使用するクライアント端末2にサービスを提供する例を説明するが、ウェブアプリサーバ1は、複数のユーザのそれぞれが使用するクライアント端末2に対してサービスを提供してもよいものとする。
 クライアント端末2は、ユーザの操作に応じて、ウェブページの取得リクエストをウェブアプリサーバ1に送信する(図1の(1))。ウェブアプリサーバ1は、ウェブページの取得リクエストを受信すると、ウェブページをクライアント端末2に送信する(図1の(2))。ウェブページには、マスタデータを表示させるための情報が含まれている。
 クライアント端末2は、受信したウェブページを表示する(図1の(3))。クライアント端末2は、ウェブページに表示させるマスタデータがキャッシュ情報として自身の記憶部に記憶されているか確認する(図1の(4))。また、クライアント端末2は、自身の記憶部にマスタデータが記憶されている場合に、当該マスタデータのバージョンが最新のバージョンであるかを確認する(図1の(5))。クライアント端末2は、自身の記憶部にマスタデータが記憶されていない場合、又は、記憶部に記憶されているマスタデータのバージョンが最新のバージョンではない場合に、ウェブアプリサーバ1にマスタデータの取得リクエストを送信する(図1の(6))。
 ウェブアプリサーバ1は、クライアント端末2からマスタデータの取得リクエストを受信すると、ウェブアプリサーバ1に記憶されている最新のマスタデータをクライアント端末2に送信する(図1の(7))。クライアント端末2は、最新のバージョンのマスタデータを取得してウェブページに表示させる(図1の(8))。このようにすることで、クライアント端末2は、ウェブページに表示させるマスタデータを最新の状態に保つことができる。
[クライアント端末2の構成]
 続いて、クライアント端末2の構成について説明する。図2は、第1実施形態に係るクライアント端末2の構成を示す図である。
 クライアント端末2は、表示部21と、入力部22と、記憶部23と、制御部24とを備える。
 表示部21は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等により構成される。
 入力部22は、例えば、キーボードやマウスであり、クライアント端末2のユーザから操作入力を受け付ける。
 記憶部23は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)及びハードディスク等の記憶媒体である。記憶部23は、制御部24が実行するプログラムを記憶する、一時的でない有形の記録媒体を有してもよい。また、記憶部23は、キャッシュ情報として、ウェブアプリサーバ1から取得したウェブページに表示させるマスタデータを記憶する。キャッシュ情報は、例えば、HTML5のIndexedDBによって記憶される。マスタデータは、当該マスタデータのバージョンを示すバージョン情報と関連付けて記憶部23に記憶されている。
 制御部24は、例えばCPU(Central Processing Unit)である。制御部24は、記憶部23に記憶されている各種プログラムや、通信ネットワークを介して外部機器から取得したプログラムを実行することにより、クライアント端末2に係る機能を制御する。制御部24は、ページ取得部241、表示制御部242、判定部243、マスタデータ取得部244、及び記憶制御部245として機能する。
[クライアント端末における処理の流れ]
 以下に、制御部24が備える機能の詳細について、クライアント端末2における処理の流れを示すフローチャートを参照しながら説明する。図3は、第1実施形態に係るクライアント端末2における処理の流れを示すフローチャートである。
 まず、ページ取得部241は、入力部22を介して、ウェブアプリケーションに対応するウェブページの取得操作を受け付けたことに応じて、ウェブアプリサーバ1から、ウェブアプリケーションに対応するウェブページを取得する(S10)。
 例えば、ページ取得部241は、記憶部23に記憶されているブラウザプログラム(以下、ブラウザという。)によって実現される。例えば、ページ取得部241は、表示部21に表示されているブラウザの画面を介してウェブアプリサーバ1のアドレスを指定する操作を受け付ける。ページ取得部241は、ウェブアプリサーバ1のアドレスを指定する操作を受け付けると、ウェブページの取得リクエストをウェブアプリサーバ1に送信する。
 ウェブアプリサーバ1は、クライアント端末2からウェブページの取得リクエストを受信すると、ウェブアプリサーバ1の記憶部に記憶されているウェブページを取得する。ここで、ウェブページには、クライアント端末2の制御部24を、表示制御部242、判定部243、マスタデータ取得部244、及び記憶制御部245として機能させるキャッシュ管理プログラムが含まれている。
 図4は、第1実施形態に係るウェブページ211の例を示す図である。図4に示すウェブページ211は、企業において発行された売上伝票に関する情報を入力するページである。図4に示すように、ウェブページ211には、情報の入力を受け付ける複数の入力項目が含まれている。複数の入力項目の少なくともいずれかは、複数のマスタデータのいずれかを選択して入力するためのマスタデータ入力項目(第1入力項目)である。
 ここで、マスタデータは、会計サービスを利用する企業において、会計情報に対して付与されるデータであり、更新頻度が低いデータである。例えば、マスタデータは、得意先コードや部門コードや取引区分コードである。これらのマスタデータを記憶部23に記憶させることにより、表示制御部242は、マスタデータをウェブページに表示させるタイミングとなった時点から、実際にマスタデータがウェブページに表示されるまでの時間を、ウェブアプリサーバ1から取得して表示させる場合に比べて短縮することができる。
 なお、マスタデータは、企業の会計年度ごとに異なっていてもよい。この場合、例えば、マスタデータとしての部門コードは、企業の会計年度ごとに、記憶部23にキャッシュ情報として記憶されるようにしてもよい。
 図4に示す例では、得意先、部門、取引区分、商品コード、単位がマスタデータ入力項目である。マスタデータ入力項目が選択されると、マスタデータ表示領域211Aに、マスタデータが表示される。ユーザは、マスタデータ入力項目にマスタデータを入力する場合に、マスタデータ表示領域211Aに表示されているマスタデータを確認しながら入力すべきマスタデータを容易に選択することができる。
 図3に説明を戻す。ウェブアプリサーバ1は、取得したウェブページをクライアント端末2に送信する。
 ページ取得部241は、ウェブアプリサーバ1からウェブページを受信することによりウェブページを取得する。
 ブラウザは、ページ取得部241が取得したウェブページに含まれるキャッシュ管理プログラムを実行する(S20)。これにより、制御部24は、表示制御部242、判定部243、マスタデータ取得部244及び記憶制御部245として動作する。
 表示制御部242は、ページ取得部241が取得したウェブページをブラウザの画面に表示させる(S30)。表示制御部242は、入力部22を介してウェブページ内の操作を受け付ける(S40)。例えば、表示制御部242は、図4に示すウェブページ211に含まれている複数の項目のそれぞれに対する情報の入力を受け付ける。
 続いて、判定部243は、入力部22を介したユーザの操作によって、マスタデータ入力項目が選択されたか否かを判定する(S50)。判定部243は、マスタデータ入力項目が選択されたと判定すると、S60に処理を移し、マスタデータ入力項目が選択されていないと判定すると、S40に処理を移す。
 判定部243、マスタデータ取得部244、及び記憶制御部245は、最新のマスタデータを取得するマスタデータ取得処理を実行する(S60)。ここで、取得対象のマスタデータは、マスタデータ入力項目に入力される候補となる複数のマスタデータである。図4に示すウェブページ211において、マスタデータ入力項目として取引区分が選択された場合、取得対象のマスタデータは、取引区分に入力される候補となる取引区分マスタとなる。
 図5は、第1実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。上述したように、マスタデータ取得処理は、ウェブページに設けられているマスタデータ入力項目が選択され、表示制御部242が、当該項目に対応するマスタデータをウェブページに表示させる場合に実行される。
 まず、判定部243は、ブラウザがキャッシュ管理に対応しているか否かを判定する(S610)。例えば、キャッシュ管理プログラムには、キャッシュ管理に用いられるIndexedDBに対応するブラウザの識別情報と、ブラウザのバージョンとを関連付けた対応情報が含まれている。判定部243は、ウェブページを表示しているブラウザの識別情報とバージョンとを特定する。判定部243は、キャッシュ管理プログラムに含まれている対応情報と、特定されたブラウザの識別情報及びバージョンとに基づいて、ブラウザがキャッシュ管理に対応しているか否かを判定する。判定部243は、ブラウザがキャッシュ管理に対応していると判定すると、S620に処理を移す。判定部243は、ブラウザがキャッシュ管理に対応していないと判定すると、S680に処理を移す。
 続いて、判定部243は、取得対象のマスタデータがキャッシュ情報として記憶部23に記憶されているか否かを判定する(S620)。判定部243は、マスタデータが記憶部23に記憶されていると判定すると、S630に処理を移し、マスタデータが記憶部23に記憶されていないと判定すると、S680に処理を移す。
 続いて、マスタデータ取得部244は、取得対象のマスタデータが破損しているか否かを判定する(S630)。例えば、取得対象のマスタデータには、誤り検出情報が含まれており、マスタデータ取得部244は、取得対象のマスタデータに基づいて誤り検出情報を生成する。マスタデータ取得部244は、生成された誤り検出情報と、予めマスタデータに含まれている誤り検出情報とが一致する場合には、マスタデータが破損していないと判定する。マスタデータ取得部244は、生成された誤り検出情報と、予めマスタデータに含まれている誤り検出情報とが一致しない場合には、マスタデータが破損していると判定する。
 マスタデータ取得部244は、取得対象のマスタデータが破損していると判定すると、S680に処理を移し、取得対象のマスタデータが破損していないと判定すると、S640に処理を移す。このようにすることで、クライアント端末2は、マスタデータの破損時に、マスタデータをウェブアプリサーバ1から取得することができる。
 続いて、マスタデータ取得部244は、取得対象のマスタデータと関連付けられて記憶部23に記憶されているマスタデータのバージョン情報を取得する(S640)。
 続いて、マスタデータ取得部244は、ウェブアプリサーバ1に記憶されている、取得対象のマスタデータに対応する最新のバージョン情報をウェブアプリサーバ1から取得する(S650)。例えば、マスタデータ取得部244は、取得対象のマスタデータの識別情報を含み、最新のバージョン情報の取得を要求するバージョン取得リクエストをウェブアプリサーバ1に送信する。ウェブアプリサーバ1は、バージョン取得リクエストを受信すると、当該リクエストに含まれているマスタデータの識別情報を取得し、当該マスタデータの最新のバージョン情報を取得する。ウェブアプリサーバ1は、最新のバージョン情報をクライアント端末2に送信する。マスタデータ取得部244は、ウェブアプリサーバ1が送信した最新のバージョン情報を受信する。
 続いて、マスタデータ取得部244は、S640及びS650において取得されたバージョン情報に基づいて、記憶部23に記憶されているマスタデータが最新のマスタデータであるか否かを判定する(S660)。具体的には、マスタデータ取得部244は、記憶部23から取得したバージョン情報が示すバージョンが、ウェブアプリサーバ1から取得したバージョン情報が示すバージョンに比べて古いか否かを判定する。マスタデータ取得部244は、記憶部23に記憶されているマスタデータが最新のマスタデータであると判定すると、S670に処理を移し、記憶部23に記憶されているマスタデータが最新のマスタデータではないと判定すると、S680に処理を移す。
 S670において、マスタデータ取得部244は、取得対象のマスタデータを記憶部23から取得する。すなわち、マスタデータ取得部244は、ウェブアプリサーバ1に記憶されているマスタデータと同じバージョンのマスタデータが記憶部23に記憶されている場合に、記憶部23にキャッシュ情報として記憶されているマスタデータを取得する。
 S680において、マスタデータ取得部244は、取得対象のマスタデータをウェブアプリサーバ1から取得する。マスタデータ取得部244は、ウェブアプリサーバ1に記憶されているマスタデータと同じバージョンのマスタデータが記憶部23に記憶されていない場合に、ウェブアプリサーバ1に記憶されているマスタデータを取得する。
 ここで、ウェブアプリサーバ1に記憶されているマスタデータと同じバージョンのマスタデータが記憶部23に記憶されていない場合とは、ブラウザがキャッシュ管理に対応していない場合、取得対象のマスタデータが記憶部23に記憶されていない場合、記憶部23に記憶されているマスタデータが破損している場合、又は、記憶部23に記憶されているマスタデータのバージョンがウェブアプリサーバ1に記憶されている当該マスタデータの最新のバージョンに比べて古い場合のいずれかである。
 例えば、マスタデータ取得部244は、取得対象のマスタデータの識別情報を含み、マスタデータの取得を要求するマスタ取得リクエストをウェブアプリサーバ1に送信する。ウェブアプリサーバ1は、マスタ取得リクエストを受信すると、当該リクエストに含まれているマスタデータの識別情報を取得し、当該マスタデータを取得するとともに、当該マスタデータのバージョン情報とを取得する。ウェブアプリサーバ1は、取得したマスタデータ及びバージョン情報をクライアント端末2に送信する。マスタデータ取得部244は、ウェブアプリサーバ1から送信されたマスタデータ及びバージョン情報を受信する。
 続いて、記憶制御部245は、取得されたマスタデータとバージョン情報とを関連付けて記憶部23に記憶させる(S690)。
 図3に説明を戻す。表示制御部242は、ウェブページに設けられているマスタデータ入力項目が選択されたことに応じて、取得されたマスタデータを当該ウェブページのマスタデータ表示領域に表示する(S70)。
 ここで、表示制御部242は、判定部243によって取得対象のマスタデータが記憶部23に記憶されていると判定された場合において、記憶部23に記憶されている当該マスタデータのバージョンが、ウェブアプリサーバ1に記憶されているマスタデータのバージョンと同じとき、記憶部23にキャッシュ情報として記憶されているマスタデータをウェブページに表示させる。
 また、表示制御部242は、記憶部23に記憶されているマスタデータのバージョンが、ウェブアプリサーバ1に記憶されているマスタデータのバージョンに比べて古いとき、ウェブアプリサーバ1に記憶されているマスタデータをウェブページに表示させる。また、表示制御部242は、記憶部23に記憶されているマスタデータが破損しているとき、ウェブアプリサーバ1に記憶されているマスタデータをウェブページに表示させる。
 このようにすることで、ユーザは、マスタデータ入力項目にマスタデータを入力する場合に、ウェブページに表示されているマスタデータを確認しながら入力すべきマスタデータを選択することができる。
 続いて、表示制御部242は、ユーザから、ウェブページの表示を終了する表示終了操作を受け付けたか否かを判定する(S80)。表示制御部242は、表示終了操作を受け付けたと判定すると、本フローチャートに係る処理を終了し、表示終了操作を受け付けていないと判定すると、S40に処理を移す。
[変形例]
 なお、第1実施形態において、判定部243は、表示制御部242がマスタデータをウェブページに表示させる場合、すなわち、マスタデータ入力項目が選択された場合に、当該マスタデータがキャッシュ情報として記憶部23に記憶されているか否かを判定したが、これに限らない。例えば、判定部243は、表示制御部242が第1マスタデータをウェブページに表示させる場合に、第1マスタデータがキャッシュ情報として記憶部23に記憶されているか否かを判定するとともに、当該第1マスタデータの後に表示制御部242によって表示される予定の第2マスタデータがキャッシュ情報として記憶部23に記憶されているか否かを判定してもよい。
 例えば、図4に示すウェブページ211では、売上伝票の売上日が入力された後、得意先が入力され、その後、売上に関連する部門が入力される。このため、判定部243は、得意先に対応する入力項目が選択されたことに応じて、判定部243は、得意先に対応するマスタデータ(得意先マスタ)が最新のバージョンであるかを判定するとともに、部門に対応するマスタデータ(部門マスタ)が最新のバージョンであるかを判定してもよい。
 また、判定部243は、得意先に対応する入力項目が選択されたことに応じて、最新の得意先マスタがキャッシュ情報として記憶部23に記憶されているか否かを判定するとともに、最新の部門マスタがキャッシュ情報として記憶部23に記憶されているか否かを判定してもよい。そして、判定部243は、得意先に対応する入力項目が選択されたタイミングで、最新の部門マスタが記憶部23に記憶されていない場合に、最新の部門マスタをウェブアプリサーバ1から取得して、キャッシュ情報として記憶部23に記憶させてもよい。このようにすることで、部門に対応する入力項目が選択される時点において、最新の部門マスタを記憶部23から取得して高速に表示することができる。
 また、判定部243は、ウェブページが表示されたことに応じて、当該ウェブページにおいて必ず入力されるマスタ入力項目を特定し、当該項目に対応するマスタデータが記憶部23に記憶されているか否かを判定してもよい。
[第1実施形態における効果]
 以上説明した通り、第1実施形態に係るクライアント端末2は、マスタデータが記憶部23に記憶されていると判定された場合において、マスタデータのバージョンが、ウェブアプリサーバ1に記憶されているマスタデータのバージョンと同じとき、記憶部23にキャッシュ情報として記憶されているマスタデータを表示部21に表示されるウェブページに表示させ、マスタデータのバージョンが、ウェブアプリサーバ1に記憶されているマスタデータのバージョンに比べて古いとき、ウェブアプリサーバ1に記憶されているマスタデータをウェブページに表示させる。
 このようにすることで、クライアント端末2は、ウェブページに表示させるマスタデータを最新の状態に保つことができる。
<第2実施形態>
[ウェブアプリサーバ1においてキャッシュされているマスタデータが最新であるかを判定する]
 続いて、第2実施形態について説明する。第1実施形態では、クライアント端末2がウェブアプリサーバ1から取得対象のマスタデータの最新のバージョン情報を取得し、当該バージョン情報に基づいて、記憶部23に記憶されているマスタデータが古いと判定すると、ウェブアプリサーバ1からマスタデータを取得した。しかしながら、この手順によってマスタデータを取得する場合には、クライアント端末2は、ウェブアプリサーバ1に2回アクセスすることとなり、マスタデータを取得するまでの時間が長くなってしまう。
 そこで、第2実施形態では、ウェブアプリサーバ1が、キャッシュされているマスタデータが最新であるかを判定する。そして、クライアント端末2の表示制御部242は、マスタデータが記憶部23に記憶されていると判定部243が判定した場合に、ウェブアプリサーバ1において、クライアント端末2から送信された、記憶部23に記憶されているマスタデータに関連付けられているバージョン情報が示すバージョンが、ウェブアプリサーバ1に記憶されている最新のマスタデータに対応するバージョン情報が示すバージョンに比べて古いと判定された場合に、ウェブページに、ウェブアプリサーバ1に記憶されているマスタデータを表示させる。以下、第2実施形態について図面を参照して説明する。なお、第1実施形態と同様の構成については同一の符号を付し、詳細な説明を省略する。
 図6は、第2実施形態に係るマスタデータ取得処理における処理の流れを示すフローチャートである。
 S610からS640までの処理は、第1実施形態に係るマスタデータ取得処理におけるS610からS640までの処理と同じ処理であるので説明を省略する。
 マスタデータ取得部244は、バージョン確認情報をウェブアプリサーバ1に送信する(S651)。バージョン確認情報は、記憶部23に記憶されている取得対象のマスタデータが最新であるかの確認をウェブアプリサーバ1に要求するための情報である。バージョン確認情報には、取得対象のマスタデータの識別情報と、S640において取得された、当該マスタデータのバージョン情報とが含まれている。
 ウェブアプリサーバ1の制御部は、バージョン確認情報を受信すると、記憶部23に記憶されている取得対象のマスタデータが最新であるかを確認する。そして、ウェブアプリサーバ1の制御部は、記憶部23に記憶されている取得対象のマスタデータが最新ではない場合に、最新のマスタデータと、当該マスタデータのバージョン情報とをクライアント端末2に送信する。
 図7は、第2実施形態に係るバージョン確認情報を受信したときのウェブアプリサーバ1における処理の流れを示すフローチャートである。
 まず、ウェブアプリサーバ1の制御部は、バージョン確認情報に含まれるマスタデータの識別情報と、当該マスタデータのバージョン情報とを取得する(S110)。
 続いて、ウェブアプリサーバ1の制御部は、S110において取得されたマスタデータの識別情報に対応する最新のマスタデータのバージョンを示すバージョン情報を取得する(S120)。
 続いて、ウェブアプリサーバ1の制御部は、S110において取得されたバージョン情報が示すバージョンと、S120において取得されたバージョン情報が示すバージョンとが異なるか否かを判定する(S130)。ウェブアプリサーバ1の制御部は、バージョンが異なると判定すると、S140に処理を移し、バージョンが同じであると判定すると、S150に処理を移す。
 S140において、ウェブアプリサーバ1の制御部は、最新のマスタデータと、当該マスタデータのバージョン情報とを含む応答情報をクライアント端末2に送信する。これにより、ウェブアプリサーバ1は、記憶部23に記憶されている取得対象のマスタデータが古い場合に、最新のマスタデータと、当該マスタデータのバージョン情報とをクライアント端末2に送信する。
 S150において、ウェブアプリサーバ1の制御部は、記憶部23においてキャッシュデータとして記憶されているマスタデータの更新がない旨を示す情報を含む応答情報をクライアント端末2に送信する。
 図6に説明を戻す。クライアント端末2のマスタデータ取得部244は、ウェブアプリサーバ1から応答情報を受信する(S652)。
 続いて、マスタデータ取得部244は、ウェブアプリサーバ1からマスタデータを受信したか否かを判定する(S661)。具体的には、マスタデータ取得部244は、S652において受信した応答情報にマスタデータが含まれているか否かを判定することにより、ウェブアプリサーバ1からマスタデータを受信したか否かを判定する。マスタデータ取得部244は、ウェブアプリサーバ1からマスタデータを受信したと判定するとS690に処理を移し、ウェブアプリサーバ1からマスタデータを受信していないと判定すると、S670に処理を移す。
 S670からS690までの処理は、第1実施形態に係るマスタデータ取得処理におけるS670からS690までの処理と同じ処理であるので説明を省略する。
[変形例]
 なお、マスタデータ取得部244は、表示制御部242がマスタデータをウェブページに表示させる場合に、当該マスタデータのバージョン情報を含むバージョン確認情報をウェブアプリサーバ1に送信したが、これに限らない。例えば、マスタデータ取得部244は、複数のマスタデータがキャッシュ情報として記憶部23に記憶されている場合に、複数のマスタデータのそれぞれに関連付けられているバージョン情報を含むバージョン確認情報をウェブアプリサーバ1に送信し、ウェブアプリサーバ1から複数のマスタデータの少なくともいずれかを取得してもよい。
 例えば、図4に示すウェブページ211が表示部21に表示されている場合において、判定部243が、得意先に対応する入力項目が選択されたことに応じて、最新の得意先マスタがキャッシュ情報として記憶部23に記憶されているか否かを判定するとともに、最新の部門マスタがキャッシュ情報として記憶部23に記憶されているか否かを判定する。記憶部23に記憶されている得意先マスタと、部門マスタとがいずれも最新ではないと判定された場合に、マスタデータ取得部244が、得意先マスタに対応するバージョン情報と、部門マスタに対応するバージョン情報とを含むバージョン確認情報をウェブアプリサーバ1に送信してもよい。このようにすることで、クライアント端末2は、ウェブアプリサーバ1から短時間で複数のマスタデータを取得することができる。
[第2実施形態における効果]
 以上説明した通り、第2実施形態に係るクライアント端末2は、マスタデータが記憶部23に記憶されている場合には、ウェブアプリサーバ1において、クライアント端末2から送信された、記憶部23に記憶されているマスタデータに関連付けられているバージョン情報が示すバージョンが、ウェブアプリサーバ1に記憶されている最新のマスタデータに対応するバージョン情報が示すバージョンに比べて古いと判定された場合に、ウェブページに、ウェブアプリサーバ1に記憶されているマスタデータを表示させる。
 このようにすることで、クライアント端末2は、第1実施形態と同様にウェブページに表示させるマスタデータを最新の状態に保つことができる。
 また、ウェブアプリサーバ1は、クライアント端末2から受信したバージョン確認情報に含まれるマスタデータの識別情報とバージョン情報とに基づいて、取得対象のマスタデータが古いと判定すると、最新のマスタデータをクライアント端末2に送信する。このようにすることで、クライアント端末2は、バージョン確認情報をウェブアプリサーバ1に送信するのみで、記憶部23に記憶されているマスタデータのバージョンが古い場合に、ウェブアプリサーバ1から最新のバージョンのマスタデータを取得することができる。よって、クライアント端末2は、ウェブアプリサーバ1から短時間でマスタデータを取得することができる。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
1・・・ウェブアプリサーバ、2・・・クライアント端末、21・・・表示部、22・・・入力部、23・・・記憶部、24・・・制御部、241・・・ページ取得部、242・・・表示制御部、243・・・判定部、244・・・マスタデータ取得部、245・・・記憶制御部、S・・・表示制御システム

Claims (11)

  1.  コンピュータを、
     前記コンピュータの記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部、及び
     前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記記憶部に前記キャッシュ情報として記憶されているマスタデータを前記コンピュータの表示部に表示されるページに表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記サーバに記憶されている前記マスタデータを前記ページに表示させる表示制御部、
     として機能させるキャッシュ管理プログラム。
  2.  前記コンピュータを、
     前記記憶部に、前記サーバに記憶されているマスタデータと同じバージョンのマスタデータが記憶されていない場合に、前記サーバに記憶されている前記マスタデータを取得する取得部、及び、
     取得された前記マスタデータを前記記憶部に記憶させる記憶制御部として機能させ、
     前記表示制御部は、前記記憶制御部によって前記記憶部に記憶された前記マスタデータを前記ページに表示させる、
     請求項1に記載のキャッシュ管理プログラム。
  3.  前記コンピュータを、
     前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、
     取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、
     前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合において、前記記憶部に記憶されている前記マスタデータに関連付けられている前記バージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古い場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる、
     請求項1又は2に記載のキャッシュ管理プログラム。
  4.  前記コンピュータを、
     前記サーバに記憶されている前記マスタデータと、前記マスタデータのバージョンを示すバージョン情報とを取得する取得部、
     取得された前記マスタデータと、前記バージョン情報とを関連付けて前記記憶部に記憶させる記憶制御部として機能させ、
     前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると前記判定部が判定した場合に、前記サーバにおいて、前記コンピュータから送信された、前記記憶部に記憶されている前記マスタデータに関連付けられているバージョン情報が示すバージョンが、前記サーバに記憶されている前記マスタデータに対応する前記バージョン情報が示すバージョンに比べて古いと判定された場合に、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる、
     請求項1又は2に記載のキャッシュ管理プログラム。
  5.  前記判定部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定し、
     前記取得部は、複数の前記マスタデータが前記キャッシュ情報として前記記憶部に記憶されている場合に、複数の前記マスタデータのそれぞれに関連付けられている前記バージョン情報を前記サーバに一度に送信し、前記サーバから複数の前記マスタデータの少なくともいずれかを取得する、
     請求項4に記載のキャッシュ管理プログラム。
  6.  前記表示制御部は、前記マスタデータが前記記憶部に記憶されていないと判定された場合に、前記サーバに記憶されている前記マスタデータを前記ページに表示させる、
     請求項1から5のいずれか1項に記載のキャッシュ管理プログラム。
  7.  前記表示制御部は、前記マスタデータが前記記憶部に記憶されていると判定された場合において、当該マスタデータが破損しているとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる、
     請求項1から6のいずれか1項に記載のキャッシュ管理プログラム。
  8.  前記表示制御部は、前記ページに設けられている第1入力項目が選択されたことに応じて、前記マスタデータを前記ページに表示させ、
     前記判定部は、前記表示制御部が前記マスタデータを前記ページに表示させる場合に、当該マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定する、
     請求項1から7のいずれか1項に記載のキャッシュ管理プログラム。
  9.  前記判定部は、前記表示制御部が第1マスタデータを前記ページに表示させる場合に、第1マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定するとともに、当該第1マスタデータの後に前記表示制御部によって表示される予定の第2マスタデータが前記キャッシュ情報として前記記憶部に記憶されているか否かを判定する、
     請求項8に記載のキャッシュ管理プログラム。
  10.  キャッシュを管理するキャッシュ管理装置であって、
     記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定する判定部と、
     前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記キャッシュ管理装置が接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記キャッシュ管理装置の表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させる表示制御部と、
     を備えるキャッシュ管理装置。
  11.  コンピュータが実行する、
     記憶部に、マスタデータがキャッシュ情報として記憶されているか否かを判定するステップと、
     前記マスタデータが前記記憶部に記憶されていると判定された場合において、前記マスタデータのバージョンが、前記コンピュータが接続可能なサーバに記憶されている前記マスタデータのバージョンと同じとき、前記コンピュータの表示部に表示されるページに前記記憶部に前記キャッシュ情報として記憶されているマスタデータを表示させ、前記マスタデータのバージョンが、前記サーバに記憶されている前記マスタデータのバージョンに比べて古いとき、前記ページに、前記サーバに記憶されている前記マスタデータを表示させるステップと、
     を備えるキャッシュ管理方法。
PCT/JP2017/045567 2016-12-20 2017-12-19 キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法 WO2018117108A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-246212 2016-12-20
JP2016246212A JP2018101240A (ja) 2016-12-20 2016-12-20 キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法

Publications (1)

Publication Number Publication Date
WO2018117108A1 true WO2018117108A1 (ja) 2018-06-28

Family

ID=62627384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/045567 WO2018117108A1 (ja) 2016-12-20 2017-12-19 キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法

Country Status (2)

Country Link
JP (1) JP2018101240A (ja)
WO (1) WO2018117108A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067721A (ja) * 2001-08-24 2003-03-07 Pioneer Electronic Corp 地図画像表示システムおよび方法
JP2013030097A (ja) * 2011-07-29 2013-02-07 Fujitsu Frontech Ltd 情報処理システム及びクライアント装置
JP2015507310A (ja) * 2012-02-13 2015-03-05 マイクロソフト コーポレーション ソフトウェア・コードの生成およびキャッシング
JP2015230564A (ja) * 2014-06-04 2015-12-21 キヤノン株式会社 情報処理端末、キャッシュ制御方法及びウェブシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067721A (ja) * 2001-08-24 2003-03-07 Pioneer Electronic Corp 地図画像表示システムおよび方法
JP2013030097A (ja) * 2011-07-29 2013-02-07 Fujitsu Frontech Ltd 情報処理システム及びクライアント装置
JP2015507310A (ja) * 2012-02-13 2015-03-05 マイクロソフト コーポレーション ソフトウェア・コードの生成およびキャッシング
JP2015230564A (ja) * 2014-06-04 2015-12-21 キヤノン株式会社 情報処理端末、キャッシュ制御方法及びウェブシステム

Also Published As

Publication number Publication date
JP2018101240A (ja) 2018-06-28

Similar Documents

Publication Publication Date Title
EP2751719B1 (en) System and method for providing offline access in a hosted document service
US20120050793A1 (en) Network printing system, client terminal, and printing method
JP6163742B2 (ja) 商品情報提供装置、及び商品情報提供方法
CN101114300A (zh) 图像形成系统和图像形成方法
US20170310829A1 (en) Image processing apparatus, image processing method, and recording medium
JP6372868B2 (ja) 報酬分配方法、報酬分配システム及び端末
US20160004676A1 (en) Displaying web pages
US20150234793A1 (en) Font resource management
US20030225831A1 (en) Center server and computer apparatus
US10243942B2 (en) Displaying the accessibility of hyperlinked files
JP2010026573A5 (ja)
JP2008204189A (ja) 更新情報応答装置及びWebサーバ
WO2018117108A1 (ja) キャッシュ管理プログラム、キャッシュ管理装置及びキャッシュ管理方法
US20060161911A1 (en) Method and apparatus for managing versioning data in a network data processing system
US20130194081A1 (en) Remote controller supporting system and method for handling event in web environment
JP5585816B2 (ja) ポータルサイト生成システム、ポータルサイト生成方法、及びコンピュータプログラム
US20060212533A1 (en) Minimizing Problems in Accessing Referred Content
JP2018077598A (ja) 電子機器、プログラム及び情報処理システム
JP2013045413A (ja) 入力候補表示方法およびプログラム
US20120323966A1 (en) Storage device, server device, storage system, database device, provision method of data, and program
JP5373590B2 (ja) ツールバー・アプリケーションを管理するシステム及び方法
US9032049B2 (en) Communication methods and systems between a storage apparatus, a user terminal and a device connected to the storage apparatus
JP2012053565A (ja) 情報処理装置、情報処理システムおよびプログラム
JP2006227859A (ja) データベース管理システムとデータベース管理プログラムと記録媒体とデータベース管理方法
JP6276526B2 (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: 17883183

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17883183

Country of ref document: EP

Kind code of ref document: A1