WO2013038508A1 - 計算機、計算機システム及びデータベースの構築支援方法 - Google Patents

計算機、計算機システム及びデータベースの構築支援方法 Download PDF

Info

Publication number
WO2013038508A1
WO2013038508A1 PCT/JP2011/070882 JP2011070882W WO2013038508A1 WO 2013038508 A1 WO2013038508 A1 WO 2013038508A1 JP 2011070882 W JP2011070882 W JP 2011070882W WO 2013038508 A1 WO2013038508 A1 WO 2013038508A1
Authority
WO
WIPO (PCT)
Prior art keywords
input data
data
web
schema
operation history
Prior art date
Application number
PCT/JP2011/070882
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 株式会社日立製作所
Priority to JP2013533387A priority Critical patent/JP5775594B2/ja
Priority to PCT/JP2011/070882 priority patent/WO2013038508A1/ja
Publication of WO2013038508A1 publication Critical patent/WO2013038508A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates to a computer, and more particularly to a technique for supporting database construction based on an operation history of a Web application.
  • Non-Patent Documents 1 to 3 In recent years, there has been an increasing need to extract data useful for improving services by analyzing the operation history of Web applications (Web operation history) (see Non-Patent Documents 1 to 3).
  • the web operation history has a role as evidence, and therefore all kinds of data related to the web operation are recorded. Therefore, in order to extract and analyze useful data from the Web operation history, it is necessary to process the data.
  • DB database
  • the DB builder selects necessary items from the history, defines the schema based on those items, and develops a program etc., and operates according to the defined schema. There is a method of extracting necessary data from a history and constructing a DB.
  • Patent Document 1 When manual operations such as data item selection, schema definition, data extraction / processing according to the defined schema are performed manually, it takes time and effort. there were.
  • the method disclosed in Patent Document 1 has a problem that the load when recording history data is high, and a problem that a search conditioned by data in the Web operation screen cannot be processed at high speed. This is because, in order to save the input data together with the Web screen display file, it is necessary to search the Web screen display file for recording the input data and embed the input data in the file. The latter is because the data in the Web operation screen is not tabulated. Further, since input data is recorded as a set together with a Web screen display file (the file includes data necessary for Web screen display such as tabs), there is a problem that the capacity of the operation history increases.
  • the present invention takes the above-described problems into consideration, and is troublesome in constructing a DB for analyzing the operation history of a Web application (such as creation of schema data and load data to be created in accordance with the schema definition). It is an object of the present invention to provide a computer, a computer system, and a database construction support method capable of reducing time.
  • a typical example of the invention disclosed in the present application is as follows. That is, a computer including a processor that executes a program and a memory that stores a program executed by the processor, and the processor selects a data item of a database in units of forms that are constituent units of a Web operation screen. And a function for defining a schema based on input data items included in the form for each form selected by a user of the computer and recording it in the memory.
  • FIG. 1 is a diagram illustrating a configuration example of a computer system 1 according to the embodiment of this invention.
  • the computer system 1 includes a Web client (client device) 2 and a Web server (computer) 3 connected via a network 4 such as a LAN (Local Area Network).
  • a network 4 such as a LAN (Local Area Network).
  • the Web client 2 is a computer that uses functions and data provided by the Web server 3.
  • the web client 2 is a general computer device that includes a CPU (Central Processing Unit), a memory, an interface (not shown), and the like.
  • the Web client 2 includes a Web operation screen display unit 21, a data input unit 22, and a data transmission unit 23.
  • the web operation screen display unit 21 displays a web operation screen on the display device 24 based on resources sent as a response from the web server 3 in response to a request from the web client 2.
  • the data input unit 22 also assigns user operation information (input data) on the Web operation screen displayed based on the resource sent as a response from the Web server 3 to each input element on the Web operation screen. Enter in the variable.
  • the data transmission unit 23 transmits the input data input to the variable of each input element on the Web operation screen to the Web server 3.
  • the Web server 3 is a computer that provides Web application resources and data to the Web client 2 in response to a request from the Web client 2.
  • the Web server 3 includes a DB construction support unit 30.
  • the DB construction support unit 30 includes a real-time data analysis unit 31, a past data analysis unit 32, and a DB construction unit 33.
  • the DB construction support unit 30 supports DB construction based on input data received from the Web client 2 or operation history data stored in the Web operation history 51.
  • the real time data analysis unit 31 analyzes input data received from the Web client 2 in real time.
  • the past data analysis unit 32 analyzes the operation history data received in the past from the Web client 2 and accumulated in the Web operation history 51.
  • the real-time data analysis unit 31 and the past data analysis unit 32 generate a schema definition 71 and DB input data 72 as analysis results.
  • the DB construction unit 33 constructs a Web analysis DB 61 based on the generated schema definition 71 and DB input data 72.
  • the real-time data analysis unit 31 includes an analysis data selection unit 34, a schema definition unit 35, a schema update unit 36, a data filter unit 37, and an input data generation unit 38.
  • the past data analysis unit 32 includes an analysis data selection unit 34, a schema definition unit 35, a schema update unit 36, a history configuration analysis unit 39, and a data extraction / generation unit 40.
  • the real-time data analysis unit 31 and the past data analysis unit 32 share the analysis data selection unit 34, the schema definition unit 35, and the schema update unit 36.
  • the analysis data selection unit 34 is based on the screen configuration of the Web operation screen that presents data items to be analyzed to the client 2 in the input data received from the Web client 2 or the operation history data stored in the Web operation history 51. Select. Details of the analysis data selection unit 34 will be described later with reference to FIG.
  • the schema definition unit 35 defines a schema based on the data selected by the analysis data selection unit 34, and outputs the defined schema (schema definition 71).
  • the schema describes the data structure of the DB to be created (table structure in the embodiment of the present invention), and the schema definition describes the data structure of the DB (table structure in the embodiment of the present invention). . Details of the schema definition unit 35 will be described later with reference to FIG.
  • the schema defined by the schema definition unit 35 can be updated (corrected or changed) by the schema update unit 36.
  • the schema update unit 36 updates the schema defined by the schema definition unit 35 in accordance with an instruction from a DB builder or a web operation history analyst (hereinafter referred to as “user of the web server 3” for convenience of explanation).
  • the data filter unit 37 generates a data filtering program for filtering input data received from the Web client 2 in accordance with the schema defined by the schema definition unit 35. Further, the input data is filtered according to the generated data filtering program. Details of the data filter unit 37 will be described later with reference to FIG.
  • the input data generation unit 38 generates DB input data 72 based on the data filtered by the data filter unit 37.
  • the DB input data 72 is data that is described in a predetermined format such as a CSV format based on the schema definition and can be loaded into the Web analysis DB 61. Details of the input data generation unit 38 will be described later with reference to FIGS. 12 and 14.
  • the history configuration analysis unit 39 analyzes the configuration of operation history data stored in the Web operation history 51. Details of the history configuration analysis unit 39 will be described later with reference to FIGS. 18, 29A, and 29B.
  • the data extraction / generation unit 40 extracts data from the operation history data stored in the Web operation history 51 in accordance with the schema definition 71, and generates DB input data 72 based on the extracted data. Details of the data extraction / generation unit 40 will be described later with reference to FIG.
  • the web operation history 51 is a file for accumulating user operation history data received from the web client 2.
  • the operation history data here includes data that is not directly related to data input by the user, such as protocol headers and tags.
  • the Web analysis DB 61 is a database constructed by the DB construction unit 33 based on the schema definition 71 and the DB input data 72.
  • the computer system 1 allows the DB construction support unit 30 to construct a DB based on the input data received from the Web client 2 or the operation history data stored in the Web operation history 51. Support.
  • FIG. 2 is a diagram illustrating a configuration example of the Web server 3 according to the embodiment of this invention.
  • ⁇ 2 includes a CPU 310, a north bridge 320, a south bridge 330, an SDRAM (Synchronous Dynamic Random Access Memory) 340, and a storage device 350.
  • the CPU 310 is an arithmetic processing device that executes various programs stored in the storage device 350.
  • the north bridge 320 is connected to a LAN slot (not shown) for connecting the LAN card 360 and a SAS slot (not shown) for connecting the SAS cards 370A and 370B via the PCIe (PCI express) bus.
  • the SDRAM 340 is, for example, a DDR2 (Double Data Rate 2) standard SDRAM.
  • the south bridge 330 is connected to a VGA slot (not shown) for connecting a VGA (Video Graphics Array) card 380 via a PCIe bus. Further, it is connected to a USB port (not shown) via a USB bus. In addition, it is connected to a storage device 350 of SATA (Serial Advanced Technology Attachment) standard.
  • VGA Video Graphics Array
  • USB port not shown
  • SATA Serial Advanced Technology Attachment
  • the storage device 350 stores an OS (Operating System) 351, a Web application 352, a DB construction support program 353, a schema definition 71, DB input data 72, and a DBMS (Data Base Management System) 354.
  • the DB construction support program 353 is a program that implements each function of the DB construction support unit 30 (see FIG. 1).
  • the Web server 3 is connected to the network device 81 via the LAN card 360. Further, the storage devices 50 and 60 are connected via the SAS cards 370A and 370B.
  • the storage device 50 stores a web operation history 51.
  • the storage device 60 stores a Web analysis DB 61.
  • the Web server 3 is connected to an output device 82 such as a display via a VGA card 380. Further, it is connected to an input device 83 such as a keyboard and a mouse via a USB port.
  • the web operation history 51 and the web analysis DB 61 are stored in separate storage devices 50 and 60, respectively, but this is not a limitation. For example, they may be stored in the same storage device.
  • the DB construction support program 353, the schema definition 71, and the DB input data 72 are also stored in the storage device 350, but this is not a limitation. For example, it may be stored in the storage devices 50 and 60.
  • FIG. 3 is a diagram showing an example of the analysis data selection screen 301 according to the embodiment of the present invention.
  • the analysis data selection screen 301 shown in FIG. 3 is displayed on the output device 82 by executing the program of the analysis data selection unit 34.
  • the user of the Web server 3 uses the input device 83 to input information necessary for DB construction on the analysis data selection screen 301.
  • the analysis data selection screen 301 includes a selection screen 302 for the user of the Web server 3 to select a data range to be analyzed, and a Web operation screen 303 displayed on the display device 24 of the Web client 2.
  • the web operation screen 303 is composed of one or a plurality of forms.
  • a form is a structural unit of an input screen for inputting data by a user of the Web client 2 (hereinafter referred to as “Web user”).
  • Web user a form 1 for executing a search (search form), a form 2 for executing a search result narrowing (refining form), and a form 3 for ordering a search result (ordering form) It consists of three forms.
  • the user of the Web server 3 selects the data range to be analyzed in form units. Specifically, the analysis target form is selected and checked, and the decision button is pressed. Then, the analysis data selection unit 34 selects the checked form data as an analysis target.
  • the data range to be analyzed is selected in units of forms. However, the present invention is not limited to this case.
  • the data range to be analyzed may be selected in other structural units.
  • FIG. 4 is a diagram illustrating a relationship between the configuration of the table 400 defined by the schema definition unit 35 and the form according to the embodiment of this invention.
  • a table 400 illustrated in FIG. 4 is a table defined based on information on the form 1 (409) when the form 1 (409) is selected as an analysis target.
  • the table definition describes the data items that make up the table and their type information.
  • the table defined on the basis of the form information includes items related to input data entry fields (elements such as text boxes) in the form (hereinafter referred to as “input data items 410”), and individual input data generated in units of forms. It consists of a data set ID for identifying a set, a sequence ID for identifying a series of input data processing to be processed on the Web server 3 side, and a session ID for identifying a series of Web operations on the Web client 2 side.
  • the input data item 410 has name and type information. Therefore, the table is described by extracting the name and type information of each data input item.
  • Keyword String 403
  • Shohin_cd String 404
  • Kakaku Number 405.
  • the name and type information of the input data items in the form are window.document.form [i] .element [j] .name, window It is indicated by .document.form [i] .element [j] .type.
  • the analysis data selection unit 34 first converts the number of the form selected as the analysis target into the form number i in the HTML, and each element (input data entry field) j included in the converted form number i. Extract name and type information. Thereafter, the schema definition unit 35 defines a table based on the extracted name and type information of each element j.
  • the data set in the table can be uniquely identified by the data set ID 406.
  • the session ID 408 can identify a set of input data processed in the same session.
  • sequence ID 407 the order in which the data sets in the same session (even if there are multiple data sets input from different types of forms in the same session, and therefore data sets between different tables) is input ( ).
  • a time stamp can be used for the sequence ID 407. Note that data is inserted into the data set ID 406, the sequence ID 407, and the session ID 408 by the Web server 3.
  • FIG. 5 is a flowchart showing the control logic of the analysis data selection unit 34 according to the embodiment of the present invention.
  • the analysis data selection unit 34 executes the control logic shown below.
  • the analysis data selection unit 34 presents an analysis data selection screen 301 as shown in FIG. 3 (S501).
  • the form number of the selected form is acquired (S502). Specifically, the number on the user interface of the selected form is converted into a number on a program describing a Web operation screen.
  • step 503 the analysis data selection unit 34 selects one of the form numbers acquired in step 502 (S503). Thereafter, in step 504, the form number and form name selected in step 503 are recorded (S504). Here, for example, it is recorded in the storage device 350 (see FIG. 2) (hereinafter the same).
  • step 505 the analysis data selection unit 34 selects one of the element numbers included in the form having the form number selected in step 503 (S505). Thereafter, in step 506 and step 507, the name and type information of the element selected in step 505 are acquired and recorded (S506, S507).
  • the analysis data selection unit 34 extracts information related to elements (input data items) in the form for each analysis target form selected on the analysis data selection screen 301. Note that all or part of the control logic described above may be executed by the schema definition unit 35.
  • FIG. 6 is a diagram illustrating a specific example of input data items in each form extracted by the analysis data selection unit 34 according to the embodiment of this invention.
  • FIG. 6 when all the forms 1, 2, and 3 on the analysis data selection screen 301 (see FIG. 3) are selected, information on input data items in each form extracted by the control logic shown in FIG. Is shown.
  • the information extracted when Form 1 is selected is (# 1, kensaku, keyword: string, shohin_cd: string, kakaku: number).
  • # 1 is an identifier (ID) for uniquely identifying the form 1.
  • kensaku is the name of Form 1. Note that the name of the form is used as the name of the table generated based on the form.
  • keyword: string indicates that the name and type information of the first element included in the form 1 are a keyword and a String type, respectively.
  • “shohin_cd: string” indicates that the name and type information of the second element included in the form 1 are shohin_cd and String types, respectively.
  • “kakaku: number” indicates that the name and type information of the third element included in Form 1 are kakaku and Number types, respectively. Description of the forms 2 and 3 is omitted here.
  • FIG. 7 is a flowchart illustrating the control logic of the schema definition unit 35 according to the embodiment of this invention.
  • the schema definition unit 35 executes the control logic shown below to define a schema (here, a table) corresponding to each form.
  • step 701 the schema definition unit 35 sets the name of one of the names of each form selected as an analysis target as a table name (S701). For example, since the form name of form 1 is “kensaku”, the name of the table generated corresponding to form 1 is “Kensaku_Table”.
  • step 702 the schema definition unit 35 generates a table based on each input data item (including type information) extracted corresponding to the name of the form (S702). For example, each input data item extracted corresponding to the form name “kensaku” of form 1 is “keyword: string, shohin_cd: string, kakaku: number”. Therefore, the input data item 410 of the table 400 as shown in FIG. 4 is inserted based on this data set.
  • step 703 the schema definition unit 35 inserts a data set ID (including type information) into the table generated in step 702 (S703).
  • a data set ID including type information
  • the data set ID 406 and its attributes are inserted into the table 400.
  • the schema definition unit 35 acquires information on the session ID (S704).
  • the session ID information is information unique to the Web application executed on the Web server 3.
  • the session ID is not limited.
  • step 705 the schema definition unit 35 inserts a session ID (including type information) into the table generated in step 702 (S705).
  • a session ID including type information
  • the session ID 408 and its attributes are inserted into the table 400.
  • step 706 the schema definition unit 35 inserts a sequence ID (including type information) into the table generated in step 702 (S706).
  • sequence ID 407 and its attributes are inserted into the table 400.
  • the processing in steps 702 to 706 is repeated for all the forms selected as analysis targets in the processing in step 707.
  • the schema definition part 35 can define a table automatically for every form selected as analysis object. In other words, the time and labor involved in defining the schema can be reduced.
  • FIG. 8 is a diagram illustrating a specific example of the table 800 generated by the schema definition unit 35 according to the embodiment of this invention.
  • FIG. 9 is a flowchart showing the control logic of the data filter unit 37 according to the embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an example of the data filtering program 1000 generated by the data filter unit 37 according to the embodiment of this invention.
  • the data filter unit 37 automatically generates a data filtering program 1000 as shown in FIG. 10 by executing the control logic shown below.
  • step 901 the data filter unit 37 selects a set number of data items to be filtered (S901). Here, it is assumed that the number “# 1” is selected.
  • step 902 the data filter unit 37 defines a filtering function for executing data filtering (S902).
  • a filtering function filtering_kensaku 1003 is defined.
  • step 903 the data filter unit 37 generates a code for filtering the data set to be filtered in the filtering function defined in step 902 (S903).
  • a code 1004 is generated.
  • a code 1004 is a code for storing the value of each input data item “keyword, shohin_cd, kakaku” in a global variable.
  • step 904 the data filter unit 37 generates a code for calling the filtering function defined in step 902 when input data is received from the Web client 2 (S904).
  • the code 1002 is generated in the function input_kensaku 1001.
  • a code 1002 is a code for calling the filtering function filtering_kensaku 1003.
  • a function input_kensaku 1001 is a function called when receiving input data from the Web client 2.
  • step 905 the processing in steps 901 to 904 is repeated for all data set numbers.
  • the data filter unit 37 automatically generates a data filtering program according to the table defined by the schema definition unit 35.
  • FIG. 11 is a diagram illustrating an example of a request 1100 transmitted from the data transmission unit 23 to the data filter unit 37 according to the embodiment of this invention.
  • the request 1100 shown in FIG. 11 data input to the form 1 (search form) on the Web operation screen 303 is described.
  • the request 1100 describes a method name (GET method or POST method. In the example shown in FIG. 11, GET method).
  • a URL Uniform Resource Locator
  • the URL 1101 may be an absolute path or a relative path.
  • a parameter name (the name of an element in the form) and a value set are described by concatenating them with “&”.
  • a set of a parameter keyword and its value XXXX, a parameter shohin_cd and its value YYYYY, a parameter kakaku and its value UUUUU is described.
  • the request 1100 includes header information of Date 1103, Referer 1104, and Cookie 1105.
  • Date 1103 describes the time when the request 1100 is issued.
  • Referer 1104 the URL of the link source of the resource specified by the GET method is described.
  • Cookie 1105 describes the ID of a session related to transmission / reception of request 1100 between Web client 2 and Web server 3.
  • FIG. 12 is a sequence diagram showing a control logic of operations of the Web client 2 and the Web server 3 according to the embodiment of this invention.
  • the Web client 2 transmits a data set value corresponding to this event to the Web server 3 by an HTTP request in response to an input data confirmation event by the Web user (S1201).
  • the input data confirmation event here is an event that occurs when the user of the Web client 2 presses the execution button in the form.
  • the confirmation event is generated, for example, when a user on the Web client 2 side inputs a search keyword in the form and then presses a search execution button on the search form on the Web operation screen 303.
  • step 1201 when an event for confirming input data occurs on the Web operation screen 303, the Web client 2 transmits the value of the data set in the form that generated the event to the Web server 3 by an HTTP request.
  • the following operation of the Web server 3 starts when the user of the Web client 2 logs into the Web application provided by the Web server 3 to the Web client 2 and ends when the user logs out.
  • step 1202 the Web server 3 acquires the value of the data set from the HTTP request transmitted by the Web client 2 in step 1201 (S1202).
  • step 1203 the Web server 3 executes the data filtering program to filter and temporarily record the value of the data set acquired in step 1202 (S1203).
  • the data filtering program is executed by calling it in a program (a program in the Web server 3 in this embodiment) called by the HTTP request transmitted by the Web client 2 in Step 1201.
  • the filtering program described in FIG. 10 is an example when the user on the Web client 2 side calls the kensaku.php program as a resource to be called when an execution button named “search” is pressed.
  • a function filtering_kensaku 1002 for filtering the element value (data set value) in the form transmitted by the HTTP request transmitted from the Web client 2 is called.
  • the Web server 3 acquires the name of the request transmission source form based on the URL of the resource specified in the HTTP request transmitted from the Web client 2 and the Referer information (S1204). Specifically, the HTML file describing the information about the form is checked based on the Referer information. Further, the form in which the URL is described in the action information when the execution button in the form is pressed is checked in the form information in the HTML file, and the name of the corresponding form is acquired.
  • step 1205 the Web server 3 generates a data set ID for identifying the filtered data set and records it in the file having the name acquired in step 1204 (S1205).
  • the file is, for example, a CSV format file. Details of the file will be described later with reference to FIG.
  • the Web server 3 records the sequence ID, the session ID, and the value of the data set filtered in step 1203 in the file having the name acquired in step 1205 (S1206 to S1208).
  • the Web server 3 checks the HTML file describing the form information based on the URL of the calling resource described in the HTTP request and the Referer information, and sets the name of the request source form. Although acquired, it is not limited to this case. For example, as shown in FIG. 13, a table 1300 in which a filtering function and a form name are associated with each other may be created in advance, and the form name associated with the called filtering function may be acquired.
  • the Web client 2 transmits a request to the Web server 3.
  • the Web server 3 automatically executes real-time filtering and DB input data generation processing based on the received request. As a result, it is possible to reduce labor and time required for generating DB input data.
  • FIG. 13 is a diagram illustrating an example of the table 1300 in which the filtering function and the form name according to the embodiment of the present invention are associated with each other.
  • the table 1300 illustrated in FIG. 13 is generated when the data filter unit 37 generates a data filtering program.
  • the table 1300 stores the filtering function 1301, the URL 1302 of the HTML file to which the form belongs, and the form name 1303 in association with each other.
  • the URL 1302 is optional information. However, by associating the URL 1302, even if there is a form with the same name belonging to different HTML files and a filtering function name uniquely determined from the form name is automatically generated, The corresponding form name can be specified by the URL to which the form to be filtered belongs.
  • FIG. 14 is a diagram illustrating a specific example of the DB input data 72 according to the embodiment of this invention.
  • the DB input data 72 shown in FIG. 14 includes DB input data 721 to 723.
  • Each DB input data 721 to 723 is a CSV format data file generated for each table defined by the schema definition unit 35, that is, for each form.
  • the file name is the form name concatenated with the extension “_log”.
  • DB input data 721 is a data file generated based on a table defined corresponding to form 1 (form name kensaku).
  • DB input data 722 and 723 are data files generated based on tables defined corresponding to forms 2 and 3 (form names are shiborikomi and hattyuu, respectively).
  • Each entry of the DB input data 721 to 723 is connected with a data set ID, a sequence ID, a session ID, and each input data item by “,”.
  • each DB input data 721 to 723 can be easily stored in the corresponding table.
  • FIG. 15 is a diagram illustrating data that can be acquired from the form according to the embodiment of this invention.
  • data that the Web server 3 can acquire from a form selected as an analysis target will be described.
  • the Web server 3 can acquire information A and information B related to the form selected on the analysis data selection screen 301 (see FIG. 3).
  • Information A is an HTML URL describing the selected form.
  • Information B is information on the selected form. That is, the information B includes a form number, form action information, a form name, and an element name (input data item name) in the form.
  • the form action information is a path of a resource for processing data in the form.
  • the Web server 3 can confirm the presence / absence of information related to the form selected as the analysis target based on the information A and information B acquired from the operation history data stored in the Web operation history 51.
  • FIG. 16 is a diagram showing an example of the operation history data 1600 stored in the Web operation history 51 according to the embodiment of this invention.
  • the operation history data 1600 shown in FIG. 16 is an HTTP request in which data input to the form 1 (search form) on the Web operation screen 303 is stored.
  • the operation history data 1600 describes a method name (GET method or POST method. In the example shown in FIG. 16, GET method).
  • the URL 1601 of the resource to be called and the query character string 1602 are connected and described by the symbol “?”.
  • the URL 1601 may be an absolute path or a relative path.
  • the query character string 1602 describes parameter names (names of elements in the form) 1603 to 1605 and a set of values concatenated with “&”.
  • a set of a parameter keyword and its value XXXX, a parameter shohin_cd and its value YYYYY, a parameter kakaku and its value UUUUU is described. That is, information B obtainable from the form is recorded in the URL 1601 and the query character string 1602.
  • the operation history data 1600 includes header information of Date 1606, Referer 1607, and Cookie 1608.
  • Date 1606 the time when the operation history data 1600 is issued is described.
  • the Referrer 1607 describes the URL of the link source of the resource specified by the GET method. That is, information A that can be acquired from the form is recorded.
  • Cookie 1608 an ID of a session related to transmission / reception of operation history data 1600 between the Web client 2 and the Web server 3 is described.
  • the Web server 3 determines whether or not there is information regarding the form selected as the analysis target based on the correspondence between the URL extracted from the Referer 1607 in the operation history data 1600 and the action information described in the URL 1601. Can be confirmed. In addition, when there is information regarding the form selected as the analysis target, it is possible to extract the value of the variable of each data input item (keyword, shohin_cd, kakaku in the example shown in FIG. 16) in the form.
  • the Web server 3 can generate a sequence ID and a session ID based on the information of Date 1606 and Cookie 1608, respectively.
  • FIG. 17 is a flowchart illustrating the control logic of the data extraction / generation unit 40 according to the embodiment of this invention.
  • the data extraction / generation unit 40 extracts data corresponding to the schema defined by the schema definition unit 35 by analyzing the operation history data stored in the Web operation history 51. Further, DB input data 72 is generated based on the extracted data.
  • the data extraction / generation unit 40 refers to the Referer information of the operation history data (HTTP request) stored in the Web operation history 51, and matches the URL of the HTML file to which the form selected as the analysis target belongs.
  • the operation history data describing the URL to be searched is searched (S1701).
  • step 1702 the data extraction / generation unit 40 determines whether the URL of the resource related to the operation history data extracted as a result of the search in step 1701 indicates action information of the form selected as the analysis target. Confirmation is made (S1702).
  • step 1703 if YES in step 1702, the data extraction / generation unit 40 extracts and records the name and value of the data set from the operation history data extracted in step 1701 (S1703).
  • step 1704 the data extraction / generation unit 40 extracts and records the session ID from the cookie information in the operation history data extracted in step 1701 (S1704).
  • step 1705 the data extraction / generation unit 40 records the Date information in the operation history data extracted in step 1701 as a sequence ID (S1705).
  • step 1706 the data extraction / generation unit 40 generates a data set ID for uniquely identifying the operation history data extracted in step 1701 (S1706).
  • step 1707 the data extraction / generation unit 40 then selects the form selected as the analysis target based on the data set, the session ID, the sequence ID recorded in steps 1703 to 1705, and the data set ID generated in step 1706.
  • DB input data of the table corresponding to is generated (S1707). Specifically, DB input data 72 as shown in FIG. 14 is generated.
  • the data extraction / generation unit 40 analyzes the operation history data stored in the Web operation history 51 to extract data corresponding to the schema defined by the schema definition unit 35. Further, DB input data 72 is generated based on the extracted data.
  • FIG. 18 is a flowchart illustrating the control logic of the history configuration analysis unit 39 according to the embodiment of this invention.
  • the history configuration analysis unit 39 acquires information on the form existing in the web operation history 51 based on each operation history data (HTTP request) stored in the web operation history 51.
  • Step 1801 the history configuration analysis unit 39 acquires and records the URL described in the Referer information of any operation history data (HTTP request) in the Web operation history 51 (S1801).
  • step 1802 the history configuration analysis unit 39 acquires and records the URL information of the resource of the operation history data to be processed (S1802).
  • step 1803 the history structure analysis unit 39 searches the HTML file of the URL acquired in step 1801 for a form in which the URL of the resource acquired in step 1802 is specified as action information (S1803).
  • step 1804 the history structure analysis unit 39 acquires and records the form number extracted as a result of the search in step 1803 (S1804).
  • step 1805 the history configuration analysis unit 39 determines whether or not the form information acquired in step 1803 is registered in the form information table (S1805).
  • the form information table is a table in which information related to forms existing in the web operation history 51 is recorded. Details of the form information table will be described later with reference to FIG.
  • step S1805 If registered (YES in step S1805), the process advances to step 1807. On the other hand, if not registered (NO in step S1805), in step 1806, the history configuration analysis unit 39 registers the form information acquired in step 1803 in the form information table (S1806).
  • the history configuration analysis unit 39 repeats the processing in steps 1801 to 1806 for all the operation history data existing in the web operation history 51.
  • the history configuration analysis unit 39 acquires information about the form existing in the Web operation history 51 based on each operation history data (HTTP request) stored in the Web operation history 51, and the form information Register in the table.
  • FIG. 19 is a diagram showing an example of the form information table 1900 according to the embodiment of this invention.
  • the form information table 1900 shown in FIG. 19 is generated by the control logic shown in FIG.
  • the URL 1901 specified by the Referer information the URL 1901 specified by the Referer information, the resource URL 1902, and the form number 1903 are registered in association with each other.
  • the form can be uniquely identified by the URL 1901 and the form number 1903.
  • FIG. 20 is a diagram showing a first example of the web operation history analysis data selection screen 2001 according to the embodiment of this invention.
  • the analysis data selection screen 2001 shown in FIG. 20 is displayed on the output device 82 by executing the program of the analysis data selection unit 34.
  • the user of the Web server 3 inputs information on the analysis data selection screen 2001 using the input device 83.
  • the analysis data selection screen 2001 includes a selection screen 2002 for the user of the Web server 3 to select a data range to be analyzed, and a Web operation screen 303 displayed on the display device 24 of the Web client 2.
  • the history logic analyzing unit 39 can extract a form that exists in the web operation history 51, that is, a form that can be analyzed by the control logic shown in FIG. Therefore, when analyzing the Web operation history 51, the analysis data selection unit 34 presents only the forms registered in the form information table 1900 shown in FIG. Thereby, a form that cannot be analyzed, that is, a form from which data is not extracted even if analyzed, can be excluded from the analysis target in advance.
  • FIG. 21 is a diagram showing a second example of the web operation history analysis data selection screen 2101 according to the embodiment of this invention.
  • the analysis data selection screen 2101 shown in FIG. 21 is displayed on the output device 82 by executing the program of the analysis data selection unit 34.
  • the user of the Web server 3 inputs information on the analysis data selection screen 2101 using the input device 83.
  • the analysis data selection screen 2101 includes a selection screen 2102 for the user of the Web server 3 to select a data range to be analyzed, and a Web operation screen 303 displayed on the display device 24 of the Web client 2.
  • the user of the Web server 3 selects the data range to be analyzed in form units. Furthermore, when previewing the analysis result of the form selected as the analysis target, the check box for preview is checked and the decision button is pressed. Then, the Web server 3 analyzes the checked form and displays the analysis result.
  • FIG. 22 is a flowchart showing control logic of preview analysis according to the embodiment of the present invention.
  • the Web server 3 enables the preview of the analysis result of the form selected as the analysis target by executing the following control logic.
  • the Web server 3 acquires the form number of the selected form (S2201). Specifically, the number on the user interface of the selected form is converted into a number on a program describing a Web operation screen.
  • the Web server 3 refers to the Referer information of any operation history data (HTTP request) stored in the Web operation history 51, and the URL of the HTML file to which the form selected as the analysis target belongs.
  • the operation history data in which the matching URL is described is searched (S2202).
  • step 2203 the Web server 3 checks whether or not the resource URL related to the operation history data extracted as a result of the search in step 2202 indicates action information of the form selected as the analysis target (S2203). ). Note that the form selected as the analysis target is identified by the form number.
  • the process returns to step 2202, and the process is repeated for another operation history data.
  • the Web server 3 records the number of the form extracted in step 2202 (S2205). ).
  • the Web server 3 repeats the processing in steps 2202 to 2205 for all the operation history data existing in the Web operation history 51.
  • step 2207 the Web server 3 searches for a form that does not exist in the Web operation history 51 based on the form number recorded in step 2205 (S2207).
  • step 2209 the Web server 3 displays the corresponding form, that is, a form that does not exist in the Web operation history 51 (S2209). Specifically, a form number that does not exist in the web operation history 51 is acquired, and the acquired form number is converted into a user interface number and displayed in a pop-up window. An example of the display screen displayed in step 2209 will be described later with reference to FIG.
  • step 2210 the Web server 3 displays in a pop-up window that the data of all the forms selected as analysis targets exist in the Web operation history 51 ( S2210).
  • FIG. 23 is a diagram showing a first specific example of the preview analysis result display screen 2300 according to the embodiment of the present invention.
  • a display screen 2300 shown in FIG. 23 is a pop-up window displayed when a form selected as an analysis target (here, form 2) does not exist in the Web operation history 51.
  • the user of the Web server 3 obtains data of a form that does not exist in the Web operation history 51 (here, form 2) and generates DB input data 72 in real time. Confirmation can be instructed as to whether or not the setting is to be performed.
  • the Web server 3 When confirming the setting, the user of the Web server 3 uses the input device 83 to press the “confirm setting” button. Then, the Web server 3 executes a control logic shown in FIG. 27 to be described later, and displays a setting confirmation result. On the other hand, to end the preview, press the “End Preview” button. Then, the Web server 3 ends the preview.
  • FIG. 24 is a diagram showing a second specific example of the preview analysis result display screen 2400 according to the embodiment of the present invention.
  • a display screen 2400 shown in FIG. 24 is a pop-up window that is displayed when a “confirm setting” button is pressed on the display screen 2300 of FIG.
  • the user of the Web server 3 obtains data of a form that does not exist in the Web operation history 51 (here, form 2) and generates DB input data 72 in real time. If it is not “setting to be performed”, a setting change can be instructed.
  • the user of the Web server 3 uses the input device 83 to press the “Change setting and end preview” button. Then, the Web server 3 executes control logic shown in FIG. 28 to be described later and changes the setting. Then, the preview ends. On the other hand, if you do not want to change the settings, press the "End preview without changing settings” button. Then, the Web server 3 ends the preview.
  • FIG. 25 is a flowchart showing a control logic for registering a current setting related to real-time data analysis according to the embodiment of the present invention.
  • the form currently set to generate the DB input data 72 in real time is registered.
  • step 2501 the Web server 3 acquires the URL of the HTML file to which one of the forms selected as the analysis target by the user of the Web server 3 belongs (S2501).
  • step 2502 the Web server 3 acquires the number of the form to be processed (S2502).
  • the Web server 3 records the URL acquired in step 2501 and the form number acquired in step 2502 in association with the processing target form in the setting table (S2503).
  • the setting table is a table that stores information on the form that is currently set to generate the DB input data 72 in real time. Details of the setting table will be described later with reference to FIG.
  • the Web server 3 repeats the processing in steps 2501 to 2503 for all the forms selected as analysis targets.
  • the Web server 3 registers, in the setting table 2600, information related to the form that is currently set so as to generate the DB input data 72 in real time among the forms selected as analysis targets.
  • FIG. 26 is a diagram showing an example of the setting table 2600 according to the embodiment of this invention.
  • the setting table 2600 stores information related to the form that is currently set to generate the DB input data 72 in real time.
  • the Web server 3 can refer to the setting table 2600 to check whether the form that does not exist in the Web operation history 51 is a form that is currently set to generate the DB input data 72 in real time.
  • FIG. 27 is a flowchart showing a control logic for confirming a current setting related to real-time data analysis according to the embodiment of the present invention.
  • step 2701 the Web server 3 sets information related to the form determined not to exist in the Web operation history 51. It is searched whether it is registered in the table 2600 (S2701).
  • the setting table 2600 is referenced to search whether the URL of the HTML file to which the form determined not to exist in the Web operation history 51 belongs and the form number are registered in association with each other.
  • the Web server 3 returns information on the corresponding form (S2703).
  • the corresponding form is a form that is not registered in the setting table 2600 among the forms determined not to exist in the Web operation history 51.
  • the form information includes the URL of the HTML file to which the form belongs and the form number.
  • it returns that there is no corresponding form (S2704).
  • step 2705 the Web server 3 converts the form number (number on the program) in the form information returned in step 2703 into a number on the user interface (S2705).
  • the Web server 3 displays the converted form number in a message box (S2706).
  • the message box here is a message box as shown on the display screen 2400 in FIG.
  • step 2706 the Web server 3 determines that there is no corresponding form, that is, all the forms determined not to exist in the web operation history 51 are DB input data in real time. 72 may be displayed to indicate that it is currently set to generate 72.
  • the Web server 3 confirms the current setting related to the real-time data analysis based on the setting confirmation instruction by the user, and displays the confirmation result.
  • FIG. 28 is a flowchart showing a control logic for changing a setting related to real-time data analysis according to the embodiment of the present invention.
  • the Web server 3 converts the input data of the form to be changed to the Web It records in the operation history 51 (S2801).
  • step 2802 the Web server 3 newly defines a schema (table) corresponding to the setting change target form, and inputs the DB in real time based on the input data (HTTP request) of the setting change target form.
  • the business data 72 is generated (S2802).
  • the Web server 3 changes the setting so that the input data of the form determined not to exist in the Web operation history 51 is recorded in the Web operation history 51. Further, a schema corresponding to a form determined not to exist in the Web operation history 51 is newly defined, and DB input data 72 is generated in real time by filtering input data of the form.
  • 29A and 29B are flowcharts showing a modification of the control logic of the history configuration analysis unit 39 according to the embodiment of this invention.
  • the history configuration analysis unit 39 acquires information on the form existing in the Web operation history 51 based on each operation history data (HTTP request) stored in the Web operation history 51.
  • information relating to the recording period of the operation history data is also acquired for each form existing in the Web operation history 51.
  • symbol is attached
  • step 2901 the history configuration analysis unit 39 registers the Date information of the operation history data (HTTP request) to be processed as the latest data (S2901). Specifically, it is registered in Date information 3004 and 3005 of the form information table 3000 as shown in FIG.
  • step 2902 the history configuration analysis unit 39 registers the period information of the operation history data to be processed (S2902).
  • the history structure analysis unit 39 determines whether or not the Date information of the operation history data to be processed is the latest (S2903). Specifically, the determination is made based on a comparison between the Date information of the operation history data to be processed and the Date information stored in the Date information 3004 of the form information table 3000.
  • the history configuration analysis unit 39 registers this Date information as the newest Date information (S2904).
  • the history configuration analysis unit 39 determines whether the Date information of the operation history data to be processed is the oldest (S2905). . Specifically, the determination is made based on a comparison between the Date information of the operation history data to be processed and the Date information stored in the Date information 3005 of the form information table 3000.
  • the history configuration analysis unit 39 registers this Date information as the oldest Date information (S2906).
  • the history configuration analysis unit 39 ends the process of Step 2902.
  • the history configuration analysis unit 39 acquires information on the form existing in the web operation history 51 based on each operation history data (HTTP request) stored in the web operation history 51.
  • information relating to the recording period of the operation history data is also acquired for each form existing in the Web operation history 51. Thereby, the period which can be analyzed for every form can be investigated.
  • FIG. 30 is a diagram showing a modification of the form information table 3000 according to the embodiment of this invention.
  • the form information table 3000 shown in FIG. 30 is generated by the control logic shown in FIGS. 29A and 29B.
  • a URL 3001 a resource URL 3002, a form number 3003, date information 3004 of the newest data, and date information 3005 of the oldest data are registered in association with each other.
  • the form can be uniquely identified by the URL 3001 and the form number 3003. Further, the data information period in each form can be recorded by the Date information 3004 and 3005.
  • FIG. 31 is a diagram showing an example of an analyzable data presentation screen 3100 according to the embodiment of this invention.
  • the analysis possible data presentation screen 3100 shown in FIG. 31 is displayed on the output device 82 by executing the program of the analysis data selection unit 34.
  • data presence / absence information indicating whether or not data exists in the Web operation history 51, and the Web operation history 51 are displayed.
  • period information indicating a range (date and time) that can be analyzed is displayed.
  • the history configuration analysis unit 39 can extract period information that can be analyzed for each form existing in the Web operation history 51 by the control logic shown in FIGS. 29A and 29B described above. Therefore, when analyzing the Web operation history 51, the analysis data selection unit 34 presents an analyzable form and an analyzable period information based on the form information table 3000 shown in FIG.
  • FIG. 32 is a diagram showing a modification of the analysis data selection screen 3201 for the web operation history according to the embodiment of this invention.
  • the analysis data selection screen 3201 shown in FIG. 32 is displayed on the output device 82 by executing the program of the analysis data selection unit 34.
  • the user of the Web server 3 inputs information on the analysis data selection screen 3201 using the input device 83.
  • the analysis data selection screen 3201 includes a selection screen 3202 for the user of the Web server 3 to select a data range to be analyzed, and an analysis period setting menu for setting an analysis period for the form selected on the selection screen 3202 3203 and a Web operation screen 303 displayed on the display device 24 of the Web client 2.
  • selection screen 3202 shown in FIG. 32 is the same as the selection screen 2102 shown in FIG.
  • the history configuration analysis unit 39 can extract period information that can be analyzed for each form existing in the Web operation history 51 by the control logic shown in FIGS. 29A and 29B described above. Therefore, when the analysis period setting menu 3203 is selected, the analysis data selection unit 34 presents a screen for setting the analysis period of the selected form based on the form information table 3000. Details of the analysis period setting screen will be described later with reference to FIG.
  • FIG. 33 is a diagram illustrating a specific example of the analysis period setting screen 3301 according to the embodiment of this invention.
  • the analysis period setting screen 3301 shown in FIG. 33 is a screen that prompts the user to set the analysis period of the selected form (forms 1 and 3 in FIG. 32) when the analysis period setting menu 3203 is selected.
  • the user of the Web server 3 uses the input device 83 to set the start date and time and end date and time of the analysis target period on the analysis period setting screen 3301. Thereby, the analysis period of the operation history data in the Web operation history 51 can be set for each form.
  • FIG. 34 is a diagram showing an example of the session table 3400 according to the embodiment of this invention.
  • the session table 3400 is a table for managing session information.
  • the session information includes user information specified by the session ID, time information related to the session, regional information, and the like.
  • the session table 3400 and each table defined by the schema definition unit 35 can be associated with each other via a session ID.
  • the data inserted into each table defined by the schema definition unit 35 can be analyzed in a multifaceted manner using the session information managed by the session table 3400. Further, it is possible to analyze the relationship of data that is a component of each table via the session ID.

Abstract

 プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機であって、前記プロセッサは、Web操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する機能と、当該計算機のユーザにより選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、前記メモリに記録する機能を持つことを特徴とする計算機。

Description

計算機、計算機システム及びデータベースの構築支援方法
 本発明は、計算機に関し、特に、Webアプリケーションの操作履歴に基づいてデータベースの構築を支援する技術に関する。
 近年、Webアプリケーションの操作履歴(Web操作履歴)を解析することによって、サービス向上に有用なデータを抽出するニーズが高まっている(非特許文献1~3参照)。
 Web操作履歴には、エビデンスとしての役割があるためWeb操作にかかわるあらゆる種類のデータが記録されている。そのため、Web操作履歴から、有用なデータを抽出し、解析するためにはデータの加工が必要である。
 特に大容量の履歴データを多面的な視点で効率よく解析するためには、あらかじめ履歴データをデータベース(以下、「DB」という。)化しておく必要がある。
 DB化の方法には、DB構築者が履歴の中から必要な項目を選定し、それらの項目に基づいてスキーマを定義し、さらにプログラムなどを開発するなどして、定義したスキーマに合わせて操作履歴から必要なデータを抽出しDBを構築する方法がある。
 また、操作履歴が視覚的にわかりやすいかたちで検索できるように、Web画面単位(ファイル単位)で操作履歴を記録し、Web画面単位でDB化する方法がある。このような方法は特許文献1に開示されている。
特開2009-53740号公報
Jansen,J.B.,Spink,A.and Taksa,I."Handbook of Research on Web Log Analysis",IGI Global(2008). Lecturer,V.C.and Davamani, A.S."A survey on preprocessing methods for web usage data",International Journal of Computer Science and Information Security,Vol.7,No.3,pp.78-83(2010). Ratnakumar, A.J."An Implementation of web personalization using web mining techniques", Journal of Theoretical and Applied Information Technology,Vol.18,No.1,pp.67-73(2010).
 Web操作履歴解析用DBの構築にかかわるデータ項目の選定、スキーマの定義、定義したスキーマに合わせたデータの抽出・加工などの作業を主に人手で実施した場合、手間と時間がかかるという問題があった。また、特許文献1に開示された方法においては、履歴データを記録する際の負荷が高いという問題とWeb操作画面内のデータで条件付けられる検索が高速に処理できないという問題があった。前者は入力データをWeb画面表示用ファイルと合わせて保存するために、入力データを記録するWeb画面表示用ファイルの検索及びそのファイルへの入力データの埋め込みが必要となるためである。後者は、Web操作画面内のデータがテーブル化されていないためである。また、入力データをWeb画面表示用ファイル(ファイルには、タブなどのWeb画面表示に必要なデータも含まれる)とセットで記録するため、操作履歴の容量が大きくなるという問題があった。
 本発明は、上述した課題を考慮したものであって、Webアプリケーションの操作履歴を解析するためのDBを構築する際の手間(スキーマの定義やスキーマ定義に合わせて作成するロード用データの作成など)と時間を低減することができる計算機、計算機システム及びデータベースの構築支援方法を提供することを目的とする。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機であって、前記プロセッサは、Web操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する機能と、当該計算機のユーザにより選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、前記メモリに記録する機能を持つことを特徴とする。
 本発明によれば、Webアプリケーションの操作履歴をDBに記録する際の手間と時間を低減することができる。
本発明の実施形態の計算機システムの構成例を示す図である。 本発明の実施形態のWebサーバの構成例を示す図である。 本発明の実施形態の解析データ選定画面の一例を示す図である。 本発明の実施形態のスキーマ定義部によって定義されるテーブルの構成とフォームとの関係を示す図である。 本発明の実施形態の解析データ選定部の制御ロジックを示すフローチャートである。 本発明の実施形態の解析データ選定部によって抽出される各フォーム内の入力データ項目の具体例を説明する図である。 本発明の実施形態のスキーマ定義部の制御ロジックを示すフローチャートである。 本発明の実施形態のスキーマ定義部によって生成されるテーブルの具体例を示す図である。 本発明の実施形態のデータフィルタ部の制御ロジックを示すフローチャートである。 本発明の実施形態のデータフィルタ部によって生成されるデータフィルタリングプログラムの一例を示す図である。 本発明の実施形態のデータ送信部がデータフィルタ部に送信するリクエストの一例を示す図である。 本発明の実施形態のWebクライアント及びWebサーバの動作の制御ロジックを示すシーケンス図である。 本発明の実施形態のフィルタリング関数とフォーム名とを対応付けたテーブルの一例を示す図である。 本発明の実施形態のDB入力用データの具体例を示す図である。 本発明の実施形態のフォームから取得可能なデータを説明する図である。 本発明の実施形態のWeb操作履歴に格納されたデータの一例を示す図である。 本発明の実施形態のデータ抽出・生成部の制御ロジックを示すフローチャートである。 本発明の実施形態の履歴構成解析部の制御ロジックを示すフローチャートである。 本発明の実施形態のフォーム情報テーブルの一例を示す図である。 本発明の実施形態のWeb操作履歴の解析データ選定画面の第一の例を示す図である。 本発明の実施形態のWeb操作履歴の解析データ選定画面の第二の例を示す図である。 本発明の実施形態のプレビュー解析の制御ロジックを示すフローチャートである。 本発明の実施形態のプレビュー解析結果の表示内容の第一の具体例を示す図である。 本発明の実施形態のプレビュー解析結果の表示内容の第二の具体例を示す図である。 本発明の実施形態のリアルタイムデータ解析に係る現在の設定を登録する制御ロジックを示すフローチャートである。 本発明の実施形態の設定テーブルの一例を示す図である。 本発明の実施形態のリアルタイムデータ解析に係る現在の設定を確認する制御ロジックを示すフローチャートである 本発明の実施形態のリアルタイムデータ解析に係る設定を変更する制御ロジックを示すフローチャートである。 本発明の実施形態の履歴構成解析部の制御ロジックの変形例を示すフローチャートである。 本発明の実施形態の履歴構成解析部の制御ロジックの変形例を示すフローチャートである。 本発明の実施形態のフォーム情報テーブルの変形例を示す図である。 本発明の実施形態の解析可能データ提示画面の一例を示す図である。 本発明の実施形態のWeb操作履歴の解析データ選定画面の変形例を示す図である。 本発明の実施形態の解析期間設定画面の具体例を示す図である。 本発明の実施形態のセッションテーブルの一例を示す図である。
 以下、本発明を実施するための形態について図面を参照して説明する。
 図1は、本発明の実施形態の計算機システム1の構成例を示す図である。計算機システム1は、LAN(Local Area Network)等のネットワーク4を介して接続されたWebクライアント(クライアント装置)2と、Webサーバ(計算機)3とを備える。
 Webクライアント2は、Webサーバ3によって提供される機能やデータを利用する計算機である。Webクライアント2は、CPU(Central Processing Unit)、メモリ、インタフェース(不図示)等を備えた一般的なコンピュータ装置である。このWebクライアント2は、Web操作画面表示部21、データ入力部22及びデータ送信部23を備える。
 Web操作画面表示部21は、Webクライアント2からのリクエストに応じて、Webサーバ3からレスポンスとして送られてくるリソースに基づいて、表示装置24上にWeb操作画面を表示する。データ入力部22も、Webサーバ3からレスポンスとして送られてくるリソースに基づいて表示されたWeb操作画面上におけるユーザの操作情報(入力データ)を、Web操作画面上の各入力用エレメントに割り当てた変数に入力する。データ送信部23は、Web操作画面上の各入力用エレメントの変数に入力された入力データをWebサーバ3に送信する。
 Webサーバ3は、Webクライアント2からのリクエストに応じて、Webクライアント2にWebアプリケーションのリソースやデータを提供する計算機である。このWebサーバ3は、DB構築支援部30を備える。
 DB構築支援部30は、リアルタイムデータ解析部31、過去データ解析部32及びDB構築部33を含む。このDB構築支援部30は、Webクライアント2から受信した入力データ又はWeb操作履歴51に格納された操作履歴データに基づくDB構築を支援する。
 リアルタイムデータ解析部31は、Webクライアント2からリアルタイムに受信した入力データを解析する。一方、過去データ解析部32は、Webクライアント2から過去に受信し、Web操作履歴51に蓄積された操作履歴データを解析する。これらリアルタイムデータ解析部31及び過去データ解析部32は、解析結果としてスキーマ定義71及びDB入力用データ72を生成する。DB構築部33は、生成されたスキーマ定義71及びDB入力用データ72に基づいて、Web解析用DB61を構築する。
 リアルタイムデータ解析部31は、解析データ選定部34、スキーマ定義部35、スキーマ更新部36、データフィルタ部37及び入力データ生成部38を含む。
 過去データ解析部32は、解析データ選定部34、スキーマ定義部35、スキーマ更新部36、履歴構成解析部39及びデータ抽出・生成部40を含む。
 すなわちリアルタイムデータ解析部31及び過去データ解析部32は、解析データ選定部34、スキーマ定義部35及びスキーマ更新部36を共有する。
 解析データ選定部34は、Webクライアント2から受信する入力データ又はWeb操作履歴51に格納された操作履歴データにおいて、解析すべきデータの項目を、クライント2に提示するWeb操作画面の画面構成に基づいて選定する。解析データ選定部34の詳細については、図5を用いて後述する。
 スキーマ定義部35は、解析データ選定部34によって選定されたデータに基づいてスキーマを定義し、定義されたスキーマ(スキーマ定義71)を出力する。スキーマとは、作成すべきDBのデータ構成(本発明の実施形態ではテーブルの構成)を記述したものであり、スキーマ定義では、DBのデータ構成(本発明の実施形態ではテーブル構成)を記述する。なお、スキーマ定義部35の詳細については、図7を用いて後述する。スキーマ定義部35によって定義されたスキーマは、スキーマ更新部36によって更新(修正、変更)可能である。
 スキーマ更新部36は、DB構築者又はWeb操作履歴解析者(以下、説明の便宜上「Webサーバ3のユーザ」という。)による指示に従って、スキーマ定義部35によって定義されたスキーマを更新する。
 データフィルタ部37は、スキーマ定義部35によって定義されたスキーマに従って、Webクライアント2から受信した入力データをフィルタリングするデータフィルタリングプログラムを生成する。また、生成されたデータフィルタリングプログラムに従って、入力データをフィルタリングする。データフィルタ部37の詳細については、図9を用いて後述する。
 入力データ生成部38は、データフィルタ部37によってフィルタリングされたデータに基づいて、DB入力用データ72を生成する。DB入力用データ72とは、スキーマ定義に基づいてCSV形式等の所定の形式で記述され、Web解析用DB61にロード可能なデータである。入力データ生成部38の詳細については、図12及び図14を用いて後述する。
 履歴構成解析部39は、Web操作履歴51に格納された操作履歴データの構成を解析する。履歴構成解析部39の詳細については、図18、図29A及び図29Bを用いて後述する。
 データ抽出・生成部40は、スキーマ定義71に従って、Web操作履歴51に格納された操作履歴データからデータを抽出し、抽出されたデータに基づいてDB入力用データ72を生成する。データ抽出・生成部40の詳細については、図17を用いて後述する。
 Web操作履歴51は、Webクライアント2から受信したユーザの操作履歴データを蓄積するファイルである。ここでいう操作履歴データとは、プロトコルのヘッダや、タグ等のユーザによって入力されたデータとは直接関係のないデータも含む。
 Web解析用DB61は、DB構築部33によってスキーマ定義71及びDB入力用データ72に基づいて構築されるデータベースである。
 以上に示す構成により、本発明の実施形態の計算機システム1は、DB構築支援部30が、Webクライアント2から受信する入力データ又はWeb操作履歴51に格納された操作履歴データに基づくDBの構築を支援する。
 図2は、本発明の実施形態のWebサーバ3の構成例を示す図である。
 図2に示すWebサーバ3は、CPU310、ノースブリッジ320、サウスブリッジ330、SDRAM(Synchronous Dynamic Random Access Memory)340及び記憶装置350を備える。
 CPU310は、記憶装置350に記憶された各種プログラムを実行する演算処理装置である。ノースブリッジ320は、PCIe(PCI express)バスを介して、LANカード360を接続するためのLANスロット(不図示)、SASカード370A、370Bを接続するためのSASスロット(不図示)に接続される。SDRAM340は、例えばDDR2(Double Data Rate 2)規格のSDRAMである。
 サウスブリッジ330は、PCIeバスを介して、VGA(Video Graphics Array)カード380を接続するためのVGAスロット(不図示)に接続される。また、USBバスを介してUSBポート(不図示)に接続される。また、SATA(Serial Advanced Technology Attachment)規格の記憶装置350に接続される。
 記憶装置350には、OS(Operating System)351、Webアプリケーション352、DB構築支援プログラム353、スキーマ定義71、DB入力用データ72、DBMS(Data Base Management System)354が格納される。DB構築支援プログラム353は、DB構築支援部30(図1参照)の各機能を実現するプログラムである。
 このWebサーバ3は、LANカード360を介してネットワーク機器81に接続される。また、SASカード370A、370Bを介して記憶装置50、60に接続される。記憶装置50は、Web操作履歴51を記憶する。記憶装置60は、Web解析用DB61を記憶する。
 このWebサーバ3は、VGAカード380を介してディスプレイ等の出力装置82に接続される。さらに、USBポートを介してキーボード、マウス等の入力装置83に接続される。
 以上に示す構成において、Web操作履歴51及びWeb解析用DB61は、それぞれ別の記憶装置50、60に記憶されているが、この場合に限らない。例えば同じ記憶装置に記憶されてもよい。同様に、DB構築支援プログラム353、スキーマ定義71及びDB入力用データ72も記憶装置350に記憶されているが、この場合に限らない。例えば記憶装置50、60に記憶されてもよい。
 図3は、本発明の実施形態の解析データ選定画面301の一例を示す図である。図3に示す解析データ選定画面301は、解析データ選定部34のプログラムを実行することによって出力装置82に表示される。Webサーバ3のユーザは入力装置83を用いて、解析データ選定画面301上でDB構築に必要な情報を入力する。
 解析データ選定画面301は、Webサーバ3のユーザが解析対象のデータ範囲を選定するための選定画面302と、Webクライアント2の表示装置24上に表示されるWeb操作画面303とを含む。
 Web操作画面303は、1又は複数のフォームからなる。フォームとは、Webクライアント2のユーザ(以下、「Webユーザ」という。)がデータを入力する入力画面の構成単位である。図3に示す例では、検索を実行するためのフォーム1(検索フォーム)、検索結果に対する絞り込みを実行するためのフォーム2(絞り込みフォーム)、絞り込み結果を発注するためのフォーム3(発注フォーム)の3つのフォームからなる。
 選定画面302において、Webサーバ3のユーザは、解析対象のデータ範囲をフォーム単位で選定する。具体的には、解析対象のフォームを選択してチェックし、決定ボタンを押下する。そうすると、解析データ選定部34は、チェックされたフォームのデータを解析対象として選定する。
 なお、以下、フォーム単位で解析対象のデータ範囲を選定する場合について説明するが、この場合には限らない。その他の構成単位で解析対象のデータ範囲を選定してもよい。
 図4は、本発明の実施形態のスキーマ定義部35によって定義されるテーブル400の構成とフォームとの関係を示す図である。図4に示すテーブル400は、フォーム1(409)が解析対象として選定された場合に、フォーム1(409)の情報に基づいて定義されるテーブルである。
 テーブルの定義では、テーブルを構成するデータ項目とその型情報を記述する。フォーム情報に基づいて定義されるテーブルは、フォーム内の入力データ記入欄(テキストボックスなどのエレメント)に関する項目(以下、「入力データ項目410」という。)、フォーム単位で生成される個々の入力データセットを識別するためのデータセットID、Webサーバ3側で処理する一連の入力データ処理を識別するためのシーケンスID、Webクライアント2側の一連のWeb操作を識別するためのセッションIDから成る。
 入力データ項目410は、名前と型情報を持つ。そのため各データ入力項目の名前と型の情報を抽出してテーブルを記述する。図4の例では、Keyword:String403、Shohin_cd:String404、Kakaku: Number405となっている。
 なお、Web操作画面303がHTML(HyperText Markup Language)によって記述される場合、フォーム内の入力データ項目の名前及び型情報は、それぞれwindow.document.form[i].element[j].name、window.document.form[i].element[j].typeで示される。
 そこで、解析データ選定部34は、まず解析対象として選定されたフォームの番号を、HTML内のフォーム番号iに変換し、変換されたフォーム番号iに含まれる各エレメント(入力データの記入欄)jの名前及び型情報を抽出する。その後、スキーマ定義部35は、抽出された各エレメントjの名前及び型情報に基づいて、テーブルを定義する。
 データセットID406により、テーブル内のデータセットを一意に識別できる。セッションID408により、同一セッション内に処理された入力データのセットを識別できる。シーケンスID407により、同一セッション内のデータセット(同一セッション内に異なる種類のフォームから入力されたデータセットが複数ある場合においても、従って異なるテーブル間のデータセットであっても)が入力された順番(の前後関係)を明確にすることができる。シーケンスID407には、例えばタイムスタンプを使用することができる。なお、データセットID406、シーケンスID407及びセッションID408には、Webサーバ3によってデータが挿入される。
 図5は、本発明の実施形態の解析データ選定部34の制御ロジックを示すフローチャートである。解析データ選定部34は以下に示す制御ロジックを実行する。
 まずステップ501において、解析データ選定部34は、図3に示すような解析データ選定画面301を提示する(S501)。Webサーバ3のユーザによって、解析データ選定画面301上で解析対象のフォームが選定されると、選定されたフォームのフォーム番号を取得する(S502)。具体的には、選定されたフォームのユーザインタフェース上の番号を、Web操作画面を記述するプログラム上の番号に変換する。
 その後ステップ503において、解析データ選定部34は、ステップ502で取得されたフォーム番号のうち、いずれかのフォーム番号を選択する(S503)。その後ステップ504において、ステップ503で選択されたフォーム番号及びフォームの名前を記録する(S504)。ここでは、例えば記憶装置350(図2参照)に記録する(以下、同様)。
 その後ステップ505において、解析データ選定部34は、ステップ503で選択されたフォーム番号のフォームに含まれるエレメント番号のうち、いずれかのエレメント番号を選択する(S505)。その後ステップ506及びステップ507において、ステップ505で選択されたエレメントの名前及び型情報をそれぞれ取得し、記録する(S506、S507)。
 その後ステップ508及び509の処理により、全てのフォーム番号及び全てのエレメント番号に対して、一連の処理を繰り返す。
 以上に示す処理により、解析データ選定部34は、解析データ選定画面301上で選定された解析対象の各フォームについて、フォーム内のエレメント(入力データ項目)に関する情報を抽出する。なお、以上に示す制御ロジックの全部又は一部は、スキーマ定義部35によって実行されてもよい。
 図6は、本発明の実施形態の解析データ選定部34によって抽出される各フォーム内の入力データ項目の具体例を説明する図である。図6では、解析データ選定画面301(図3参照)上の全てのフォーム1、2、3が選定された場合に、図5に示す制御ロジックによって抽出される各フォーム内の入力データ項目に関する情報を示している。
 フォーム1が選定された場合に抽出される情報は、(#1, kensaku, keyword:string, shohin_cd:string, kakaku:number)である。"#1"は、フォーム1を一意に識別するための識別子(ID)である。"kensaku"は、フォーム1の名前である。なお、フォームの名前は、当該フォームに基づいて生成されるテーブルの名前に使用される。"keyword:string"は、フォーム1に含まれる1番目のエレメントの名前及び型情報が、それぞれkeyword、String型であることを示す。"shohin_cd:string"は、フォーム1に含まれる2番目のエレメントの名前及び型情報が、それぞれshohin_cd、String型であることを示す。"kakaku:number"は、フォーム1に含まれる3番目のエレメントの名前及び型情報が、それぞれkakaku、Number型であることを示す。フォーム2、3については、ここでは説明を省略する。
 図7は、本発明の実施形態のスキーマ定義部35の制御ロジックを示すフローチャートである。スキーマ定義部35は、以下に示す制御ロジックを実行することによって、各フォームに対応するスキーマ(ここではテーブル)を定義する。
 まずステップ701において、スキーマ定義部35は、解析対象として選定された各フフォームの名前のうち、いずれかのフォームの名前をテーブル名として設定する(S701)。例えばフォーム1のフォーム名は"kensaku"であるので、フォーム1に対応して生成されるテーブルの名前を"Kensaku_Table"とする。
 次にステップ702において、スキーマ定義部35は、フォームの名前に対応して抽出された各入力データ項目(型情報を含む)に基づいて、テーブルを生成する(S702)。例えばフォーム1のフォーム名"kensaku"に対応して抽出される各入力データ項目は、"keyword:string、shohin_cd:string、kakaku:number"である。そのため、このデータセットに基づいて、図4に示すようなテーブル400の入力データ項目410を挿入する。
 その後ステップ703において、スキーマ定義部35は、ステップ702で生成されたテーブルに、データセットID(型情報を含む)を挿入する(S703)。図4に示す例では、テーブル400にデータセットID406とその属性を挿入する。
 その後ステップ704において、スキーマ定義部35は、セッションIDの情報を取得する(S704)。セッションIDの情報とは、Webサーバ3上で実行されるWebアプリケーションに固有の情報である。なお、セッションIDに限定されるものではない。
 その後ステップ705において、スキーマ定義部35は、ステップ702で生成されたテーブルに、セッションID(型情報を含む)を挿入する(S705)。図4に示す例では、テーブル400にセッションID408とその属性を挿入する。
 その後ステップ706において、スキーマ定義部35は、ステップ702で生成されたテーブルに、シーケンスID(型情報を含む)を挿入する(S706)。図4に示す例では、テーブル400にシーケンスID407とその属性を挿入する。
 その後ステップ707の処理により、解析対象として選定された全てのフォームについてステップ702~706の処理を繰り返す。これにより、スキーマ定義部35は、解析対象として選定されたフォーム毎にテーブルを自動的に定義することができる。言い換えると、スキーマの定義に係る時間と手間を低減することができる。
 図8は、本発明の実施形態のスキーマ定義部35によって生成されるテーブル800の具体例を示す図である。
 図8に示すテーブル801、802及び803は、それぞれフォーム1、2、3から抽出されるデータセットに基づいて定義されたテーブルである。これらテーブル801、802及び803では、データセットID、シーケンスID及びセッションIDも定義される。
 図9は、本発明の実施形態のデータフィルタ部37の制御ロジックを示すフローチャートである。図10は、本発明の実施形態のデータフィルタ部37によって生成されるデータフィルタリングプログラム1000の一例を示す図である。
 スキーマ定義部35によるスキーマ定義が終了すると、データフィルタ部37は、以下に示す制御ロジックを実行することによって、図10に示すようなデータフィルタリングプログラム1000を自動的に生成する。
 まずステップ901において、データフィルタ部37は、フィルタリングすべきデータ項目のセットの番号を選択する(S901)。ここでは、番号"#1"が選択されるものとする。
 次にステップ902において、データフィルタ部37は、データフィルタリングを実行するためのフィルタリング関数を定義する(S902)。図10に示す例では、フィルタリング関数filtering_kensaku1003が定義される。
 その後ステップ903において、データフィルタ部37は、ステップ902で定義されたフィルタリング関数内に、フィルタリングすべきデータセットをフィルタリングするためのコードを生成する(S903)。図10に示す例では、コード1004が生成される。コード1004は、各入力データ項目"keyword、shohin_cd、kakaku"の値をグローバル変数に保存するためのコードである。
 その後ステップ904において、データフィルタ部37は、Webクライアント2からの入力データ受信時にステップ902で定義されたフィルタリング関数を呼び出すコードを生成する(S904)。図10に示す例では、コード1002が関数input_kensaku1001内に生成される。コード1002は、フィルタリング関数filtering_kensaku1003を呼び出すコードである。関数input_kensaku1001は、Webクライアント2からの入力データ受信時に呼び出される関数である。
 ステップ905の処理により、全てのデータセットの番号についてステップ901~904の処理を繰り返す。
 以上に示す処理により、データフィルタ部37は、スキーマ定義部35によって定義されたテーブルに従って、データフィルタリングプログラムを自動的に生成する。
 図11は、本発明の実施形態のデータ送信部23がデータフィルタ部37に送信するリクエスト1100の一例を示す図である。
 図11に示すリクエスト1100には、Web操作画面303上のフォーム1(検索フォーム)に入力されたデータが記述されている。リクエスト1100には、メソッド名(GETメソッド又はPOSTメソッド。図11に示す例では、GETメソッド。)が記述されている。
 GETメソッドのリクエストラインには、呼び出し対象のリソースのURL(Uniform Resource Locator)1101と、クエリ文字列1102とが記号"?"によって連結されて記述される。なお、URL1101は、絶対パスでも相対パスでもよい。クエリ文字列1102には、パラメータ名(フォーム内のエレメントの名前)と値のセットが"&"で連結されて記述される。図11に示すクエリ文字列1102の例では、パラメータkeywordとその値XXXX、パラメータshohin_cdとその値YYYYY、パラメータkakakuとその値UUUUUのセットが記述されている。
 またリクエスト1100は、Date1103、Referer1104及びCookie1105のヘッダ情報を含む。Date1103には、リクエスト1100が発行された時間が記述される。Referer1104には、GETメソッドによって指定されたリソースのリンク元のURLが記述される。Cookie1105には、Webクライアント2とWebサーバ3との間のリクエスト1100の送受信に係わるセッションのIDが記述される。
 図12は、本発明の実施形態のWebクライアント2及びWebサーバ3の動作の制御ロジックを示すシーケンス図である。ここでは、Webクライアント2がWebサーバ3にリクエストを送信する動作と、Webサーバ3が、受信したリクエストに基づいてクライントから送信されたデータをリアルタイムにフィルタリングし、DB入力用データ生成処理を実行する動作とを説明する。
 まずWebクライアント2の動作について説明する。
 まずステップ1201において、Webクライアント2は、Webユーザによる入力データ確定イベントを契機に、このイベントに対応するデータセットの値をHTTPのリクエストによりWebサーバ3に送信する(S1201)。ここでいう入力データ確定イベントとは、Webクライアント2のユーザがフォーム内の実行ボタンを押した際に発生するイベントである。確定イベントは、例えばWeb操作画面303上の検索フォームで、Webクライント2側のユーザがフォーム内に検索キーワードを入力した後、検索という実行ボタンを押下した時に発生する。
 すなわちステップ1201では、Webクライアント2は、Web操作画面303上で入力データの確定イベントが発生すると、イベントを発生したフォーム内のデータセットの値をHTTPのリクエストによりWebサーバ3に送信する。
 なお、Web操作画面303がHTMLによって記述される場合、Web操作画面303の情報を記述したHTMLファイルにおいて実行ボタンが押下された時に送信されるリクエストの種類及びそのリクエストにより呼び出されるリソースのURL(本実施例では、Webサーバ3上のリソース)が記述されている。これらの情報を利用して、フォーム内のデータセットの値を送信するHTTPのリクエストを作成し、Webサーバ3に送信する。その後処理を終了する。
 次にWebサーバ3の動作について説明する。
 以下に示すWebサーバ3の動作は、Webサーバ3がWebクライアント2に提供しているWebアプリケーションへのWebクライアント2のユーザのログインによって開始し、ログアウトによって終了する。
 まずステップ1202において、Webサーバ3は、ステップ1201でWebクライアント2によって送信されたHTTPリクエストより、データセットの値を取得する(S1202)。
 次にステップ1203において、Webサーバ3は、データフィルタリングプログラムを実行することにより、ステップ1202で取得されたデータセットの値をフィルタリングし、一時記録する(S1203)。データフィルタリングプログラムは、ステップ1201でWebクライアント2が送信したHTTPリクエストにより呼び出したプログラム(本実施例ではWebサーバ3内のプログラム)内で呼び出すことにより実行される。
 図10で説明したフィルタリングプログラムは、Webクライアント2側のユーザにより、検索という名前の実行ボタンが押下された時に呼び出されるリソースとしてkensaku.phpプログラムを呼び出した場合の例である。このプログラムの中で、Webクライアント2より送信されたHTTPリクエストで送信されたフォーム内のエレメントの値(データセットの値)をフィルタするための関数filtering_kensaku1002を呼び出している。
 次に、Webサーバ3は、Webクライアント2から送信されたHTTPリクエスト内で指定されたリソースのURLと、Referer情報とに基づいて、リクエスト送信元のフォームの名前を取得する(S1204)。具体的には、Referer情報により、フォームに関する情報を記述しているHTMLファイルを調べる。さらに該HTMLファイル内のフォームの情報にフォーム内の実行ボタンが押下された時のアクション情報に該URLが記述されているフォームを調べ、該当フォームの名前を取得する。
 その後ステップ1205において、Webサーバ3は、フィルタリングされたデータセットを識別するためのデータセットIDを生成し、ステップ1204で取得された名前のファイルに記録する(S1205)。ファイルとは、例えばCSV形式のファイルである。ファイルの詳細については、図14を用いて後述する。
 その後ステップ1206~1208において、Webサーバ3は、シーケンスID、セッションID及びステップ1203でフィルタリングされたデータセットの値を、ステップ1205で取得された名前のファイルに記録する(S1206~S1208)。
 なお、ステップ1204において、Webサーバ3は、HTTPリクエスト内に記述された呼び出しリソースのURLと、Referer情報とに基づいて、フォームの情報を記述したHTMLファイルを調べ、リクエスト送信元のフォームの名前を取得したが、この場合には限らない。例えば、図13に示すような、フィルタリング関数とフォームの名前とが対応付けられたテーブル1300を予め作成し、呼び出されたフィルタリング関数に対応付けられたフォーム名を取得してもよい。
 以上に示す処理により、Webクライアント2は、Webサーバ3にリクエストを送信する。一方、Webサーバ3は、受信したリクエストに基づいてリアルタイムフィルタリング及びDB入力用データ生成処理を自動的に実行する。これにより、DB入力用データの生成にかかる手間と時間を低減することができる。
 図13は、本発明の実施形態のフィルタリング関数とフォーム名とを対応付けたテーブル1300の一例を示す図である。図13に示すテーブル1300は、データフィルタ部37がデータフィルタリングプログラムを生成する場合に併せて生成する。
 テーブル1300は、フィルタリング関数1301と、フォームが属するHTMLファイルのURL1302と、フォーム名1303とを対応付けて格納する。なお、URL1302はオプショナルな情報である。但し、URL1302も対応付けることにより、異なるHTMLファイルに属する同じ名前のフォームが存在する場合でかつ、フォーム名から一意に定まるフィルタリング関数名を自動的に生成する場合であっても、フィルタリング関数名と、フィルタリングの対象となるフォームが属するURLにより、対応するフォーム名を特定することができる。
 図14は、本発明の実施形態のDB入力用データ72の具体例を示す図である。
 図14に示すDB入力用データ72は、DB入力用データ721~723を含む。各DB入力用データ721~723は、スキーマ定義部35によって定義されたテーブル毎、つまりフォーム毎に生成されるCSV形式のデータファイルである。ファイル名は、フォーム名に拡張子"_log"を連結したものである。
 DB入力用データ721は、フォーム1(フォーム名kensaku)に対応して定義されたテーブルに基づいて生成されたデータファイルである。同様に、DB入力用データ722、723は、それぞれフォーム2、3(フォーム名はそれぞれshiborikomi、hattyuu)に対応して定義されたテーブルに基づいて生成されたデータファイルである。
 各DB入力用データ721~723の各エントリは、データセットID、シーケンスID、セッションID、各入力データ項目が","によって連結されている。これにより、各DB入力用データ721~723を、それぞれの対応するテーブルに容易に格納することができる。
 図15は、本発明の実施形態のフォームから取得可能なデータを説明する図である。ここでは、Webサーバ3が、解析対象として選定されたフォームから取得可能なデータについて説明する。
 Webサーバ3は、解析データ選定画面301(図3参照)上で選定されたフォームに関する情報A及び情報Bを取得することができる。
 情報Aは、選定されたフォームが記述されたHTMLのURLである。情報Bは、選定されたフォームの情報である。すなわち情報Bは、フォームの番号、フォームのアクション情報、フォームの名前及びフォーム内のエレメント名(入力データ項目名)を含む。フォームのアクション情報とは、フォーム内のデータを処理するリソースのパスである。
 Webサーバ3は、Web操作履歴51に格納された操作履歴データから取得される情報A及び情報Bに基づいて、解析対象として選定されたフォームに関する情報の有無を確認することができる。
 図16は、本発明の実施形態のWeb操作履歴51に格納された操作履歴データ1600の一例を示す図である。
 図16に示す操作履歴データ1600は、Web操作画面303上のフォーム1(検索フォーム)に入力されたデータが格納されたHTTPリクエストである。操作履歴データ1600には、メソッド名(GETメソッド又はPOSTメソッド。図16に示す例では、GETメソッド。)が記述されている。
 GETメソッドのリクエストラインには、呼び出し対象のリソースのURL1601と、クエリ文字列1602とが記号"?"によって連結されて記述される。なお、URL1601は、絶対パスでも相対パスでもよい。クエリ文字列1602には、パラメータ名(フォーム内のエレメントの名前)1603~1605と値のセットが"&"で連結されて記述される。図16に示すクエリ文字列1602の例では、パラメータkeywordとその値XXXX、パラメータshohin_cdとその値YYYYY、パラメータkakakuとその値UUUUUのセットが記述されている。すなわち、URL1601及びクエリ文字列1602にはフォームから取得可能な情報Bが記録されている。
 また操作履歴データ1600は、Date1606、Referer1607及びCookie1608のヘッダ情報を含む。Date1606には、操作履歴データ1600が発行された時間が記述される。Referer1607には、GETメソッドによって指定されたリソースのリンク元のURLが記述される。すなわち、フォームから取得可能な情報Aが記録される。Cookie1608には、Webクライアント2とWebサーバ3との間での操作履歴データ1600の送受信に係わるセッションのIDが記述される。
 Webサーバ3は、操作履歴データ1600内のReferer1607から抽出されるURLと、URL1601に記述されたアクション情報との対応関係に基づいて、解析対象として選定されたフォームに関する情報が存在するか否かを確認することができる。また、解析対象として選定されたフォームに関する情報が存在する場合には、フォーム内の各データ入力項目(図16に示す例では、keyword、shohin_cd、kakaku)の変数の値を抽出することができる。
 さらに、Webサーバ3は、Date1606、Cookie1608の情報に基づいて、それぞれシーケンスID、セッションIDを生成することができる。
 図17は、本発明の実施形態のデータ抽出・生成部40の制御ロジックを示すフローチャートである。データ抽出・生成部40は、Web操作履歴51に格納された操作履歴データを解析することにより、スキーマ定義部35によって定義されたスキーマに対応するデータを抽出する。また、抽出されたデータに基づいて、DB入力用データ72を生成する。
 まずステップ1701において、データ抽出・生成部40は、Web操作履歴51に格納された操作履歴データ(HTTPリクエスト)のReferer情報を参照し、解析対象として選定されたフォームが属するHTMLファイルのURLと一致するURLが記述された操作履歴データを検索する(S1701)。
 次にステップ1702において、データ抽出・生成部40は、ステップ1701による検索の結果として抽出された操作履歴データに係るリソースのURLが、解析対象として選定されたフォームのアクション情報を示すものか否か確認する(S1702)。
 その後ステップ1703において、データ抽出・生成部40は、ステップ1702においてYESの場合、ステップ1701で抽出された操作履歴データから、データセットの名前及び値を抽出し記録する(S1703)。
 その後ステップ1704において、データ抽出・生成部40は、ステップ1701で抽出された操作履歴データ内のCookie情報から、セッションIDを抽出し記録する(S1704)。
 その後ステップ1705において、データ抽出・生成部40は、ステップ1701で抽出された操作履歴データ内のDate情報を、シーケンスIDとして記録する(S1705)。
 その後ステップ1706において、データ抽出・生成部40は、ステップ1701で抽出された操作履歴データを一意に識別するデータセットIDを生成する(S1706)。
 その後ステップ1707において、データ抽出・生成部40は、ステップ1703~1705で記録されたデータセット、セッションID、シーケンスID及びステップ1706で生成されたデータセットIDに基づいて、解析対象として選定されたフォームに対応するテーブルのDB入力用データを生成する(S1707)。具体的には、図14に示すようなDB入力用データ72を生成する。
 以上に示す処理により、データ抽出・生成部40は、Web操作履歴51に格納された操作履歴データを解析することにより、スキーマ定義部35によって定義されたスキーマに対応するデータを抽出する。また、抽出されたデータに基づいて、DB入力用データ72を生成する。
 図18は、本発明の実施形態の履歴構成解析部39の制御ロジックを示すフローチャートである。履歴構成解析部39は、Web操作履歴51に格納された各操作履歴データ(HTTPリクエスト)に基づいて、Web操作履歴51内に存在するフォームに関する情報を取得する。
 まずステップ1801において、履歴構成解析部39は、Web操作履歴51内のいずれかの操作履歴データ(HTTPリクエスト)のReferer情報に記述されたURLを取得し記録する(S1801)。
 次にステップ1802において、履歴構成解析部39は、処理対象の操作履歴データのリソースのURL情報を取得し記録する(S1802)。
 その後ステップ1803において、履歴構成解析部39は、ステップ1801で取得されたURLのHTMLファイル内において、ステップ1802で取得されたリソースのURLがアクション情報として指定されたフォームを検索する(S1803)。
 その後ステップ1804において、履歴構成解析部39は、ステップ1803による検索の結果として抽出されたフォームの番号を取得し記録する(S1804)。
 その後ステップ1805において、履歴構成解析部39は、ステップ1803で取得されたフォームの情報が、フォーム情報テーブルに登録されているか否かを判定する(S1805)。なお、フォーム情報テーブルとは、Web操作履歴51内に存在するフォームに関する情報が記録されたテーブルである。フォーム情報テーブルの詳細については、図19を用いて後述する。
 登録されている場合(S1805でYES)、ステップ1807に進む。一方、登録されていない場合(S1805でNO)、ステップ1806において、履歴構成解析部39は、ステップ1803で取得されたフォームの情報を、フォーム情報テーブルに登録する(S1806)。
 その後ステップ1807の処理により、履歴構成解析部39は、Web操作履歴51内に存在する全ての操作履歴データについて、ステップ1801~1806の処理を繰り返す。
 以上に示す処理により、履歴構成解析部39は、Web操作履歴51に格納された各操作履歴データ(HTTPリクエスト)に基づいて、Web操作履歴51内に存在するフォームに関する情報を取得し、フォーム情報テーブルに登録する。
 図19は、本発明の実施形態のフォーム情報テーブル1900の一例を示す図である。図19に示すフォーム情報テーブル1900は、図18に示す制御ロジックによって生成される。
 フォーム情報テーブル1900では、Referer情報で指定されるURL1901、リソースのURL1902及びフォーム番号1903が対応付けられて登録される。なお、URL1901及びフォーム番号1903によって、フォームを一意に識別することができる。
 図20は、本発明の実施形態のWeb操作履歴の解析データ選定画面2001の第一の例を示す図である。図20に示す解析データ選定画面2001は、解析データ選定部34のプログラムを実行することによって出力装置82に表示される。Webサーバ3のユーザは入力装置83を用いて、解析データ選定画面2001上で情報を入力する。
 解析データ選定画面2001は、Webサーバ3のユーザが解析対象のデータ範囲を選定するための選定画面2002と、Webクライアント2の表示装置24上に表示されるWeb操作画面303とを含む。
 なお、図20に示す選定画面2002では、図3に示す選定画面302と異なり、一部のフォーム(ここではフォーム2)が選択不能に表示される。
 前述の図18に示す制御ロジックにより、履歴構成解析部39は、Web操作履歴51内に存在するフォーム、すなわち解析可能なフォームを抽出することができる。そこで、解析データ選定部34は、Web操作履歴51を解析する場合には、図19に示すフォーム情報テーブル1900に登録されているフォーム、すなわち解析可能なフォームのみを選定可能に提示する。これにより、解析不能なフォーム、すなわち解析してもデータが抽出されないフォームを予め解析対象から除外することができる。
 図21は、本発明の実施形態のWeb操作履歴の解析データ選定画面2101の第二の例を示す図である。図21に示す解析データ選定画面2101は、解析データ選定部34のプログラムを実行することによって出力装置82に表示される。Webサーバ3のユーザは入力装置83を用いて、解析データ選定画面2101上で情報を入力する。
 解析データ選定画面2101は、Webサーバ3のユーザが解析対象のデータ範囲を選定するための選定画面2102と、Webクライアント2の表示装置24上に表示されるWeb操作画面303とを含む。
 なお、図21に示す選定画面2102では、図20に示す選定画面2002と異なり、選定されたフォームの解析結果をプレビュー(事前確認)するためのチェックボックスが設けられる。
 選定画面2102において、Webサーバ3のユーザは、解析対象のデータ範囲をフォーム単位で選定する。さらに、解析対象として選定されたフォームの解析結果をプレビューする場合には、プレビュー用のチェックボックスをチェックし、決定ボタンを押下する。そうすると、Webサーバ3は、チェックされたフォームを解析し、解析結果を表示する。
 図22は、本発明の実施形態のプレビュー解析の制御ロジックを示すフローチャートである。Webサーバ3は、以下に示す制御ロジックを実行することによって、解析対象として選定されたフォームの解析結果をプレビュー可能にする。
 まずWebサーバ3のユーザによって、解析データ選定画面2101上で解析対象のフォームが選定されると、ステップ2201において、Webサーバ3は、選定されたフォームのフォーム番号を取得する(S2201)。具体的には、選定されたフォームのユーザインタフェース上の番号を、Web操作画面を記述するプログラム上の番号に変換する。
 次にステップ2202において、Webサーバ3は、Web操作履歴51に格納されたいずれかの操作履歴データ(HTTPリクエスト)のReferer情報を参照し、解析対象として選定されたフォームが属するHTMLファイルのURLと一致するURLが記述された操作履歴データを検索する(S2202)。
 その後ステップ2203において、Webサーバ3は、ステップ2202による検索の結果として抽出された操作履歴データに係るリソースのURLが、解析対象として選定されたフォームのアクション情報を示すものか否か確認する(S2203)。なお、解析対象として選定されたフォームは、フォーム番号によって識別される。
 抽出された操作履歴データに係るリソースのURLが、選定されたフォームのアクション情報を示さない場合(S2204でNO)、ステップ2202に戻って別の操作履歴データについて処理を繰り返す。
 一方、抽出された操作履歴データに係るリソースのURLが、選定されたフォームのアクション情報を示す場合(S2204でYES)、Webサーバ3は、ステップ2202で抽出されたフォームの番号を記録する(S2205)。
 その後ステップ2206の処理により、Webサーバ3は、Web操作履歴51内に存在する全ての操作履歴データについて、ステップ2202~2205の処理を繰り返す。
 その後ステップ2207において、Webサーバ3は、ステップ2205で記録されたフォームの番号に基づいて、Web操作履歴51内に存在しないフォームを検索する(S2207)。
 該当フォームがある場合(S2208でYES)、ステップ2209において、Webサーバ3は、該当フォーム、すなわちWeb操作履歴51内に存在しないフォームを表示する(S2209)。具体的には、Web操作履歴51内に存在しないフォームの番号を取得し、取得されたフォームの番号をユーザインタフェースの番号に変換し、ポップアップウィンドウに表示する。ステップ2209で表示される表示画面の例については、図23を用いて後述する。
 一方、該当フォームがない場合(S2208でNO)、ステップ2210において、Webサーバ3は、解析対象として選定された全てのフォームのデータがWeb操作履歴51に存在する旨を、ポップアップウィンドウに表示する(S2210)。
 図23は、本発明の実施形態のプレビュー解析結果の表示画面2300の第一の具体例を示す図である。図23に示す表示画面2300は、解析対象として選定されたフォーム(ここではフォーム2)がWeb操作履歴51内に存在しない場合に表示されるポップアップウィンドウである。
 この表示画面2300によれば、Webサーバ3のユーザは、現在の設定が「Web操作履歴51内に存在しないフォーム(ここではフォーム2)のデータを取得し、リアルタイムにDB入力用データ72を生成する設定」であるかの確認を指示することができる。
 設定を確認する場合、Webサーバ3のユーザは入力装置83を用いて"設定を確認する"ボタンを押下する。そうすると、Webサーバ3は後述する図27に示す制御ロジックを実行し、設定の確認結果を表示する。一方、プレビューを終了する場合、"プレビューを終了する"ボタンを押下する。そうすると、Webサーバ3はプレビューを終了する。
 図24は、本発明の実施形態のプレビュー解析結果の表示画面2400の第二の具体例を示す図である。図24に示す表示画面2400は、図23の表示画面2300上で"設定を確認する"ボタンが押下された場合に表示されるポップアップウィンドウである。
 この表示画面2400によれば、Webサーバ3のユーザは、現在の設定が「Web操作履歴51内に存在しないフォーム(ここではフォーム2)のデータを取得し、リアルタイムにDB入力用データ72を生成する設定」ではない場合に、設定変更を指示することができる。
 設定を変更する場合、Webサーバ3のユーザは入力装置83を用いて"設定を変更し、プレビューを終了する"ボタンを押下する。そうすると、Webサーバ3は後述する図28に示す制御ロジックを実行し、設定を変更する。その後プレビューを終了する。一方、設定を変更しない場合、"設定を変更せずにプレビューを終了する"ボタンを押下する。そうすると、Webサーバ3はプレビューを終了する。
 図25は、本発明の実施形態のリアルタイムデータ解析に係る現在の設定を登録する制御ロジックを示すフローチャートである。ここでは、解析対象として選定されたフォームのうち、リアルタイムにDB入力用データ72を生成するよう現在設定されているフォームを登録する。
 まずステップ2501において、Webサーバ3は、Webサーバ3のユーザによって解析対象として選定されたフォームのうち、いずれかのフォームが属するHTMLファイルのURLを取得する(S2501)。
 次にステップ2502において、Webサーバ3は、処理対象のフォームの番号を取得する(S2502)。
 その後ステップ2503において、Webサーバ3は、処理対象のフォームについて、ステップ2501で取得されたURLと、ステップ2502で取得されたフォームの番号とを対応付けて設定テーブルに記録する(S2503)。
 ここでいう設定テーブルとは、リアルタイムにDB入力用データ72を生成するよう現在設定されているフォームに関する情報を格納するテーブルである。設定テーブルの詳細については、図26を用いて後述する。
 ステップ2504の処理により、Webサーバ3は、解析対象として選定された全てのフォームについて、ステップ2501~2503の処理を繰り返す。
 以上に示す処理により、Webサーバ3は、解析対象として選定されたフォームのうち、リアルタイムにDB入力用データ72を生成するよう現在設定されているフォームに関する情報を、設定テーブル2600に登録する。
 図26は、本発明の実施形態の設定テーブル2600の一例を示す図である。設定テーブル2600は、リアルタイムにDB入力用データ72を生成するよう現在設定されているフォームに関する情報を格納する。
 設定テーブル2600では、HTMLファイルのURL2601と、フォーム番号2602とが対応付けて格納される。Webサーバ3は設定テーブル2600を参照し、Web操作履歴51に存在しないフォームが、リアルタイムにDB入力用データ72を生成するよう現在設定されているフォームであるか否かを確認することができる。
 図27は、本発明の実施形態のリアルタイムデータ解析に係る現在の設定を確認する制御ロジックを示すフローチャートである。
 図23に示すような表示画面2300上で"設定を確認する"ボタンが押下されると、まずステップ2701において、Webサーバ3は、Web操作履歴51に存在しないと判定されたフォームに関する情報が設定テーブル2600に登録されているか検索する(S2701)。
 具体的には、設定テーブル2600を参照し、Web操作履歴51に存在しないと判定されたフォームが所属するHTMLファイルのURLと、フォームの番号とが対応付けて登録されているか検索する。
 登録されていない場合(S2702でNO)、ステップ2703において、Webサーバ3は、該当フォームの情報を返す(S2703)。該当フォームとは、Web操作履歴51に存在しないと判定されたフォームのうち、設定テーブル2600に登録されていないフォームである。またフォームの情報とは、フォームの属するHTMLファイルのURLと、フォームの番号とを含む。一方、登録されている場合(S2702でYES)、該当フォームがない旨を返す(S2704)。
 その後ステップ2705において、Webサーバ3は、ステップ2703で返されたフォームの情報のうちのフォームの番号(プログラム上の番号)を、ユーザインタフェース上の番号に変換する(S2705)。
 その後ステップ2706において、Webサーバ3は、変換後のフォームの番号をメッセージボックスで表示する(S2706)。ここでいうメッセージボックスとは、図24の表示画面2400に示すようなメッセージボックスである。
 なお、ステップ2702からステップ2704に進んだ場合、ステップ2706では、Webサーバ3は、該当フォームがない旨、すなわちWeb操作履歴51に存在しないと判定されたフォームの全てが、リアルタイムにDB入力用データ72を生成するよう現在設定されている旨を表示してもよい。
 以上に示す処理により、Webサーバ3は、ユーザによる設定確認指示に基づいて、リアルタイムデータ解析に係る現在の設定を確認し、確認結果を表示する。
 図28は、本発明の実施形態のリアルタイムデータ解析に係る設定を変更する制御ロジックを示すフローチャートである。
 図24に示すような表示画面2400上で"設定を変更し、プレビューを終了する"ボタンが押下されると、まずステップ2801において、Webサーバ3は、設定変更対象のフォームの入力データを、Web操作履歴51に記録する(S2801)。
 次にステップ2802において、Webサーバ3は、設定変更対象のフォームに対応するスキーマ(テーブル)を新たに定義し、設定変更対象のフォームの入力データ(HTTPのリクエスト)に基づいて、リアルタイムにDB入力用データ72を生成する(S2802)。
 以上に示す処理により、Webサーバ3は、Web操作履歴51に存在しないと判定されたフォームの入力データを、Web操作履歴51に記録するよう設定変更する。また、Web操作履歴51に存在しないと判定されたフォームに対応するスキーマを新たに定義し、このフォームの入力データをフィルタリングすることによって、リアルタイムにDB入力用データ72を生成する。
 図29A及び図29Bは、本発明の実施形態の履歴構成解析部39の制御ロジックの変形例を示すフローチャートである。
 ここでは、履歴構成解析部39は、Web操作履歴51に格納された各操作履歴データ(HTTPリクエスト)に基づいて、Web操作履歴51内に存在するフォームに関する情報を取得する。本変形例では、Web操作履歴51内に存在するフォーム毎に、操作履歴データの記録期間に関する情報も併せて取得する。なお、前述の図18と同様の処理については、同一の符号を付して重複する説明を適宜省略する。
 ステップ2901において、履歴構成解析部39は、処理対象の操作履歴データ(HTTPリクエスト)のDate情報を、最新データとして登録する(S2901)。具体的には、図30に示すようなフォーム情報テーブル3000のDate情報3004、3005に登録する。
 ステップ2902において、履歴構成解析部39は、処理対象の操作履歴データの期間情報を登録する(S2902)。
 すなわちステップ2903において、履歴構成解析部39は、処理対象の操作履歴データのDate情報が最も新しいか否か判定する(S2903)。具体的には、処理対象の操作履歴データのDate情報と、フォーム情報テーブル3000のDate情報3004に格納されたDate情報との比較に基づいて判定する。
 処理対象の操作履歴データのDate情報が最も新しい場合(S2903でYES)、履歴構成解析部39は、このDate情報を最も新しいDate情報として登録する(S2904)。
 一方、処理対象の操作履歴データのDate情報が最も新しくはない場合(S2903でNO)、履歴構成解析部39は、処理対象の操作履歴データのDate情報が最も古いか否か判定する(S2905)。具体的には、処理対象の操作履歴データのDate情報と、フォーム情報テーブル3000のDate情報3005に格納されたDate情報との比較に基づいて判定する。
 処理対象の操作履歴データのDate情報が最も古い場合(S2905でYES)、履歴構成解析部39は、このDate情報を最も古いDate情報として登録する(S2906)。一方、処理対象のデータのDate情報が最も古くはない場合(S2905でNO)、履歴構成解析部39は、ステップ2902の処理を終了する。
 以上に示す処理により、履歴構成解析部39は、Web操作履歴51に格納された各操作履歴データ(HTTPリクエスト)に基づいて、Web操作履歴51内に存在するフォームに関する情報を取得する。本変形例では、Web操作履歴51内に存在するフォーム毎に、操作履歴データの記録期間に関する情報も併せて取得する。これにより、フォーム毎に解析可能な期間を調べることができる。
 図30は、本発明の実施形態のフォーム情報テーブル3000の変形例を示す図である。図30に示すフォーム情報テーブル3000は、図29A及び図29Bに示す制御ロジックによって生成される。
 フォーム情報テーブル3000では、Referer情報で指定されるURL3001、リソースのURL3002、フォーム番号3003、最も新しいデータのDate情報3004及び最も古いデータのDate情報3005が対応付けられて登録される。
 なお、URL3001及びフォーム番号3003によって、フォームを一意に識別することができる。また、Date情報3004、3005によって、各フォームにおけるデータの存在期間を記録することができる。
 図31は、本発明の実施形態の解析可能データ提示画面3100の一例を示す図である。図31に示す解析可能データ提示画面3100は、解析データ選定部34のプログラムを実行することによって出力装置82に表示される。
 解析可能データ提示画面3100では、Webサーバ3のユーザによって選定された解析対象のフォーム毎に、Web操作履歴51内にデータが存在するか否かを示すデータの有無情報、及び、Web操作履歴51内にデータが存在する場合には解析可能な範囲(日時)を示す期間情報が示される。
 前述の図29A及び29Bに示す制御ロジックにより、履歴構成解析部39は、Web操作履歴51内に存在する各フォームの解析可能な期間情報を抽出することができる。そこで、解析データ選定部34は、Web操作履歴51を解析する場合には、図30に示すフォーム情報テーブル3000に基づいて、解析可能なフォーム及び解析可能な期間情報を提示する。
 図32は、本発明の実施形態のWeb操作履歴の解析データ選定画面3201の変形例を示す図である。図32に示す解析データ選定画面3201は、解析データ選定部34のプログラムを実行することによって出力装置82に表示される。Webサーバ3のユーザは入力装置83を用いて、解析データ選定画面3201上で情報を入力する。
 解析データ選定画面3201は、Webサーバ3のユーザが解析対象のデータ範囲を選定するための選定画面3202と、選定画面3202上で選定されたフォームについての解析期間を設定するための解析期間設定メニュー3203と、Webクライアント2の表示装置24上に表示されるWeb操作画面303とを含む。
 なお、図32に示す選定画面3202は、図21に示す選定画面2102と同様である。
 前述の図29A及び29Bに示す制御ロジックにより、履歴構成解析部39は、Web操作履歴51内に存在する各フォームの解析可能な期間情報を抽出することができる。そこで、解析データ選定部34は、解析期間設定メニュー3203が選択された場合には、フォーム情報テーブル3000に基づいて、選定されたフォームの解析期間の設定画面を提示する。解析期間の設定画面の詳細については、図33を用いて後述する。
 図33は、本発明の実施形態の解析期間設定画面3301の具体例を示す図である。図33に示す解析期間設定画面3301は、解析期間設定メニュー3203が選択された場合には、選定されたフォーム(図32ではフォーム1、3)の解析期間の設定を促す画面である。
 Webサーバ3のユーザは入力装置83を用いて、解析期間設定画面3301上で解析対象期間の開始日時と終了日時を設定する。これにより、フォーム毎にWeb操作履歴51内の操作履歴データの解析期間を設定することができる。
 図34は、本発明の実施形態のセッションテーブル3400の一例を示す図である。
 セッションテーブル3400は、セッション情報を管理するためのテーブルである。セッション情報とは、セッションIDによって特定されるユーザ情報、セッションに係る時間情報及び地域情報等を含む。
 このセッションテーブル3400と、スキーマ定義部35によって定義される各テーブルとは、セッションIDを介して相互に関連付けることができる。これにより、スキーマ定義部35によって定義される各テーブルに挿入されたデータを、セッションテーブル3400によって管理されるセッション情報を用いて多面的に解析することができる。また、セッションIDを介して各テーブルの構成要素であるデータの関係を分析することができる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (16)

  1.  プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機であって、
     前記プロセッサは、
     Web操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する機能と、
     当該計算機のユーザにより選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、前記メモリに記録する機能を持つことを特徴とする計算機。
  2.  前記Web操作画面における入力データの履歴を記憶するWeb操作履歴記憶部に接続され、
     前記プロセッサは、前記Web操作履歴記憶部に記憶された入力データの履歴を解析することにより、前記Web操作履歴記憶部に存在するフォームの情報を抽出し、抽出されたフォームの情報に基づいて操作履歴の解析対象となるデータを選定可能にするためのデータ及び操作画面を作成する機能を持つことを特徴とする請求項1に記載の計算機。
  3.  前記プロセッサは、選定されたフォーム毎に、当該フォームに対応して定義された前記スキーマと、前記Web操作履歴記憶部に記憶された入力データの履歴のうちの当該フォームに対応する入力データとに基づいて、前記データベースに格納すべき入力データを抽出する機能を持つことを特徴とする請求項2に記載の計算機。
  4.  前記プロセッサは、前記Web操作履歴データベースに記憶された入力データの履歴を解析する場合に、前記スキーマが定義されているフォームに対応する入力データの有無を判定する機能を持つことを特徴とする請求項2に記載の計算機。
  5.  前記プロセッサは、前記スキーマが定義されていないフォームに対応する入力データが前記Web操作履歴記憶部に存在する場合、当該フォームに含まれる入力データ項目に基づいてスキーマを新たに定義可能な機能を持つことを特徴とする請求項4に記載の計算機。
  6.  クライアント装置上で表示させたWeb操作画面における入力データを受信する計算機であって、
     前記プロセッサは、前記メモリに記憶されたスキーマに従って、前記クライアント装置から送られてくるリクエストから、前記スキーマに対応するフォームの入力データをフィルタリングする機能を持つことを特徴とする請求項1に記載の計算機。
  7.  前記プロセッサは、フィルタリングされた前記入力データに基づいて、前記データベースに格納するための入力用データを生成する機能を持つことを特徴とする請求項6に記載の計算機。
  8.  Web操作画面を表示させるクライアント装置と、前記Web操作画面における入力データを前記クライアント装置から受信するサーバ装置を備える計算機システムであって、
     前記サーバ装置は、
     前記Web操作画面の構成単位であるフォーム単位で、データベースに格納すべき入力データ項目を選定させる操作画面を表示し、
     選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義し、
     該定義されたスキーマを該サーバ装置が備えるメモリに記録することを特徴とする計算機システム。
  9.  前記サーバ装置は、クライアント装置上で表示させたWeb操作画面における入力データを受信し、前記受信した入力データを、所定の形式で記録し保存する操作履歴保存機能及びその操作履歴記憶部を備えることを特徴とする請求項8に記載の計算機システム。
  10.  前記サーバ装置は、前記操作履歴記憶部に記憶された入力データの履歴を解析することによって、前記操作履歴記憶部に存在するフォームの情報を抽出し、抽出されたフォームの情報に基づいて操作履歴の解析対象となるデータを選定可能にするためのデータ及び操作画面を作成する機能を持つことを特徴とする請求項9に記載の計算機システム。
  11.  前記サーバ装置は、選定されたフォーム毎に、当該フォームに対応して定義された前記スキーマと、前記操作履歴記憶部に記憶された入力データの履歴のうちの当該フォームに対応する入力データとに基づいて、前記操作履歴記憶部に格納すべき入力データを抽出することを特徴とする請求項10に記載の計算機システム。
  12.  前記サーバ装置は、前記操作履歴記憶部に記憶された入力データの履歴を解析する場合に、前記スキーマが定義されているフォームに対応する入力データの有無を判定することを特徴とする請求項10に記載の計算機システム。
  13.  前記サーバ装置は、前記スキーマが定義されていないフォームに対応する入力データが前記操作履歴記憶部に存在する場合、当該フォームに含まれる入力データ項目に基づいてスキーマを新たに定義可能であることを特徴とする請求項12に記載の計算機システム。
  14.  前記サーバ装置は、前記メモリに記憶されたスキーマに従って、前記クライアント装置から送られてくるリクエストから、前記スキーマに対応するフォームの入力データをフィルタリングすることを特徴とする請求項9に記載の計算機システム。
  15.  前記サーバ装置は、フィルタリングされた前記入力データに基づいて、前記データベースに格納するための入力用データを生成することを特徴とする請求項14に記載の計算機システム。
  16.  プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリとを備える計算機におけるデータベースの構築支援方法であって、
     前記プロセッサが、
     Web操作画面の構成単位であるフォーム単位で、データベースのデータ項目を選定させる画面を表示する手順と、
     前記データベースのデータ項目を選定させる画面で選定されたフォーム毎に、当該フォームに含まれる入力データ項目に基づいてスキーマを定義する手順と、
     該定義されたスキーマを当該計算機が備えるメモリに記録する手順と、
     を含むことを特徴とするデータベースの構築支援方法。
PCT/JP2011/070882 2011-09-13 2011-09-13 計算機、計算機システム及びデータベースの構築支援方法 WO2013038508A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013533387A JP5775594B2 (ja) 2011-09-13 2011-09-13 計算機、計算機システム及びデータベースの構築支援方法
PCT/JP2011/070882 WO2013038508A1 (ja) 2011-09-13 2011-09-13 計算機、計算機システム及びデータベースの構築支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/070882 WO2013038508A1 (ja) 2011-09-13 2011-09-13 計算機、計算機システム及びデータベースの構築支援方法

Publications (1)

Publication Number Publication Date
WO2013038508A1 true WO2013038508A1 (ja) 2013-03-21

Family

ID=47882770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/070882 WO2013038508A1 (ja) 2011-09-13 2011-09-13 計算機、計算機システム及びデータベースの構築支援方法

Country Status (2)

Country Link
JP (1) JP5775594B2 (ja)
WO (1) WO2013038508A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149894A (ja) * 1992-11-09 1994-05-31 Nippon Telegr & Teleph Corp <Ntt> スキーマ定義情報作成方法
JPH08147321A (ja) * 1994-11-22 1996-06-07 Fuji Xerox Co Ltd データベース装置
JPH09305454A (ja) * 1996-05-20 1997-11-28 Nec Corp データベース構築装置
JP2001307002A (ja) * 2000-04-20 2001-11-02 Fuji Xerox Co Ltd データ入力フォーム生成システム、データ入力フォーム生成方法、及び、コンピュータ読み取り可能な記録媒体
JP2003271579A (ja) * 2002-03-12 2003-09-26 Seiko Epson Corp 報告書作成システムと報告書作成方法と報告書作成プログラム
JP2005056255A (ja) * 2003-08-06 2005-03-03 Fuji Xerox Co Ltd フォーム生成集計装置及び記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149894A (ja) * 1992-11-09 1994-05-31 Nippon Telegr & Teleph Corp <Ntt> スキーマ定義情報作成方法
JPH08147321A (ja) * 1994-11-22 1996-06-07 Fuji Xerox Co Ltd データベース装置
JPH09305454A (ja) * 1996-05-20 1997-11-28 Nec Corp データベース構築装置
JP2001307002A (ja) * 2000-04-20 2001-11-02 Fuji Xerox Co Ltd データ入力フォーム生成システム、データ入力フォーム生成方法、及び、コンピュータ読み取り可能な記録媒体
JP2003271579A (ja) * 2002-03-12 2003-09-26 Seiko Epson Corp 報告書作成システムと報告書作成方法と報告書作成プログラム
JP2005056255A (ja) * 2003-08-06 2005-03-03 Fuji Xerox Co Ltd フォーム生成集計装置及び記録媒体

Also Published As

Publication number Publication date
JPWO2013038508A1 (ja) 2015-03-23
JP5775594B2 (ja) 2015-09-09

Similar Documents

Publication Publication Date Title
Diouf et al. Web scraping: state-of-the-art and areas of application
Das et al. Creating meaningful data from web logs for improving the impressiveness of a website by using path analysis method
US10078843B2 (en) Systems and methods for analyzing consumer sentiment with social perspective insight
CN102073726B (zh) 搜索引擎系统的结构化数据的引入方法和装置
US20070294230A1 (en) Dynamic content analysis of collected online discussions
CN108090104B (zh) 用于获取网页信息的方法和装置
CN111708774B (zh) 一种基于大数据的产业分析系统
CN110489653A (zh) 舆情信息查询方法和装置、系统、电子设备、存储介质
US11461333B2 (en) Vertical union of feature-based datasets
WO2016075829A1 (ja) データ取得プログラム、データ取得方法及びデータ取得装置
CN103198078A (zh) 一种互联网新闻事件报道趋势分析方法及系统
KR102025813B1 (ko) 사건 흐름 정보를 제공하기 위한 연대순 정보 기반 큐레이션 장치 및 그것의 제어방법
JP2003281149A (ja) アクセス権限設定方法および構造化文書管理システム
JP5775594B2 (ja) 計算機、計算機システム及びデータベースの構築支援方法
US8856152B2 (en) Apparatus and method for visualizing data
CN113407678B (zh) 知识图谱构建方法、装置和设备
CN109213909A (zh) 一种融合搜索与计算的大数据分析系统及其分析方法
CN113515715B (zh) 埋点事件编码的生成方法、处理方法及相关设备
JP2005189942A (ja) Webサイトアクセス状況の集計方法、そのシステム、およびプログラム
CN109408704B (zh) 基金数据关联方法、系统、计算机设备和存储介质
US9582782B2 (en) Discovering a reporting model from an existing reporting environment
Li et al. Research of network data mining based on reliability source under big data environment
CN113190753B (zh) 数据采集方法和装置、电子设备、计算机可读介质
JP7098122B1 (ja) 記事監視システム、注目情報が記述された記事の監視方法、コンピュータプログラム
Hadi et al. Resource Description Framework Representation for Transaction Log File

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: 11872480

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013533387

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11872480

Country of ref document: EP

Kind code of ref document: A1