WO2016031043A1 - Process distributing device, process distributing program, and data processing system - Google Patents

Process distributing device, process distributing program, and data processing system Download PDF

Info

Publication number
WO2016031043A1
WO2016031043A1 PCT/JP2014/072716 JP2014072716W WO2016031043A1 WO 2016031043 A1 WO2016031043 A1 WO 2016031043A1 JP 2014072716 W JP2014072716 W JP 2014072716W WO 2016031043 A1 WO2016031043 A1 WO 2016031043A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
processing
data
unit
correspondence table
Prior art date
Application number
PCT/JP2014/072716
Other languages
French (fr)
Japanese (ja)
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 PCT/JP2014/072716 priority Critical patent/WO2016031043A1/en
Priority to JP2016545186A priority patent/JP6203414B2/en
Priority to CN201480081125.XA priority patent/CN106575267B/en
Priority to TW103136102A priority patent/TWI531909B/en
Publication of WO2016031043A1 publication Critical patent/WO2016031043A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Definitions

  • the present invention relates to a technique for distributing data processing to a plurality of server devices.
  • Patent Document 1 and Non-Patent Document 1 disclose a technique for distributing loads of a plurality of front-end servers by providing a load balancer in a web server system.
  • the load balancer distributes a plurality of data processes to a plurality of front-end servers so that the loads on the respective front-end servers are equalized.
  • the load balancer can distribute the load of a plurality of front-end servers, but cannot distribute the load of a plurality of back-end servers. Therefore, the load balancer cannot sufficiently distribute the load in the entire system.
  • Non-Patent Document 2 discloses a distributed storage technology that distributes loads of a plurality of storage devices.
  • a storage area for distributed storage is secured in each of a plurality of storage devices, and a virtual storage device is constructed by consolidating the storage areas for each distributed storage.
  • the data is multiplexed and stored.
  • the data processing may be distributed to a back-end server that does not store the target data.
  • the back-end server to which the data processing is distributed needs to communicate with the back-end server storing the target data in order to access the target data. And this communication processing becomes an overhead, data processing is delayed, and the throughput of a system falls.
  • An object of the present invention is to enable data processing to be distributed to a server device that stores content data used in data processing.
  • the processing distribution apparatus of the present invention is A correspondence table file storage unit that stores a correspondence table file in which a processing instruction designating data processing is associated with a server identifier of a server device that stores content data used in data processing; A processing command receiving unit that receives a first processing command that specifies first data processing using the first content data; A correspondence table management unit that selects from the correspondence table file a server identifier associated with the same processing instruction as the first processing instruction received by the processing instruction reception unit; A processing distribution unit that requests the server device identified by the server identifier selected by the correspondence table management unit to execute the first data processing.
  • data processing can be distributed to a server device that stores content data used in data processing.
  • FIG. 1 is a schematic diagram of a load distribution system 100 according to Embodiment 1.
  • FIG. 2 is a functional configuration diagram of a load distribution apparatus 200 according to Embodiment 1.
  • FIG. 3 is a functional configuration diagram of a server device 300 according to Embodiment 1.
  • FIG. 4 is a flowchart illustrating an operation of the load distribution apparatus 200 according to the first embodiment.
  • 6 is a diagram illustrating an example of a correspondence table file 291 according to Embodiment 1.
  • FIG. 6 is a diagram illustrating an example of a server list file 292 according to Embodiment 1.
  • FIG. 4 is a flowchart illustrating an operation of the server apparatus 300 according to the first embodiment. 4 is a flowchart illustrating an operation of the server apparatus 300 according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of a data arrangement file 391 according to Embodiment 1.
  • FIG. 2 is a hardware configuration diagram of a load distribution apparatus 200 according to Embodiment 1.
  • FIG. 6 is a configuration diagram of a client server system 101 according to Embodiment 2.
  • FIG. 6 is a functional configuration diagram of a client device 110 according to Embodiment 2.
  • FIG. 1 is a diagram illustrating an example of a data arrangement file 391 according to Embodiment 1.
  • FIG. 2 is a hardware configuration diagram of a load distribution apparatus 200 according to Embodiment 1.
  • FIG. 6 is a configuration diagram of a client server system 101 according to Embodiment 2.
  • FIG. 6 is a functional configuration diagram of a client device 110 according to Embodiment 2.
  • Embodiment 1 A mode in which data processing is distributed to a server device that stores content data used in data processing will be described.
  • FIG. 1 is a schematic diagram of a load distribution system 100 according to the first embodiment. An overview of the load distribution system 100 according to the first embodiment will be described with reference to FIG.
  • the load distribution system 100 (an example of a data processing system) is a system that distributes a plurality of processing requests generated from one or more client devices 110 to a plurality of server devices (300A to 300D).
  • the load distribution system 100 includes one or more client devices 110, a plurality of server devices (300A to 300D), and a load distribution device 200 (an example of a processing distribution device). These apparatuses communicate via the network 109.
  • each server device is referred to as a server device 300.
  • the client device 110 is a computer that requests execution of data processing.
  • data used in data processing is referred to as content data.
  • the plurality of server devices are computers that execute data processing.
  • a storage device (server storage unit 390 in FIG. 3 to be described later) included in each server device constitutes a distributed storage (distributed storage area 399 in FIG. 3 to be described later) in which a plurality of content data is distributed and stored.
  • a plurality of pieces of content data are distributed and stored in a plurality of server devices.
  • Each content data is multiplexed and stored in two or more server devices.
  • content data A 381 and content data B 382 are multiplexed and stored in server apparatus 300A and server apparatus 300C.
  • the content data C383 and the content data D384 are multiplexed and stored in the server device 300B and the server device 300D.
  • the load distribution apparatus 200 is a computer that distributes a plurality of processing requests for requesting execution of data processing to a plurality of server apparatuses.
  • the load balancer 200 is also called a load balancer.
  • the load distribution apparatus 200 receives a processing request from the client apparatus 110, distributes the processing request to one of the server apparatuses 300, receives a processing result from the server apparatus 300, and responds to the client apparatus 110 with the processing result.
  • the client device 110 requests execution of data processing C using the content data C383.
  • the load distribution apparatus 200 distributes the processing request for requesting the execution of the data processing C to one of the server apparatuses.
  • a server device appropriate as a processing request distribution destination is the server device 300B or the server device 300D.
  • the load distribution device 200 distributes the processing request for the data processing C to the server device 300B or the server device 300D.
  • the load distribution device 200 distributes a processing request for data processing C to a server device with a light load.
  • a server device with a light load can be identified by a conventional load balancing technique.
  • the load distribution apparatus 200 does not know an appropriate server apparatus and distributes a processing request for data processing C to the server apparatus 300A.
  • the server device 300A selects the server device 300B (or server device 300D) that stores the content data C383 based on a data arrangement file 391 (see FIG. 3) described later. Then, the server device 300A accesses the content data C383 by communicating with the server device 300B (or the server device 300D), and executes data processing C.
  • the server device 300A returns the execution result of the data processing C and the access information to the load distribution device 200.
  • This access information is information indicating that the server apparatus 300B (or server apparatus 300D) is an appropriate server apparatus as a distribution destination of processing requests for data processing C.
  • the load distribution apparatus 200 stores the access information of the data processing C, and responds to the client apparatus 110 with the execution result of the data processing C.
  • the access information of the data processing C is stored in the load balancer 200. Therefore, the load distribution apparatus 200 can distribute processing requests for data processing C that occur thereafter to the server apparatus 300B (or server apparatus 300D).
  • the server apparatus 300A does not need to communicate with the server apparatus 300B as in (3) above. Therefore, a processing delay associated with communication between server devices does not occur, and the system throughput is improved.
  • FIG. 2 is a functional configuration diagram of the load distribution apparatus 200 according to the first embodiment.
  • a functional configuration of the load distribution apparatus 200 according to Embodiment 1 will be described with reference to FIG.
  • the functional configuration of the load distribution apparatus 200 may not be the same as the functional configuration illustrated in FIG.
  • the load distribution apparatus 200 includes a request reception unit 210 (an example of a processing instruction reception unit), a correspondence table management unit 220, a request distribution unit 230 (an example of a processing distribution unit), and a load distribution storage unit 290 (a correspondence table file storage). Part of an example).
  • the load distribution storage unit 290 stores data used, generated, or input / output by the load distribution apparatus 200.
  • the load distribution storage unit 290 stores a correspondence table file 291 and a server list file 292.
  • the correspondence table file 291 associates an identifier of the server device 300 that stores content data used in data processing with a processing instruction that specifies data processing. An example of the correspondence table file 291 will be described later (see FIG. 5).
  • the server list file 292 associates information such as an IP address with the identifier of the server device 300. An example of the server list file 292 will be described later (see FIG. 6).
  • the request reception unit 210 receives a processing request packet including a processing instruction designating data processing from the client device 110 and transmits a processing response packet including execution result data indicating the execution result of the data processing to the client device 110.
  • the processing request packet is a packet that requests execution of data processing
  • the processing response packet is a packet that responds to the execution result of data processing.
  • the correspondence table management unit 220 includes a correspondence table reference unit 221 (an example of a correspondence server selection unit) and a correspondence table editing unit 222 (an example of a correspondence server registration unit), and manages the correspondence table file 291.
  • the correspondence table reference unit 221 selects from the correspondence table file 291 the identifier of the server apparatus 300 associated with the same processing instruction as the processing instruction included in the processing request packet.
  • the correspondence table editing unit 222 associates access information data, which will be described later, with processing instructions included in the processing request packet and registers them in the correspondence table file 291.
  • the request distribution unit 230 transmits a distribution packet including a processing command to the server device 300 identified by the identifier selected by the correspondence table reference unit 221. Then, the request distribution unit 230 receives the execution result packet including the execution result of the data processing from the server device 300.
  • the distribution packet is a packet that requests execution of data processing
  • the execution result packet is a packet that responds to the execution result of data processing.
  • FIG. 3 is a functional configuration diagram of the server apparatus 300 according to the first embodiment.
  • a functional configuration of the server apparatus 300 according to the first embodiment will be described with reference to FIG.
  • the functional configuration of the server apparatus 300 may not be the same as the functional configuration illustrated in FIG.
  • the server apparatus 300 includes a WEB server unit 301, a DB server unit 320, a distributed storage management unit 330 (an example of an access request unit), an access information generation unit 340, and a server storage unit 390 (content data storage unit, data arrangement).
  • the WEB server unit 301 includes a WEB application unit 310.
  • the server storage unit 390 stores data used, generated or input / output by the server device 300.
  • the server storage unit 390 stores a data arrangement file 391, a server list file 392, a content data group 380, and the like.
  • the data arrangement file 391 associates the identifier of the server apparatus 300 in which the content data is stored with the identifier of the content data. An example of the data arrangement file 391 will be described later (see FIG. 9).
  • the server list file 392 associates information such as an IP address with the identifier of the server device 300.
  • the server list file 392 is the same file as the server list file 292 of the load balancer 200 (see FIG. 2).
  • the content data group 380 is one or more content data.
  • the content data group 380 is stored in a storage area reserved for distributed storage.
  • the storage area reserved for the distributed storage is referred to as a distributed storage area 399.
  • the WEB server unit 301 executes a WEB server program for causing the server device 300 to function as a WEB server.
  • the WEB application unit 310 includes an execution request reception unit 311, a process execution unit 312, and an execution result response unit 313.
  • the execution request reception unit 311 receives the distribution packet from the load distribution apparatus 200.
  • the process execution unit 312 executes data processing specified by the process instruction included in the distribution packet.
  • the execution result response unit 313 transmits an execution result packet including execution result data indicating the execution result of the data processing and the access information data generated by the access information generation unit 340 to the load distribution apparatus 200.
  • the DB server unit 320 executes a DB server program for causing the server device 300 to function as a database server (DB server).
  • the distributed storage management unit 330 accesses content data stored in the distributed storage area 399.
  • the distributed storage management unit 330 selects the identifier of the server apparatus 300 associated with the identifier of the content data from the data arrangement file 391. Then, the distributed storage management unit 330 requests the server apparatus 300 identified by the selected identifier to access content data.
  • the distributed storage management unit 330 accesses content data stored in the distributed storage area 399.
  • the access information generation unit 340 generates access information data including the identifier of the server device 300 that stores the content data used in the data processing.
  • FIG. 4 is a flowchart illustrating the operation of the load distribution apparatus 200 according to the first embodiment.
  • the operation of the load distribution apparatus 200 in the first embodiment will be described with reference to FIG. However, the operation of the load distribution apparatus 200 may not be the same as the operation described based on FIG.
  • the client apparatus 110 transmits a processing request packet for requesting execution of data processing to the load distribution apparatus 200. Then, the request reception unit 210 of the load distribution apparatus 200 receives the processing request packet.
  • the processing request packet includes a processing instruction that specifies data processing.
  • the GET method of an HTTP request is an example of a processing instruction
  • an IP packet including this HTTP request is an example of a processing request packet.
  • HTTP is an abbreviation for HyperText Transfer Protocol.
  • IP is an abbreviation for Internet Protocol.
  • the correspondence table reference unit 221 determines whether a server identifier associated with the same processing instruction as the processing instruction included in the processing request packet is registered in the correspondence table file 291.
  • the corresponding server identifier is called a corresponding server identifier
  • the server device 300 identified by the corresponding server identifier is called a corresponding server.
  • the processing instruction included in the processing request packet is an HTTP request “GET / aaa HTTP / 1.1”.
  • two correspondence server identifiers (server A and server C) are registered in the correspondence table file 291 (see FIG. 5).
  • the processing command included in the processing request packet is an HTTP request “GET / ccc HTTP / 1.1”.
  • the corresponding server identifier is not registered in the correspondence table file 291 (see FIG. 5). If the corresponding server identifier is registered in the correspondence table file 291 (YES), the process proceeds to S121. If the corresponding server identifier is not registered in the correspondence table file 291 (NO), the process proceeds to S122.
  • FIG. 5 is a diagram illustrating an example of the correspondence table file 291 according to the first embodiment.
  • the correspondence table file 291 associates an access data column, an access server column, and a corresponding server column with a request column.
  • the request column indicates a processing instruction.
  • the access data column indicates the identifier of the content accessed in the data processing specified by the processing instruction.
  • the access server column indicates the identifier of the corresponding server that has accessed the access data in the previous data processing among one or more corresponding servers.
  • the corresponding server column indicates an identifier of each of one or more corresponding servers.
  • the request distribution unit 230 selects one corresponding server identifier from one or more corresponding server identifiers. At this time, the request distribution unit 230 may select an identifier of the server device 300 with a light load from one or more corresponding server identifiers.
  • the server device 300 with a light load can be identified by a conventional load distribution technique.
  • the selected corresponding server identifier is called a distribution destination identifier, and the server device 300 identified by the distribution destination identifier is called a distribution destination server.
  • the request distribution unit 230 selects one of the server identifiers from the plurality of server identifiers registered in the server list file 292 (see FIG. 6). At this time, the request distribution unit 230 may select an identifier of the server device 300 with a light load from a plurality of server identifiers.
  • the server device 300 with a light load can be identified by a conventional load distribution technique.
  • the selected server identifier is called a distribution destination identifier, and the server device 300 identified by the distribution destination identifier is called a distribution destination server.
  • FIG. 6 is a diagram illustrating an example of the server list file 292 according to the first embodiment.
  • An example of the server list file 292 according to the first embodiment will be described with reference to FIG.
  • the server list file 292 associates an information column such as an IP address with a server column.
  • the server column indicates an identifier of the server device 300 provided in the load distribution system 100.
  • the IP address column indicates the IP address of the server device 300.
  • the request distribution unit 230 selects an IP address associated with the same server identifier as the distribution destination identifier selected in S121 or S122 from the server list file 292 (see FIG. 6).
  • the request distribution unit 230 generates a packet addressed to the distribution destination server using the selected IP address as a transmission destination address. This packet is called a distribution packet.
  • the distribution packet is a packet that requests the distribution destination server to execute data processing.
  • the distribution packet includes a processing instruction included in the processing request packet.
  • the request distribution unit 230 transmits the distribution packet to the distribution destination server. After S130, the process proceeds to S131.
  • the request distribution unit 230 receives an execution result packet including execution result data and access information data from the distribution destination server.
  • the execution result data indicates the execution result of the data processing.
  • the access information data includes an access data identifier, an access server identifier, and a corresponding server identifier group.
  • the access data identifier indicates an identifier for identifying accessed content data.
  • the access server identifier indicates the identifier of the server device 300 that has accessed the content data.
  • the corresponding server identifier group is one or more corresponding server identifiers.
  • the corresponding server identifier is an identifier of each of the one or more server devices 300 that stores the same content data as the accessed content data.
  • the correspondence table editing unit 222 uses the processing instruction included in the processing request packet and the access information data (access data identifier, access server identifier, correspondence server identifier group) included in the execution result packet, and uses the correspondence table.
  • the file 291 is edited as follows.
  • the correspondence table file 291 see FIG. 5
  • the correspondence table editing unit 222 includes the access information data. Based on this, the corresponding record is updated.
  • the correspondence table editing unit 222 updates the access data column of the corresponding record with the access data identifier, updates the access server column of the corresponding record with the access server identifier, and sets the corresponding server column of the corresponding record to the corresponding server identifier. Update with groups.
  • the correspondence table file 291 see FIG. 5
  • the correspondence table editing unit 222 accesses the processing instruction and access. A new record is generated using information data.
  • the correspondence table editing unit 222 includes a processing instruction in the request column, an access data identifier in the access data column, an access server identifier in the access server column, and a corresponding server identifier group in the corresponding server column. Generate a new record that contains it. Then, the correspondence table editing unit 222 registers the new record in the correspondence table file 291. After S140, the process proceeds to S150.
  • the request reception unit 210 In S150, the request reception unit 210 generates a processing response packet that responds to the execution result of the data processing, and transmits the processing response packet to the client device 110 that is the transmission source of the processing request packet.
  • the processing response packet includes execution result data included in the execution result packet.
  • FIGS. 7 and 8 are flowcharts showing the operation of the server apparatus 300 in the first embodiment.
  • the operation of server apparatus 300 in the first embodiment will be described based on FIG. 7 and FIG. However, the operation of the server apparatus 300 may not be the same as the operation described based on FIGS. 7 and 8.
  • the execution request receiving unit 311 receives a distribution packet including a processing instruction. After S210, the process proceeds to S220.
  • the process execution unit 312 starts executing the process logic based on the process instruction included in the distribution packet.
  • the processing logic is a program called a module, a routine, or a function, and indicates a data processing procedure.
  • the processing logic includes a procedure for generating a query for accessing content data.
  • the processing execution unit 312 selects a processing logic for the GET method from among a plurality of processing logics, and uses “aaa” as a parameter. Start processing logic execution. After S220, the process proceeds to S230.
  • the process execution unit 312 generates a query for accessing the content data according to the processing logic, and passes the query to the DB server unit 320. After S230, the process proceeds to S231.
  • the DB server unit 320 receives the query, generates an access command for accessing the content data specified in the query, and passes the access command to the distributed storage management unit 330. After S231, the process proceeds to S232.
  • the distributed storage management unit 330 receives the access command, and determines whether the content data specified in the access command is stored in the distributed storage area 399. Content data specified in the access command is referred to as corresponding content. If the content is stored in the distributed storage area 399 (YES), the process proceeds to S233. If the corresponding content is not stored in the distributed storage area 399 (NO), the process proceeds to S235 (see FIG. 8).
  • the distributed storage management unit 330 accesses the corresponding content stored in the distributed storage area 399 according to the access command. For example, the distributed storage management unit 330 reads the corresponding content from the distributed storage area 399.
  • the distributed storage management unit 330 delivers the execution result of the access command to the DB server unit 320.
  • the execution result of the access command includes the corresponding content read from the distributed storage area 399.
  • the DB server unit 320 receives the execution result of the access instruction, generates a query execution result using the access command execution result, and passes the query execution result to the process execution unit 312. For example, the query execution result includes the corresponding content read from the distributed storage area 399. After S233, the process proceeds to S234.
  • the distributed storage management unit 330 selects a server identifier group associated with the same content data identifier as the corresponding content from the data arrangement file 391 (see FIG. 9). For example, when the corresponding content is content A, the distributed storage management unit 330 selects two server identifiers (server A and server C) from the data arrangement file 391 (see FIG. 9). Then, the distributed storage management unit 330 passes the server identifier group and the identifier of the corresponding content to the access information generation unit 340.
  • the access information generation unit 340 receives the server identifier group and the identifier of the corresponding content, generates access information data, and passes the access information data to the execution result response unit 313.
  • the access information data includes the identifier of the corresponding content as the access data identifier, the identifier of the distribution destination server as the access server identifier, and the received server identifier group as the corresponding server identifier group.
  • FIG. 9 is a diagram illustrating an example of the data arrangement file 391 according to the first embodiment.
  • An example of the data arrangement file 391 in the first embodiment will be described with reference to FIG.
  • the data arrangement file 391 associates an information field such as content with a server field.
  • the server indicates an identifier of each of the one or more server apparatuses 300.
  • the content indicates an identifier of each of one or more pieces of content data stored in the server device 300.
  • the process execution unit 312 receives a query execution result from the DB server unit 320.
  • the process execution unit 312 executes data processing based on the execution result of the query. For example, the process execution unit 312 generates a WEB page using the corresponding content included in the query execution result. Then, the process execution unit 312 ends the execution of the data process, and generates execution result data indicating the execution result of the data process. For example, the process execution unit 312 generates execution result data including a WEB page generated by data processing.
  • the process proceeds to S250.
  • the execution result response unit 313 receives the access information data from the access information generation unit 340. Then, the execution result response unit 313 generates an execution result packet including execution result data and access information data, and transmits the execution result packet to the load distribution apparatus 200. After S250, the operation of the server apparatus 300 with respect to one distribution packet ends.
  • the distributed storage management unit 330 selects, from the data arrangement file 391 (see FIG. 9), a server identifier group associated with the same content data identifier as the corresponding content specified in the access command. To do. Then, the distributed storage management unit 330 selects one of the server identifiers from the server identifier group. At this time, the distributed storage management unit 330 may select an identifier of the server device 300 with a light load from the server identifier group.
  • the server device 300 with a light load can be identified by a conventional load distribution technique.
  • the selected server identifier is referred to as a corresponding server identifier, and the server device 300 identified by the corresponding server identifier is referred to as a corresponding server.
  • the distributed storage management unit 330 selects an IP address associated with the same server identifier as the corresponding server identifier from the server list file 392.
  • the server list file 392 is a file similar to the server list file 292 described with reference to FIG.
  • the distributed storage management unit 330 generates a packet addressed to the corresponding server by using the selected IP address as the transmission destination address. This packet is called an access request packet.
  • the access request packet is a packet for requesting the corresponding server to execute an access command.
  • the access request packet includes an access command.
  • the distributed storage management unit 330 transmits an access request packet to the corresponding server. After S236, the process proceeds to S237.
  • the distributed storage management unit 330 of the corresponding server receives the access request packet.
  • the distributed storage management unit 330 of the corresponding server accesses the corresponding content stored in the distributed storage area 399 of the corresponding server according to the access command included in the access request packet.
  • the distributed storage management unit 330 of the corresponding server generates an access response packet including the execution result of the access command, and transmits the access response packet to the server apparatus 300 that is the transmission source of the access request packet.
  • the distributed storage management unit 330 of the distribution destination server receives the access response packet.
  • the distributed storage management unit 330 delivers the execution result of the access command included in the access response packet to the DB server unit 320.
  • the DB server unit 320 receives the execution result of the access command, generates a query execution result using the access command execution result, and passes the query execution result to the process execution unit 312 (similar to S233). After S238, the process proceeds to S239.
  • the distributed storage management unit 330 of the distribution destination server receives the identifier of the corresponding content, the server identifier group selected from the data arrangement file 391, and the corresponding server identifier selected from the server identifier group in the access information generation unit 340. hand over.
  • the access information generation unit 340 receives the identifier of the corresponding content, the server identifier group, and the corresponding server identifier, generates access information data, and transfers the access information data to the execution result response unit 313 (similar to S234).
  • the access information data includes an identifier of the corresponding content as an access data identifier, includes a server identifier group as a corresponding server identifier group, and includes a corresponding server identifier as an access server identifier.
  • FIG. 10 is a hardware configuration diagram of the load distribution apparatus 200 according to the first embodiment.
  • a hardware configuration of the load distribution apparatus 200 according to Embodiment 1 will be described with reference to FIG.
  • the hardware configuration of the load distribution apparatus 200 may not be the same as the configuration shown in FIG.
  • the load balancer 200 is a computer including an arithmetic device 901, an auxiliary storage device 902, a main storage device 903, a communication device 904, and an input / output device 905.
  • the arithmetic device 901, auxiliary storage device 902, main storage device 903, communication device 904, and input / output device 905 are connected to the bus 909.
  • the arithmetic device 901 is a CPU (Central Processing Unit) that executes a program.
  • the auxiliary storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.
  • the main storage device 903 is, for example, a RAM (Random Access Memory).
  • the communication device 904 performs communication via the Internet, a LAN (local area network), a telephone line network, or other networks in a wired or wireless manner.
  • the input / output device 905 is, for example, a mouse, a keyboard, or a display device.
  • the program is stored in the auxiliary storage device 902.
  • an operating system OS
  • a program for realizing the function described as “ ⁇ unit” is stored in the auxiliary storage device 902.
  • the program is stored in the auxiliary storage device 902, loaded into the main storage device 903, and executed by the arithmetic device 901.
  • the client device 110 and the server device 300 have the same hardware configuration as that of the load distribution device 200.
  • the load balancer 200 can distribute processing requests for data processing to an appropriate server device 300. That is, the load distribution apparatus 200 can distribute processing requests for data processing to the server apparatus 300 that stores content data (corresponding content) used in data processing. If the processing request distribution destination server apparatus 300 stores the corresponding content, the processing request distribution destination server apparatus 300 does not need to communicate with another server apparatus 300 in order to access the corresponding content. Therefore, a processing delay associated with communication between server devices does not occur, and the system throughput is improved.
  • the first embodiment is an example of a form of the load distribution system 100. That is, the load distribution system 100 may not include some of the components described in the first embodiment. Further, the load distribution system 100 may include components that are not described in the first embodiment.
  • FIG. A form of a client server system that does not include the load distribution apparatus 200 will be described.
  • items different from the first embodiment will be mainly described. Matters whose description is omitted are the same as those in the first embodiment.
  • FIG. 11 is a configuration diagram of the client server system 101 according to the second embodiment.
  • a client server system 101 (an example of a data processing system) includes one or more client devices 110 and a plurality of server devices 300.
  • FIG. 12 is a functional configuration diagram of the client device 110 according to the second embodiment.
  • the client device 110 includes a request accepting unit 210, a correspondence table management unit 220, and a request distribution unit 230, similarly to the load distribution device 200 (see FIG. 2).
  • the client device 110 includes a client storage unit 119 (an example of a correspondence table file storage unit) that stores a correspondence table file 291 and a server list file 292.
  • the operation of the client device 110 in the second embodiment is the same as the operation of the load distribution device 200 in the first embodiment (see FIG. 4).
  • the request reception unit 210 receives a processing command that the user inputs to the client device 110 instead of receiving a processing request packet.
  • the request reception unit 210 displays the execution result data on the screen instead of transmitting the processing response packet.
  • the client device 110 can achieve the same effects as the load distribution device 200 in the first embodiment.
  • the client device 110 can distribute processing requests for data processing to the server device 300 that stores content data used in data processing.
  • the second embodiment is an example of a form of the client server system 101.
  • the client server system 101 may not include some of the components described in the second embodiment. Further, the client server system 101 may include components that are not described in the second embodiment.
  • the processing procedure described with reference to the flowcharts in each embodiment is an example of the processing procedure of the method and program according to each embodiment.
  • the method and program according to each embodiment may be realized by a processing procedure partially different from the processing procedure described in each embodiment.
  • to part can be read as “to process”, “to process”, “to program”, “to apparatus”, and the like.
  • 100 load distribution system 101 client server system, 109 network, 110 client device, 119 client storage unit, 200 load distribution device, 210 request reception unit, 220 correspondence table management unit, 221 correspondence table reference unit, 222 correspondence table editing unit, 230 request distribution unit, 290 load distribution storage unit, 291 correspondence table file, 292 server list file, 300 server device, 301 WEB server unit, 310 WEB application unit, 311 execution request reception unit, 312 process execution unit, 313 execution result response Part, 320 DB server part, 330 distributed storage management part, 340 access information generation part, 380 content data group, 381 content data A, 382 content data B, 383 Content data C, 384 content data D, 390 server storage unit, 391 data allocation file, 392 server list file, 399 distributed storage area, 901 arithmetic unit, 902 auxiliary storage unit, 903 main storage unit, 904 communication unit, 905 input / output Device, 909 bus.

Abstract

This load balancing device (200) stores an association table file in which respective identifiers of server devices (300) each storing content data to be used in data processing are associated with processing commands each designating data processing. The load balancing device receives a processing request packet from a client device (110), and selects, from the association table file, the identifier of a server device associated with the same processing command as the processing command included in the processing request packet. Then, the load balancing device transmits a distribution packet including the processing command to the server device identified by the identifier selected from the association table file.

Description

処理振り分け装置、処理振り分けプログラムおよびデータ処理システムProcessing distribution device, processing distribution program, and data processing system
 本発明は、複数のサーバ装置にデータ処理を振り分ける技術に関するものである。 The present invention relates to a technique for distributing data processing to a plurality of server devices.
 クライアント装置とウェブサーバ装置とデータベースサーバ装置とを備える3階層のウェブサーバシステムが存在する。3階層のウェブサーバシステムにおいて、ウェブサーバ装置はフロントエンドサーバとも呼ばれる。また、データベースサーバ装置はバックエンドサーバとも呼ばれる。 There is a three-level web server system including a client device, a web server device, and a database server device. In a three-tier web server system, the web server device is also called a front-end server. The database server device is also called a back-end server.
 特許文献1および非特許文献1は、ウェブサーバシステムにロードバランサを設けることによって複数のフロントエンドサーバの負荷を分散する技術を開示している。
 ロードバランサは、それぞれのフロントエンドサーバの負荷が均等になるように、複数のデータ処理を複数のフロントエンドサーバに振り分ける。
 但し、ロードバランサは、複数のフロントエンドサーバの負荷を分散できるが、複数のバックエンドサーバの負荷を分散することはできない。そのため、ロードバランサは、システム全体において負荷を十分に分散させることはできない。
Patent Document 1 and Non-Patent Document 1 disclose a technique for distributing loads of a plurality of front-end servers by providing a load balancer in a web server system.
The load balancer distributes a plurality of data processes to a plurality of front-end servers so that the loads on the respective front-end servers are equalized.
However, the load balancer can distribute the load of a plurality of front-end servers, but cannot distribute the load of a plurality of back-end servers. Therefore, the load balancer cannot sufficiently distribute the load in the entire system.
 非特許文献2は、複数の記憶装置の負荷を分散する分散ストレージ技術を開示している。
 分散ストレージ技術は、複数の記憶装置のそれぞれに分散ストレージ用の記憶領域を確保し、それぞれの分散ストレージ用の記憶領域を集約して仮想的な記憶装置を構築し、仮想的な記憶装置に複数のデータを多重化して記憶するものである。
 分散ストレージ技術をウェブサーバシステムに適用した場合、データ処理は、目的のデータが記憶されていないバックエンドサーバに振り分けられる可能性がある。この場合、データ処理が振り分けられたバックエンドサーバは、目的のデータにアクセスするために、目的のデータが記憶されているバックエンドサーバと通信する必要がある。そして、この通信処理がオーバーヘッドになってデータ処理が遅延し、システムのスループットが低下する。
Non-Patent Document 2 discloses a distributed storage technology that distributes loads of a plurality of storage devices.
In the distributed storage technology, a storage area for distributed storage is secured in each of a plurality of storage devices, and a virtual storage device is constructed by consolidating the storage areas for each distributed storage. The data is multiplexed and stored.
When the distributed storage technology is applied to the web server system, the data processing may be distributed to a back-end server that does not store the target data. In this case, the back-end server to which the data processing is distributed needs to communicate with the back-end server storing the target data in order to access the target data. And this communication processing becomes an overhead, data processing is delayed, and the throughput of a system falls.
特開2003-196178号公報JP 2003-196178 A
 本発明は、データ処理で使用されるコンテンツデータを記憶するサーバ装置にデータ処理を振り分けることができるようにすることを目的とする。 An object of the present invention is to enable data processing to be distributed to a server device that stores content data used in data processing.
 本発明の処理振り分け装置は、
 データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
 第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
 前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応表管理部と、
 前記対応表管理部によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け部とを備える。
The processing distribution apparatus of the present invention is
A correspondence table file storage unit that stores a correspondence table file in which a processing instruction designating data processing is associated with a server identifier of a server device that stores content data used in data processing;
A processing command receiving unit that receives a first processing command that specifies first data processing using the first content data;
A correspondence table management unit that selects from the correspondence table file a server identifier associated with the same processing instruction as the first processing instruction received by the processing instruction reception unit;
A processing distribution unit that requests the server device identified by the server identifier selected by the correspondence table management unit to execute the first data processing.
 本発明によれば、データ処理で使用されるコンテンツデータを記憶するサーバ装置にデータ処理を振り分けることができる。 According to the present invention, data processing can be distributed to a server device that stores content data used in data processing.
実施の形態1における負荷分散システム100の概要図である。1 is a schematic diagram of a load distribution system 100 according to Embodiment 1. FIG. 実施の形態1における負荷分散装置200の機能構成図である。2 is a functional configuration diagram of a load distribution apparatus 200 according to Embodiment 1. FIG. 実施の形態1におけるサーバ装置300の機能構成図である。3 is a functional configuration diagram of a server device 300 according to Embodiment 1. FIG. 実施の形態1における負荷分散装置200の動作を示すフローチャートである。4 is a flowchart illustrating an operation of the load distribution apparatus 200 according to the first embodiment. 実施の形態1における対応表ファイル291の一例を示す図である。6 is a diagram illustrating an example of a correspondence table file 291 according to Embodiment 1. FIG. 実施の形態1におけるサーバ一覧ファイル292の一例を示す図である。6 is a diagram illustrating an example of a server list file 292 according to Embodiment 1. FIG. 実施の形態1におけるサーバ装置300の動作を示すフローチャートである。4 is a flowchart illustrating an operation of the server apparatus 300 according to the first embodiment. 実施の形態1におけるサーバ装置300の動作を示すフローチャートである。4 is a flowchart illustrating an operation of the server apparatus 300 according to the first embodiment. 実施の形態1におけるデータ配置ファイル391の一例を示す図である。6 is a diagram illustrating an example of a data arrangement file 391 according to Embodiment 1. FIG. 実施の形態1における負荷分散装置200のハードウェア構成図である。2 is a hardware configuration diagram of a load distribution apparatus 200 according to Embodiment 1. FIG. 実施の形態2におけるクライアントサーバシステム101の構成図である。6 is a configuration diagram of a client server system 101 according to Embodiment 2. FIG. 実施の形態2におけるクライアント装置110の機能構成図である。6 is a functional configuration diagram of a client device 110 according to Embodiment 2. FIG.
 実施の形態1.
 データ処理で使用されるコンテンツデータを記憶するサーバ装置にデータ処理を振り分ける形態について説明する。
Embodiment 1 FIG.
A mode in which data processing is distributed to a server device that stores content data used in data processing will be described.
 図1は、実施の形態1における負荷分散システム100の概要図である。
 実施の形態1における負荷分散システム100の概要について、図1に基づいて説明する。
 負荷分散システム100(データ処理システムの一例)は、1つ以上のクライアント装置110から発生する複数の処理要求を複数のサーバ装置(300A~300D)に分散するシステムである。
FIG. 1 is a schematic diagram of a load distribution system 100 according to the first embodiment.
An overview of the load distribution system 100 according to the first embodiment will be described with reference to FIG.
The load distribution system 100 (an example of a data processing system) is a system that distributes a plurality of processing requests generated from one or more client devices 110 to a plurality of server devices (300A to 300D).
 負荷分散システム100は、1つ以上のクライアント装置110と、複数のサーバ装置(300A~300D)と、負荷分散装置200(処理振り分け装置の一例)とを備える。これらの装置はネットワーク109を介して通信を行う。
 サーバ装置の区別をしない場合、それぞれのサーバ装置をサーバ装置300と記す。
The load distribution system 100 includes one or more client devices 110, a plurality of server devices (300A to 300D), and a load distribution device 200 (an example of a processing distribution device). These apparatuses communicate via the network 109.
When the server devices are not distinguished, each server device is referred to as a server device 300.
 クライアント装置110は、データ処理の実行を要求するコンピュータである。以下、データ処理で使用されるデータをコンテンツデータという。 The client device 110 is a computer that requests execution of data processing. Hereinafter, data used in data processing is referred to as content data.
 複数のサーバ装置(300A~300D)は、データ処理を実行するコンピュータである。
 それぞれのサーバ装置に備わる記憶装置(後述する図3のサーバ記憶部390)は、複数のコンテンツデータが分散して記憶される分散ストレージ(後述する図3の分散ストレージ領域399)を構成する。
 複数のコンテンツデータは、複数のサーバ装置に分散して記憶される。また、それぞれのコンテンツデータは、2つ以上のサーバ装置に多重化して記憶される。
 図1において、コンテンツデータA381およびコンテンツデータB382は、サーバ装置300Aとサーバ装置300Cとに多重化して記憶されている。また、コンテンツデータC383およびコンテンツデータD384は、サーバ装置300Bとサーバ装置300Dとに多重化して記憶されている。
The plurality of server devices (300A to 300D) are computers that execute data processing.
A storage device (server storage unit 390 in FIG. 3 to be described later) included in each server device constitutes a distributed storage (distributed storage area 399 in FIG. 3 to be described later) in which a plurality of content data is distributed and stored.
A plurality of pieces of content data are distributed and stored in a plurality of server devices. Each content data is multiplexed and stored in two or more server devices.
In FIG. 1, content data A 381 and content data B 382 are multiplexed and stored in server apparatus 300A and server apparatus 300C. Further, the content data C383 and the content data D384 are multiplexed and stored in the server device 300B and the server device 300D.
 負荷分散装置200は、データ処理の実行を要求する複数の処理要求を複数のサーバ装置に分散するコンピュータである。負荷分散装置200はロードバランサとも呼ばれる。
 負荷分散装置200は、クライアント装置110から処理要求を受け取り、いずれかのサーバ装置300に処理要求を振り分け、そのサーバ装置300から処理結果を受け取り、処理結果をクライアント装置110に応答する。
The load distribution apparatus 200 is a computer that distributes a plurality of processing requests for requesting execution of data processing to a plurality of server apparatuses. The load balancer 200 is also called a load balancer.
The load distribution apparatus 200 receives a processing request from the client apparatus 110, distributes the processing request to one of the server apparatuses 300, receives a processing result from the server apparatus 300, and responds to the client apparatus 110 with the processing result.
 図1の(1)から(5)に基づいて、負荷分散システム100の動作の一例について説明する。
 (1)クライアント装置110は、コンテンツデータC383を使用するデータ処理Cの実行を要求する。
 (2)負荷分散装置200は、データ処理Cの実行を要求する処理要求を、いずれかのサーバ装置に振り分ける。このとき、データ処理Cで使用されるコンテンツデータC383はサーバ装置300Bおよびサーバ装置300Dに記憶されているため、処理要求の振り分け先として適切なサーバ装置は、サーバ装置300Bまたはサーバ装置300Dである。
 適切なサーバ装置を知っている場合、負荷分散装置200は、データ処理Cの処理要求をサーバ装置300Bまたはサーバ装置300Dに振り分ける。
 適切なサーバ装置を知らない場合、負荷分散装置200は、負荷が軽いサーバ装置にデータ処理Cの処理要求を振り分ける。負荷が軽いサーバ装置は従来の負荷分散技術によって特定することができる。
 ここで、負荷分散装置200は、適切なサーバ装置を知らず、データ処理Cの処理要求をサーバ装置300Aに振り分けたものとする。
 (3)サーバ装置300Aは、後述するデータ配置ファイル391(図3参照)に基づいて、コンテンツデータC383を記憶するサーバ装置300B(またはサーバ装置300D)を選択する。そして、サーバ装置300Aは、サーバ装置300B(またはサーバ装置300D)と通信することによってコンテンツデータC383にアクセスし、データ処理Cを実行する。
 (4)サーバ装置300Aは、データ処理Cの実行結果およびアクセス情報を負荷分散装置200に応答する。このアクセス情報は、データ処理Cの処理要求の振り分け先として適切なサーバ装置がサーバ装置300B(またはサーバ装置300D)であることを示す情報である。
 (5)負荷分散装置200は、データ処理Cのアクセス情報を記憶し、データ処理Cの実行結果をクライアント装置110に応答する。
An example of the operation of the load distribution system 100 will be described based on (1) to (5) in FIG.
(1) The client device 110 requests execution of data processing C using the content data C383.
(2) The load distribution apparatus 200 distributes the processing request for requesting the execution of the data processing C to one of the server apparatuses. At this time, since the content data C383 used in the data processing C is stored in the server device 300B and the server device 300D, a server device appropriate as a processing request distribution destination is the server device 300B or the server device 300D.
When the appropriate server device is known, the load distribution device 200 distributes the processing request for the data processing C to the server device 300B or the server device 300D.
When an appropriate server device is not known, the load distribution device 200 distributes a processing request for data processing C to a server device with a light load. A server device with a light load can be identified by a conventional load balancing technique.
Here, it is assumed that the load distribution apparatus 200 does not know an appropriate server apparatus and distributes a processing request for data processing C to the server apparatus 300A.
(3) The server device 300A selects the server device 300B (or server device 300D) that stores the content data C383 based on a data arrangement file 391 (see FIG. 3) described later. Then, the server device 300A accesses the content data C383 by communicating with the server device 300B (or the server device 300D), and executes data processing C.
(4) The server device 300A returns the execution result of the data processing C and the access information to the load distribution device 200. This access information is information indicating that the server apparatus 300B (or server apparatus 300D) is an appropriate server apparatus as a distribution destination of processing requests for data processing C.
(5) The load distribution apparatus 200 stores the access information of the data processing C, and responds to the client apparatus 110 with the execution result of the data processing C.
 上記(5)において、データ処理Cのアクセス情報は、負荷分散装置200に記憶される。そのため、負荷分散装置200は、その後に発生するデータ処理Cの処理要求をサーバ装置300B(またはサーバ装置300D)に振り分けることができる。
 データ処理Cの処理要求がサーバ装置300Bに振り分けられた場合、上記(3)のようにサーバ装置300Aがサーバ装置300Bと通信する必要はない。そのため、サーバ装置間の通信に伴う処理遅延が発生せず、システムのスループットが向上する。
In the above (5), the access information of the data processing C is stored in the load balancer 200. Therefore, the load distribution apparatus 200 can distribute processing requests for data processing C that occur thereafter to the server apparatus 300B (or server apparatus 300D).
When the processing request for the data processing C is distributed to the server apparatus 300B, the server apparatus 300A does not need to communicate with the server apparatus 300B as in (3) above. Therefore, a processing delay associated with communication between server devices does not occur, and the system throughput is improved.
 図2は、実施の形態1における負荷分散装置200の機能構成図である。
 実施の形態1における負荷分散装置200の機能構成について、図2に基づいて説明する。但し、負荷分散装置200の機能構成は、図2に示す機能構成と同一でなくても構わない。
FIG. 2 is a functional configuration diagram of the load distribution apparatus 200 according to the first embodiment.
A functional configuration of the load distribution apparatus 200 according to Embodiment 1 will be described with reference to FIG. However, the functional configuration of the load distribution apparatus 200 may not be the same as the functional configuration illustrated in FIG.
 負荷分散装置200は、要求受付部210(処理命令受付部の一例)と、対応表管理部220と、要求振り分け部230(処理振り分け部の一例)と、負荷分散記憶部290(対応表ファイル記憶部の一例)とを備える。 The load distribution apparatus 200 includes a request reception unit 210 (an example of a processing instruction reception unit), a correspondence table management unit 220, a request distribution unit 230 (an example of a processing distribution unit), and a load distribution storage unit 290 (a correspondence table file storage). Part of an example).
 負荷分散記憶部290は、負荷分散装置200が使用、生成または入出力するデータを記憶する。例えば、負荷分散記憶部290は、対応表ファイル291およびサーバ一覧ファイル292などを記憶する。
 対応表ファイル291は、データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置300の識別子を対応付ける。対応表ファイル291の一例について後述する(図5参照)。
 サーバ一覧ファイル292は、サーバ装置300の識別子に、IPアドレスなどの情報を対応付ける。サーバ一覧ファイル292の一例について後述する(図6参照)。
The load distribution storage unit 290 stores data used, generated, or input / output by the load distribution apparatus 200. For example, the load distribution storage unit 290 stores a correspondence table file 291 and a server list file 292.
The correspondence table file 291 associates an identifier of the server device 300 that stores content data used in data processing with a processing instruction that specifies data processing. An example of the correspondence table file 291 will be described later (see FIG. 5).
The server list file 292 associates information such as an IP address with the identifier of the server device 300. An example of the server list file 292 will be described later (see FIG. 6).
 要求受付部210は、データ処理を指定する処理命令を含んだ処理要求パケットをクライアント装置110から受信し、データ処理の実行結果を示す実行結果データを含む処理応答パケットをクライアント装置110に送信する。
 処理要求パケットはデータ処理の実行を要求するパケットであり、処理応答パケットはデータ処理の実行結果を応答するパケットである。
The request reception unit 210 receives a processing request packet including a processing instruction designating data processing from the client device 110 and transmits a processing response packet including execution result data indicating the execution result of the data processing to the client device 110.
The processing request packet is a packet that requests execution of data processing, and the processing response packet is a packet that responds to the execution result of data processing.
 対応表管理部220は、対応表参照部221(対応サーバ選択部の一例)と対応表編集部222(対応サーバ登録部の一例)とを備えて、対応表ファイル291を管理する。
 対応表参照部221は、処理要求パケットに含まれる処理命令と同じ処理命令に対応付けられたサーバ装置300の識別子を、対応表ファイル291から選択する。
 対応表編集部222は、処理要求パケットに含まれる処理命令に、後述するアクセス情報データを対応付けて、対応表ファイル291に登録する。
The correspondence table management unit 220 includes a correspondence table reference unit 221 (an example of a correspondence server selection unit) and a correspondence table editing unit 222 (an example of a correspondence server registration unit), and manages the correspondence table file 291.
The correspondence table reference unit 221 selects from the correspondence table file 291 the identifier of the server apparatus 300 associated with the same processing instruction as the processing instruction included in the processing request packet.
The correspondence table editing unit 222 associates access information data, which will be described later, with processing instructions included in the processing request packet and registers them in the correspondence table file 291.
 要求振り分け部230は、対応表参照部221によって選択された識別子で識別されるサーバ装置300に、処理命令を含んだ振り分けパケットを送信する。そして、要求振り分け部230は、そのサーバ装置300からデータ処理の実行結果を含む実行結果パケットを受信する。
 振り分けパケットはデータ処理の実行を要求するパケットであり、実行結果パケットはデータ処理の実行結果を応答するパケットである。
The request distribution unit 230 transmits a distribution packet including a processing command to the server device 300 identified by the identifier selected by the correspondence table reference unit 221. Then, the request distribution unit 230 receives the execution result packet including the execution result of the data processing from the server device 300.
The distribution packet is a packet that requests execution of data processing, and the execution result packet is a packet that responds to the execution result of data processing.
 図3は、実施の形態1におけるサーバ装置300の機能構成図である。
 実施の形態1におけるサーバ装置300の機能構成について、図3に基づいて説明する。但し、サーバ装置300の機能構成は、図3に示す機能構成と同一でなくても構わない。
FIG. 3 is a functional configuration diagram of the server apparatus 300 according to the first embodiment.
A functional configuration of the server apparatus 300 according to the first embodiment will be described with reference to FIG. However, the functional configuration of the server apparatus 300 may not be the same as the functional configuration illustrated in FIG.
 サーバ装置300は、WEBサーバ部301と、DBサーバ部320と、分散ストレージ管理部330(アクセス要求部の一例)と、アクセス情報生成部340と、サーバ記憶部390(コンテンツデータ記憶部、データ配置ファイル記憶部の一例)とを備える。また、WEBサーバ部301はWEBアプリケーション部310を備える。 The server apparatus 300 includes a WEB server unit 301, a DB server unit 320, a distributed storage management unit 330 (an example of an access request unit), an access information generation unit 340, and a server storage unit 390 (content data storage unit, data arrangement). An example of a file storage unit). The WEB server unit 301 includes a WEB application unit 310.
 サーバ記憶部390は、サーバ装置300が使用、生成または入出力するデータを記憶する。
 例えば、サーバ記憶部390は、データ配置ファイル391、サーバ一覧ファイル392およびコンテンツデータ群380などを記憶する。
 データ配置ファイル391は、コンテンツデータの識別子に、そのコンテンツデータが記憶されたサーバ装置300の識別子を対応付ける。データ配置ファイル391の一例について後述する(図9参照)。
 サーバ一覧ファイル392は、サーバ装置300の識別子に、IPアドレスなどの情報を対応付ける。サーバ一覧ファイル392は、負荷分散装置200(図2参照)のサーバ一覧ファイル292と同様のファイルである。
 コンテンツデータ群380は、1つ以上のコンテンツデータである。コンテンツデータ群380は、分散ストレージ用に確保される記憶領域に記憶される。以下、分散ストレージ用に確保される記憶領域を分散ストレージ領域399という。
The server storage unit 390 stores data used, generated or input / output by the server device 300.
For example, the server storage unit 390 stores a data arrangement file 391, a server list file 392, a content data group 380, and the like.
The data arrangement file 391 associates the identifier of the server apparatus 300 in which the content data is stored with the identifier of the content data. An example of the data arrangement file 391 will be described later (see FIG. 9).
The server list file 392 associates information such as an IP address with the identifier of the server device 300. The server list file 392 is the same file as the server list file 292 of the load balancer 200 (see FIG. 2).
The content data group 380 is one or more content data. The content data group 380 is stored in a storage area reserved for distributed storage. Hereinafter, the storage area reserved for the distributed storage is referred to as a distributed storage area 399.
 WEBサーバ部301は、サーバ装置300をWEBサーバとして機能させるためのWEBサーバプログラムを実行する。
 WEBアプリケーション部310は、実行要求受付部311と、処理実行部312と、実行結果応答部313とを備える。
 実行要求受付部311は、負荷分散装置200から振り分けパケットを受信する。
 処理実行部312は、振り分けパケットに含まれる処理命令で指定されるデータ処理を実行する。
 実行結果応答部313は、データ処理の実行結果を示す実行結果データと、アクセス情報生成部340によって生成されるアクセス情報データと、を含む実行結果パケットを負荷分散装置200に送信する。
The WEB server unit 301 executes a WEB server program for causing the server device 300 to function as a WEB server.
The WEB application unit 310 includes an execution request reception unit 311, a process execution unit 312, and an execution result response unit 313.
The execution request reception unit 311 receives the distribution packet from the load distribution apparatus 200.
The process execution unit 312 executes data processing specified by the process instruction included in the distribution packet.
The execution result response unit 313 transmits an execution result packet including execution result data indicating the execution result of the data processing and the access information data generated by the access information generation unit 340 to the load distribution apparatus 200.
 DBサーバ部320は、サーバ装置300をデータベースサーバ(DBサーバ)として機能させるためのDBサーバプログラムを実行する。
 分散ストレージ管理部330は、分散ストレージ領域399に記憶されたコンテンツデータにアクセスする。
 アクセスしたいコンテンツデータが分散ストレージ領域399に記憶されていない場合、分散ストレージ管理部330は、そのコンテンツデータの識別子に対応付けられたサーバ装置300の識別子をデータ配置ファイル391から選択する。そして、分散ストレージ管理部330は、選択した識別子で識別されるサーバ装置300に、コンテンツデータのアクセスを要求する。
 他のサーバ装置300からコンテンツデータのアクセスが要求された場合、分散ストレージ管理部330は、分散ストレージ領域399に記憶されているコンテンツデータにアクセスする。
The DB server unit 320 executes a DB server program for causing the server device 300 to function as a database server (DB server).
The distributed storage management unit 330 accesses content data stored in the distributed storage area 399.
When the content data to be accessed is not stored in the distributed storage area 399, the distributed storage management unit 330 selects the identifier of the server apparatus 300 associated with the identifier of the content data from the data arrangement file 391. Then, the distributed storage management unit 330 requests the server apparatus 300 identified by the selected identifier to access content data.
When access to content data is requested from another server apparatus 300, the distributed storage management unit 330 accesses content data stored in the distributed storage area 399.
 アクセス情報生成部340は、データ処理で使用されたコンテンツデータを記憶するサーバ装置300の識別子を含むアクセス情報データを生成する。 The access information generation unit 340 generates access information data including the identifier of the server device 300 that stores the content data used in the data processing.
 図4は、実施の形態1における負荷分散装置200の動作を示すフローチャートである。
 実施の形態1における負荷分散装置200の動作について、図4に基づいて説明する。但し、負荷分散装置200の動作は、図4に基づいて説明する動作と同一でなくても構わない。
FIG. 4 is a flowchart illustrating the operation of the load distribution apparatus 200 according to the first embodiment.
The operation of the load distribution apparatus 200 in the first embodiment will be described with reference to FIG. However, the operation of the load distribution apparatus 200 may not be the same as the operation described based on FIG.
 S110において、クライアント装置110は、データ処理の実行を要求する処理要求パケットを負荷分散装置200に送信する。
 そして、負荷分散装置200の要求受付部210は、処理要求パケットを受信する。処理要求パケットは、データ処理を指定する処理命令を含む。
In S <b> 110, the client apparatus 110 transmits a processing request packet for requesting execution of data processing to the load distribution apparatus 200.
Then, the request reception unit 210 of the load distribution apparatus 200 receives the processing request packet. The processing request packet includes a processing instruction that specifies data processing.
 例えば、HTTPリクエストのGETメソッドは処理命令の一例であり、このHTTPリクエストを含んだIPパケットは処理要求パケットの一例である。HTTPはHyperText Transfer Protocolの略称である。また、IPはInternet Protocolの略称である。
 S110の後、処理はS120に進む。
For example, the GET method of an HTTP request is an example of a processing instruction, and an IP packet including this HTTP request is an example of a processing request packet. HTTP is an abbreviation for HyperText Transfer Protocol. IP is an abbreviation for Internet Protocol.
After S110, the process proceeds to S120.
 S120において、対応表参照部221は、処理要求パケットに含まれる処理命令と同じ処理命令に対応付けられたサーバ識別子が対応表ファイル291に登録されているか判定する。
 該当するサーバ識別子を対応サーバ識別子といい、対応サーバ識別子で識別されるサーバ装置300を対応サーバという。
In S <b> 120, the correspondence table reference unit 221 determines whether a server identifier associated with the same processing instruction as the processing instruction included in the processing request packet is registered in the correspondence table file 291.
The corresponding server identifier is called a corresponding server identifier, and the server device 300 identified by the corresponding server identifier is called a corresponding server.
 例えば、処理要求パケットに含まれる処理命令が“GET /aaa HTTP/1.1”というHTTPリクエストであるものとする。この場合、2つの対応サーバ識別子(サーバA、サーバC)が、対応表ファイル291(図5参照)に登録されている。
 また、処理要求パケットに含まれる処理命令が“GET /ccc HTTP/1.1”というHTTPリクエストであるものとする。この場合、対応サーバ識別子は、対応表ファイル291(図5参照)に登録されていない。
 対応サーバ識別子が対応表ファイル291に登録されている場合(YES)、処理はS121に進む。
 対応サーバ識別子が対応表ファイル291に登録されていない場合(NO)、処理はS122に進む。
For example, it is assumed that the processing instruction included in the processing request packet is an HTTP request “GET / aaa HTTP / 1.1”. In this case, two correspondence server identifiers (server A and server C) are registered in the correspondence table file 291 (see FIG. 5).
Further, it is assumed that the processing command included in the processing request packet is an HTTP request “GET / ccc HTTP / 1.1”. In this case, the corresponding server identifier is not registered in the correspondence table file 291 (see FIG. 5).
If the corresponding server identifier is registered in the correspondence table file 291 (YES), the process proceeds to S121.
If the corresponding server identifier is not registered in the correspondence table file 291 (NO), the process proceeds to S122.
 図5は、実施の形態1における対応表ファイル291の一例を示す図である。
 実施の形態1における対応表ファイル291の一例について、図5に基づいて説明する。
 対応表ファイル291は、リクエストの欄に、アクセスデータの欄と、アクセスサーバの欄と、対応サーバの欄とを対応付ける。
 リクエストの欄は、処理命令を示す。
 アクセスデータの欄は、処理命令で指定されるデータ処理でアクセスされるコンテンツの識別子を示す。
 アクセスサーバの欄は、1つ以上の対応サーバのうち、前回のデータ処理でアクセスデータにアクセスした対応サーバの識別子を示す。
 対応サーバの欄は、1つ以上の対応サーバのそれぞれの識別子を示す。
FIG. 5 is a diagram illustrating an example of the correspondence table file 291 according to the first embodiment.
An example of the correspondence table file 291 in the first embodiment will be described with reference to FIG.
The correspondence table file 291 associates an access data column, an access server column, and a corresponding server column with a request column.
The request column indicates a processing instruction.
The access data column indicates the identifier of the content accessed in the data processing specified by the processing instruction.
The access server column indicates the identifier of the corresponding server that has accessed the access data in the previous data processing among one or more corresponding servers.
The corresponding server column indicates an identifier of each of one or more corresponding servers.
 S121(図4参照)において、要求振り分け部230は、1つ以上の対応サーバ識別子から、いずれかの対応サーバ識別子を選択する。このとき、要求振り分け部230は、1つ以上の対応サーバ識別子から、負荷が軽いサーバ装置300の識別子を選択するとよい。負荷が軽いサーバ装置300は従来の負荷分散技術によって特定することができる。
 選択される対応サーバ識別子を振り分け先識別子といい、振り分け先識別子で識別されるサーバ装置300を振り分け先サーバという。
 S121の後、処理はS130に進む。
In S121 (see FIG. 4), the request distribution unit 230 selects one corresponding server identifier from one or more corresponding server identifiers. At this time, the request distribution unit 230 may select an identifier of the server device 300 with a light load from one or more corresponding server identifiers. The server device 300 with a light load can be identified by a conventional load distribution technique.
The selected corresponding server identifier is called a distribution destination identifier, and the server device 300 identified by the distribution destination identifier is called a distribution destination server.
After S121, the process proceeds to S130.
 S122において、要求振り分け部230は、サーバ一覧ファイル292(図6参照)に登録されている複数のサーバ識別子から、いずれかのサーバ識別子を選択する。このとき、要求振り分け部230は、複数のサーバ識別子から、負荷が軽いサーバ装置300の識別子を選択するとよい。負荷が軽いサーバ装置300は従来の負荷分散技術によって特定することができる。
 選択されるサーバ識別子を振り分け先識別子といい、振り分け先識別子で識別されるサーバ装置300を振り分け先サーバという。
 S122の後、処理はS130に進む。
In S122, the request distribution unit 230 selects one of the server identifiers from the plurality of server identifiers registered in the server list file 292 (see FIG. 6). At this time, the request distribution unit 230 may select an identifier of the server device 300 with a light load from a plurality of server identifiers. The server device 300 with a light load can be identified by a conventional load distribution technique.
The selected server identifier is called a distribution destination identifier, and the server device 300 identified by the distribution destination identifier is called a distribution destination server.
After S122, the process proceeds to S130.
 図6は、実施の形態1におけるサーバ一覧ファイル292の一例を示す図である。
 実施の形態1におけるサーバ一覧ファイル292の一例について、図6に基づいて説明する。
 サーバ一覧ファイル292は、サーバの欄に、IPアドレスなどの情報欄を対応付ける。
 サーバの欄は、負荷分散システム100に備わるサーバ装置300の識別子を示す。
 IPアドレスの欄は、サーバ装置300のIPアドレスを示す。
FIG. 6 is a diagram illustrating an example of the server list file 292 according to the first embodiment.
An example of the server list file 292 according to the first embodiment will be described with reference to FIG.
The server list file 292 associates an information column such as an IP address with a server column.
The server column indicates an identifier of the server device 300 provided in the load distribution system 100.
The IP address column indicates the IP address of the server device 300.
 S130(図4参照)において、要求振り分け部230は、S121またはS122で選択された振り分け先識別子と同じサーバ識別子に対応付けられたIPアドレスを、サーバ一覧ファイル292(図6参照)から選択する。
 要求振り分け部230は、選択したIPアドレスを送信先アドレスとして用いて、振り分け先サーバ宛のパケットを生成する。このパケットを振り分けパケットという。
 振り分けパケットは、データ処理の実行を振り分け先サーバに要求するパケットである。振り分けパケットは、処理要求パケットに含まれる処理命令を含む。
In S130 (see FIG. 4), the request distribution unit 230 selects an IP address associated with the same server identifier as the distribution destination identifier selected in S121 or S122 from the server list file 292 (see FIG. 6).
The request distribution unit 230 generates a packet addressed to the distribution destination server using the selected IP address as a transmission destination address. This packet is called a distribution packet.
The distribution packet is a packet that requests the distribution destination server to execute data processing. The distribution packet includes a processing instruction included in the processing request packet.
 要求振り分け部230は、振り分けパケットを振り分け先サーバに送信する。
 S130の後、処理はS131に進む。
The request distribution unit 230 transmits the distribution packet to the distribution destination server.
After S130, the process proceeds to S131.
 S131において、要求振り分け部230は、実行結果データとアクセス情報データとを含む実行結果パケットを、振り分け先サーバから受信する。
 実行結果データは、データ処理の実行結果を示す。
 アクセス情報データは、アクセスデータ識別子と、アクセスサーバ識別子と、対応サーバ識別子群とを含む。
 アクセスデータ識別子は、アクセスされたコンテンツデータを識別する識別子を示す。
 アクセスサーバ識別子は、コンテンツデータにアクセスしたサーバ装置300の識別子を示す。
 対応サーバ識別子群は、1つ以上の対応サーバ識別子である。対応サーバ識別子は、アクセスされたコンテンツデータと同じコンテンツデータを記憶する1つ以上のサーバ装置300のそれぞれの識別子である。
 S131の後、処理はS140に進む。
In S131, the request distribution unit 230 receives an execution result packet including execution result data and access information data from the distribution destination server.
The execution result data indicates the execution result of the data processing.
The access information data includes an access data identifier, an access server identifier, and a corresponding server identifier group.
The access data identifier indicates an identifier for identifying accessed content data.
The access server identifier indicates the identifier of the server device 300 that has accessed the content data.
The corresponding server identifier group is one or more corresponding server identifiers. The corresponding server identifier is an identifier of each of the one or more server devices 300 that stores the same content data as the accessed content data.
After S131, the process proceeds to S140.
 S140において、対応表編集部222は、処理要求パケットに含まれる処理命令と、実行結果パケットに含まれるアクセス情報データ(アクセスデータ識別子、アクセスサーバ識別子、対応サーバ識別子群)とを用いて、対応表ファイル291を以下のように編集する。
 対応表ファイル291(図5参照)において、処理要求パケットに含まれる処理命令と同じ処理命令をリクエストの欄に含んだ該当レコードが登録されている場合、対応表編集部222は、アクセス情報データに基づいて、該当レコードを更新する。つまり、対応表編集部222は、該当レコードのアクセスデータの欄をアクセスデータ識別子で更新し、該当レコードのアクセスサーバの欄をアクセスサーバ識別子で更新し、該当レコードの対応サーバの欄を対応サーバ識別子群で更新する。
 対応表ファイル291(図5参照)において、処理要求パケットに含まれる処理命令と同じ処理命令をリクエストの欄に含んだ該当レコードが登録されていない場合、対応表編集部222は、処理命令とアクセス情報データとを用いて新規レコードを生成する。つまり、対応表編集部222は、処理命令をリクエストの欄に含み、アクセスデータ識別子をアクセスデータの欄に含み、アクセスサーバ識別子をアクセスサーバの欄に含み、対応サーバ識別子群を対応サーバの欄に含む新規レコードを生成する。そして、対応表編集部222は、新規レコードを対応表ファイル291に登録する。
 S140の後、処理はS150に進む。
In S140, the correspondence table editing unit 222 uses the processing instruction included in the processing request packet and the access information data (access data identifier, access server identifier, correspondence server identifier group) included in the execution result packet, and uses the correspondence table. The file 291 is edited as follows.
In the correspondence table file 291 (see FIG. 5), when a corresponding record including the same processing instruction as the processing instruction included in the processing request packet is registered in the request column, the correspondence table editing unit 222 includes the access information data. Based on this, the corresponding record is updated. That is, the correspondence table editing unit 222 updates the access data column of the corresponding record with the access data identifier, updates the access server column of the corresponding record with the access server identifier, and sets the corresponding server column of the corresponding record to the corresponding server identifier. Update with groups.
In the correspondence table file 291 (see FIG. 5), when the corresponding record including the same processing instruction as the processing instruction included in the processing request packet is not registered, the correspondence table editing unit 222 accesses the processing instruction and access. A new record is generated using information data. That is, the correspondence table editing unit 222 includes a processing instruction in the request column, an access data identifier in the access data column, an access server identifier in the access server column, and a corresponding server identifier group in the corresponding server column. Generate a new record that contains it. Then, the correspondence table editing unit 222 registers the new record in the correspondence table file 291.
After S140, the process proceeds to S150.
 S150において、要求受付部210は、データ処理の実行結果を応答する処理応答パケットを生成し、処理要求パケットの送信元のクライアント装置110に処理応答パケットを送信する。処理応答パケットは、実行結果パケットに含まれる実行結果データを含む。
 S150の後、1つの処理要求パケットに対する負荷分散装置200の動作は終了する。
In S150, the request reception unit 210 generates a processing response packet that responds to the execution result of the data processing, and transmits the processing response packet to the client device 110 that is the transmission source of the processing request packet. The processing response packet includes execution result data included in the execution result packet.
After S150, the operation of the load distribution apparatus 200 for one processing request packet ends.
 図7、図8は、実施の形態1におけるサーバ装置300の動作を示すフローチャートである。
 実施の形態1におけるサーバ装置300の動作について、図7および図8に基づいて説明する。但し、サーバ装置300の動作は、図7および図8に基づいて説明する動作と同一でなくても構わない。
7 and 8 are flowcharts showing the operation of the server apparatus 300 in the first embodiment.
The operation of server apparatus 300 in the first embodiment will be described based on FIG. 7 and FIG. However, the operation of the server apparatus 300 may not be the same as the operation described based on FIGS. 7 and 8.
 S210において、実行要求受付部311は、処理命令を含んだ振り分けパケットを受信する。
 S210の後、処理はS220に進む。
In S210, the execution request receiving unit 311 receives a distribution packet including a processing instruction.
After S210, the process proceeds to S220.
 S220において、処理実行部312は、振り分けパケットに含まれる処理命令に基づいて、処理ロジックの実行を開始する。
 処理ロジックは、モジュール、ルーチンまたは関数などとも呼ばれるプログラムであり、データ処理の手順を示す。例えば、処理ロジックは、コンテンツデータにアクセスするためのクエリを生成する手順を含む。
In S220, the process execution unit 312 starts executing the process logic based on the process instruction included in the distribution packet.
The processing logic is a program called a module, a routine, or a function, and indicates a data processing procedure. For example, the processing logic includes a procedure for generating a query for accessing content data.
 例えば、処理命令が“GET /aaa HTTP/1.1”である場合、処理実行部312は、複数の処理ロジックのうちのGETメソッド用の処理ロジックを選択し、“aaa”をパラメータとして用いて処理ロジックの実行を開始する。
 S220の後、処理はS230に進む。
For example, when the processing instruction is “GET / aaa HTTP / 1.1”, the processing execution unit 312 selects a processing logic for the GET method from among a plurality of processing logics, and uses “aaa” as a parameter. Start processing logic execution.
After S220, the process proceeds to S230.
 S230において、処理実行部312は、コンテンツデータにアクセスするためのクエリを処理ロジックに従って生成し、クエリをDBサーバ部320に受け渡す。
 S230の後、処理はS231に進む。
In S230, the process execution unit 312 generates a query for accessing the content data according to the processing logic, and passes the query to the DB server unit 320.
After S230, the process proceeds to S231.
 S231において、DBサーバ部320は、クエリを受け取り、クエリに指定されたコンテンツデータにアクセスするためのアクセス命令を生成し、アクセス命令を分散ストレージ管理部330に受け渡す。
 S231の後、処理はS232に進む。
In S231, the DB server unit 320 receives the query, generates an access command for accessing the content data specified in the query, and passes the access command to the distributed storage management unit 330.
After S231, the process proceeds to S232.
 S232において、分散ストレージ管理部330は、アクセス命令を受け取り、アクセス命令に指定されたコンテンツデータが分散ストレージ領域399に記憶されているか判定する。アクセス命令に指定されたコンテンツデータを該当コンテンツという。
 該当コンテンツが分散ストレージ領域399に記憶されている場合(YES)、処理はS233に進む。
 該当コンテンツが分散ストレージ領域399に記憶されていない場合(NO)、処理はS235(図8参照)に進む。
In S232, the distributed storage management unit 330 receives the access command, and determines whether the content data specified in the access command is stored in the distributed storage area 399. Content data specified in the access command is referred to as corresponding content.
If the content is stored in the distributed storage area 399 (YES), the process proceeds to S233.
If the corresponding content is not stored in the distributed storage area 399 (NO), the process proceeds to S235 (see FIG. 8).
 S233において、分散ストレージ管理部330は、アクセス命令に従って、分散ストレージ領域399に記憶されている該当コンテンツにアクセスする。
 例えば、分散ストレージ管理部330は、分散ストレージ領域399から該当コンテンツを読み出す。
In S233, the distributed storage management unit 330 accesses the corresponding content stored in the distributed storage area 399 according to the access command.
For example, the distributed storage management unit 330 reads the corresponding content from the distributed storage area 399.
 分散ストレージ管理部330は、アクセス命令の実行結果をDBサーバ部320に受け渡す。例えば、アクセス命令の実行結果は、分散ストレージ領域399から読み出された該当コンテンツを含む。 The distributed storage management unit 330 delivers the execution result of the access command to the DB server unit 320. For example, the execution result of the access command includes the corresponding content read from the distributed storage area 399.
 DBサーバ部320は、アクセス命令の実行結果を受け取り、アクセス命令の実行結果を用いてクエリの実行結果を生成し、クエリの実行結果を処理実行部312に受け渡す。例えば、クエリの実行結果は、分散ストレージ領域399から読み出された該当コンテンツを含む。
 S233の後、処理はS234に進む。
The DB server unit 320 receives the execution result of the access instruction, generates a query execution result using the access command execution result, and passes the query execution result to the process execution unit 312. For example, the query execution result includes the corresponding content read from the distributed storage area 399.
After S233, the process proceeds to S234.
 S234において、分散ストレージ管理部330は、データ配置ファイル391(図9参照)から、該当コンテンツと同じコンテンツデータの識別子に対応付けられたサーバ識別子群を選択する。例えば、該当コンテンツがコンテンツAである場合、分散ストレージ管理部330は、データ配置ファイル391(図9参照)から2つのサーバ識別子(サーバA、サーバC)を選択する。
 そして、分散ストレージ管理部330は、サーバ識別子群と該当コンテンツの識別子とをアクセス情報生成部340に受け渡す。
In S234, the distributed storage management unit 330 selects a server identifier group associated with the same content data identifier as the corresponding content from the data arrangement file 391 (see FIG. 9). For example, when the corresponding content is content A, the distributed storage management unit 330 selects two server identifiers (server A and server C) from the data arrangement file 391 (see FIG. 9).
Then, the distributed storage management unit 330 passes the server identifier group and the identifier of the corresponding content to the access information generation unit 340.
 アクセス情報生成部340は、サーバ識別子群と該当コンテンツの識別子とを受け取り、アクセス情報データを生成し、アクセス情報データを実行結果応答部313に受け渡す。
 アクセス情報データは、該当コンテンツの識別子をアクセスデータ識別子として含み、振り分け先サーバの識別子をアクセスサーバ識別子として含み、受け取ったサーバ識別子群を対応サーバ識別子群として含む。
 S234の後、処理はS240に進む。
The access information generation unit 340 receives the server identifier group and the identifier of the corresponding content, generates access information data, and passes the access information data to the execution result response unit 313.
The access information data includes the identifier of the corresponding content as the access data identifier, the identifier of the distribution destination server as the access server identifier, and the received server identifier group as the corresponding server identifier group.
After S234, the process proceeds to S240.
 図9は、実施の形態1におけるデータ配置ファイル391の一例を示す図である。
 実施の形態1におけるデータ配置ファイル391の一例について、図9に基づいて説明する。
 データ配置ファイル391は、サーバの欄に、コンテンツなどの情報欄を対応付ける。
 サーバは、1つ以上のサーバ装置300のそれぞれの識別子を示す。
 コンテンツは、サーバ装置300に記憶されている1つ以上のコンテンツデータのそれぞれの識別子を示す。
FIG. 9 is a diagram illustrating an example of the data arrangement file 391 according to the first embodiment.
An example of the data arrangement file 391 in the first embodiment will be described with reference to FIG.
The data arrangement file 391 associates an information field such as content with a server field.
The server indicates an identifier of each of the one or more server apparatuses 300.
The content indicates an identifier of each of one or more pieces of content data stored in the server device 300.
 S240(図7参照)において、処理実行部312は、クエリの実行結果をDBサーバ部320から受け取る。
 処理実行部312は、クエリの実行結果に基づいてデータ処理を実行する。例えば、処理実行部312は、クエリの実行結果に含まれる該当コンテンツを用いて、WEBページを生成する。
 そして、処理実行部312は、データ処理の実行を終了し、データ処理の実行結果を示す実行結果データを生成する。例えば、処理実行部312は、データ処理によって生成されたWEBページを含む実行結果データを生成する。
 S240の後、処理はS250に進む。
In S240 (see FIG. 7), the process execution unit 312 receives a query execution result from the DB server unit 320.
The process execution unit 312 executes data processing based on the execution result of the query. For example, the process execution unit 312 generates a WEB page using the corresponding content included in the query execution result.
Then, the process execution unit 312 ends the execution of the data process, and generates execution result data indicating the execution result of the data process. For example, the process execution unit 312 generates execution result data including a WEB page generated by data processing.
After S240, the process proceeds to S250.
 S250において、実行結果応答部313は、アクセス情報データをアクセス情報生成部340から受け取る。
 そして、実行結果応答部313は、実行結果データとアクセス情報データとを含む実行結果パケットを生成し、実行結果パケットを負荷分散装置200に送信する。
 S250の後、1つの振り分けパケットに対するサーバ装置300の動作は終了する。
In S250, the execution result response unit 313 receives the access information data from the access information generation unit 340.
Then, the execution result response unit 313 generates an execution result packet including execution result data and access information data, and transmits the execution result packet to the load distribution apparatus 200.
After S250, the operation of the server apparatus 300 with respect to one distribution packet ends.
 S235(図8参照)において、分散ストレージ管理部330は、データ配置ファイル391(図9参照)から、アクセス命令に指定された該当コンテンツと同じコンテンツデータの識別子に対応付けられたサーバ識別子群を選択する。
 そして、分散ストレージ管理部330は、サーバ識別子群から、いずれかのサーバ識別子を選択する。このとき、分散ストレージ管理部330は、サーバ識別子群から、負荷が軽いサーバ装置300の識別子を選択するとよい。負荷が軽いサーバ装置300は従来の負荷分散技術によって特定することができる。
 選択されるサーバ識別子を対応サーバ識別子といい、対応サーバ識別子で識別されるサーバ装置300を対応サーバという。
 S235の後、処理はS236に進む。
In S235 (see FIG. 8), the distributed storage management unit 330 selects, from the data arrangement file 391 (see FIG. 9), a server identifier group associated with the same content data identifier as the corresponding content specified in the access command. To do.
Then, the distributed storage management unit 330 selects one of the server identifiers from the server identifier group. At this time, the distributed storage management unit 330 may select an identifier of the server device 300 with a light load from the server identifier group. The server device 300 with a light load can be identified by a conventional load distribution technique.
The selected server identifier is referred to as a corresponding server identifier, and the server device 300 identified by the corresponding server identifier is referred to as a corresponding server.
After S235, the process proceeds to S236.
 S236において、分散ストレージ管理部330は、対応サーバ識別子と同じサーバ識別子に対応付けられたIPアドレスを、サーバ一覧ファイル392から選択する。サーバ一覧ファイル392は、図6で説明したサーバ一覧ファイル292と同様のファイルである。
 分散ストレージ管理部330は、選択したIPアドレスを送信先アドレスとして用いて、対応サーバ宛のパケットを生成する。このパケットをアクセス要求パケットという。
 アクセス要求パケットは、アクセス命令の実行を対応サーバに要求するパケットである。アクセス要求パケットは、アクセス命令を含む。
In S236, the distributed storage management unit 330 selects an IP address associated with the same server identifier as the corresponding server identifier from the server list file 392. The server list file 392 is a file similar to the server list file 292 described with reference to FIG.
The distributed storage management unit 330 generates a packet addressed to the corresponding server by using the selected IP address as the transmission destination address. This packet is called an access request packet.
The access request packet is a packet for requesting the corresponding server to execute an access command. The access request packet includes an access command.
 分散ストレージ管理部330は、アクセス要求パケットを対応サーバに送信する。
 S236の後、処理はS237に進む。
The distributed storage management unit 330 transmits an access request packet to the corresponding server.
After S236, the process proceeds to S237.
 S237において、対応サーバの分散ストレージ管理部330は、アクセス要求パケットを受信する。
 対応サーバの分散ストレージ管理部330は、アクセス要求パケットに含まれるアクセス命令に従って、対応サーバの分散ストレージ領域399に記憶されている該当コンテンツにアクセスする。
 そして、対応サーバの分散ストレージ管理部330は、アクセス命令の実行結果を含むアクセス応答パケットを生成し、アクセス要求パケットの送信元のサーバ装置300にアクセス応答パケットを送信する。
 S237の後、処理はS238に進む。
In S237, the distributed storage management unit 330 of the corresponding server receives the access request packet.
The distributed storage management unit 330 of the corresponding server accesses the corresponding content stored in the distributed storage area 399 of the corresponding server according to the access command included in the access request packet.
Then, the distributed storage management unit 330 of the corresponding server generates an access response packet including the execution result of the access command, and transmits the access response packet to the server apparatus 300 that is the transmission source of the access request packet.
After S237, the process proceeds to S238.
 S238において、振り分け先サーバの分散ストレージ管理部330は、アクセス応答パケットを受信する。
 振り分け先サーバにおいて、分散ストレージ管理部330は、アクセス応答パケットに含まれるアクセス命令の実行結果をDBサーバ部320に受け渡す。
 DBサーバ部320は、アクセス命令の実行結果を受け取り、アクセス命令の実行結果を用いてクエリの実行結果を生成し、クエリの実行結果を処理実行部312に受け渡す(S233と同様)。
 S238の後、処理はS239に進む。
In S238, the distributed storage management unit 330 of the distribution destination server receives the access response packet.
In the distribution destination server, the distributed storage management unit 330 delivers the execution result of the access command included in the access response packet to the DB server unit 320.
The DB server unit 320 receives the execution result of the access command, generates a query execution result using the access command execution result, and passes the query execution result to the process execution unit 312 (similar to S233).
After S238, the process proceeds to S239.
 S239において、振り分け先サーバの分散ストレージ管理部330は、該当コンテンツの識別子と、データ配置ファイル391から選択したサーバ識別子群と、サーバ識別子群から選択した対応サーバ識別子とをアクセス情報生成部340に受け渡す。
 アクセス情報生成部340は、該当コンテンツの識別子とサーバ識別子群と対応サーバ識別子とを受け取り、アクセス情報データを生成し、アクセス情報データを実行結果応答部313に受け渡す(S234と同様)。
 アクセス情報データは、該当コンテンツの識別子をアクセスデータ識別子として含み、サーバ識別子群を対応サーバ識別子群として含み、対応サーバ識別子をアクセスサーバ識別子として含む。
 S239の後、処理はS240(図7参照)に進む。S240以降の処理は図7に基づいて説明した通りである。
In S239, the distributed storage management unit 330 of the distribution destination server receives the identifier of the corresponding content, the server identifier group selected from the data arrangement file 391, and the corresponding server identifier selected from the server identifier group in the access information generation unit 340. hand over.
The access information generation unit 340 receives the identifier of the corresponding content, the server identifier group, and the corresponding server identifier, generates access information data, and transfers the access information data to the execution result response unit 313 (similar to S234).
The access information data includes an identifier of the corresponding content as an access data identifier, includes a server identifier group as a corresponding server identifier group, and includes a corresponding server identifier as an access server identifier.
After S239, the process proceeds to S240 (see FIG. 7). The processing after S240 is as described based on FIG.
 図10は、実施の形態1における負荷分散装置200のハードウェア構成図である。
 実施の形態1における負荷分散装置200のハードウェア構成について、図10に基づいて説明する。但し、負荷分散装置200のハードウェア構成は図10に示す構成と同一でなくても構わない。
FIG. 10 is a hardware configuration diagram of the load distribution apparatus 200 according to the first embodiment.
A hardware configuration of the load distribution apparatus 200 according to Embodiment 1 will be described with reference to FIG. However, the hardware configuration of the load distribution apparatus 200 may not be the same as the configuration shown in FIG.
 負荷分散装置200は、演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905を備えるコンピュータである。
 演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905はバス909に接続している。
The load balancer 200 is a computer including an arithmetic device 901, an auxiliary storage device 902, a main storage device 903, a communication device 904, and an input / output device 905.
The arithmetic device 901, auxiliary storage device 902, main storage device 903, communication device 904, and input / output device 905 are connected to the bus 909.
 演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
 補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリまたはハードディスク装置である。
 主記憶装置903は、例えば、RAM(Random Access Memory)である。
 通信装置904は、有線または無線でインターネット、LAN(ローカルエリアネットワーク)、電話回線網またはその他のネットワークを介して通信を行う。
 入出力装置905は、例えば、マウス、キーボード、ディスプレイ装置である。
The arithmetic device 901 is a CPU (Central Processing Unit) that executes a program.
The auxiliary storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or a hard disk device.
The main storage device 903 is, for example, a RAM (Random Access Memory).
The communication device 904 performs communication via the Internet, a LAN (local area network), a telephone line network, or other networks in a wired or wireless manner.
The input / output device 905 is, for example, a mouse, a keyboard, or a display device.
 プログラムは、補助記憶装置902に記憶されている。
 例えば、オペレーティングシステム(OS)が補助記憶装置902に記憶される。また、「~部」として説明している機能を実現するプログラムが補助記憶装置902に記憶される。
 プログラムは、補助記憶装置902に記憶されており、主記憶装置903にロードされて、演算装置901によって実行される。
The program is stored in the auxiliary storage device 902.
For example, an operating system (OS) is stored in the auxiliary storage device 902. Further, a program for realizing the function described as “˜unit” is stored in the auxiliary storage device 902.
The program is stored in the auxiliary storage device 902, loaded into the main storage device 903, and executed by the arithmetic device 901.
 「~の判断」、「~の判定」、「~の抽出」、「~の検知」、「~の設定」、「~の登録」、「~の選択」、「~の生成」、「~の入力」、「~の出力」等の処理の結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置903または補助記憶装置902に記憶される。 “Determining”, “Determining”, “Extracting”, “Detecting”, “Settings”, “Registering”, “Selecting”, “Generating”, “To” Information, data, files, signal values or variable values indicating the results of processing such as “input”, “output of”, etc. are stored in the main storage device 903 or the auxiliary storage device 902.
 クライアント装置110およびサーバ装置300は、負荷分散装置200と同様のハードウェア構成を備える。 The client device 110 and the server device 300 have the same hardware configuration as that of the load distribution device 200.
 実施の形態1によって、例えば、以下のような効果を奏する。
 負荷分散装置200は、対応表ファイル291を備えることにより、データ処理の処理要求を適切なサーバ装置300に振り分けることができる。つまり、負荷分散装置200は、データ処理で使用されるコンテンツデータ(該当コンテンツ)を記憶するサーバ装置300にデータ処理の処理要求を振り分けることができる。
 処理要求の振り分け先のサーバ装置300が該当コンテンツを記憶していれば、処理要求の振り分け先のサーバ装置300が該当コンテンツにアクセスするために他のサーバ装置300と通信する必要はない。そのため、サーバ装置間の通信に伴う処理遅延が発生せず、システムのスループットが向上する。
According to the first embodiment, for example, the following effects can be obtained.
By providing the correspondence table file 291, the load balancer 200 can distribute processing requests for data processing to an appropriate server device 300. That is, the load distribution apparatus 200 can distribute processing requests for data processing to the server apparatus 300 that stores content data (corresponding content) used in data processing.
If the processing request distribution destination server apparatus 300 stores the corresponding content, the processing request distribution destination server apparatus 300 does not need to communicate with another server apparatus 300 in order to access the corresponding content. Therefore, a processing delay associated with communication between server devices does not occur, and the system throughput is improved.
 実施の形態1は、負荷分散システム100の形態の一例である。
 つまり、負荷分散システム100は、実施の形態1で説明した構成要素の一部を備えなくても構わない。また、負荷分散システム100は、実施の形態1で説明していない構成要素を備えても構わない。
The first embodiment is an example of a form of the load distribution system 100.
That is, the load distribution system 100 may not include some of the components described in the first embodiment. Further, the load distribution system 100 may include components that are not described in the first embodiment.
 実施の形態2.
 負荷分散装置200を備えないクライアントサーバシステムの形態について説明する。
 以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
Embodiment 2. FIG.
A form of a client server system that does not include the load distribution apparatus 200 will be described.
Hereinafter, items different from the first embodiment will be mainly described. Matters whose description is omitted are the same as those in the first embodiment.
 図11は、実施の形態2におけるクライアントサーバシステム101の構成図である。
 図11において、クライアントサーバシステム101(データ処理システムの一例)は、1つ以上のクライアント装置110と、複数のサーバ装置300とを備える。
FIG. 11 is a configuration diagram of the client server system 101 according to the second embodiment.
In FIG. 11, a client server system 101 (an example of a data processing system) includes one or more client devices 110 and a plurality of server devices 300.
 図12は、実施の形態2におけるクライアント装置110の機能構成図である。
 図12において、クライアント装置110は、負荷分散装置200(図2参照)と同様に、要求受付部210と、対応表管理部220と、要求振り分け部230とを備える。
 また、クライアント装置110は、対応表ファイル291およびサーバ一覧ファイル292などを記憶するクライアント記憶部119(対応表ファイル記憶部の一例)を備える。
FIG. 12 is a functional configuration diagram of the client device 110 according to the second embodiment.
In FIG. 12, the client device 110 includes a request accepting unit 210, a correspondence table management unit 220, and a request distribution unit 230, similarly to the load distribution device 200 (see FIG. 2).
In addition, the client device 110 includes a client storage unit 119 (an example of a correspondence table file storage unit) that stores a correspondence table file 291 and a server list file 292.
 実施の形態2におけるクライアント装置110の動作は、実施の形態1における負荷分散装置200の動作(図4参照)と同様である。
 但し、S110において、要求受付部210は、処理要求パケットを受信する代わりに、利用者がクライアント装置110に入力する処理命令を受け付ける。
 また、S150において、要求受付部210は、処理応答パケットを送信する代わりに、実行結果データを画面に表示する。
The operation of the client device 110 in the second embodiment is the same as the operation of the load distribution device 200 in the first embodiment (see FIG. 4).
However, in S110, the request reception unit 210 receives a processing command that the user inputs to the client device 110 instead of receiving a processing request packet.
In S150, the request reception unit 210 displays the execution result data on the screen instead of transmitting the processing response packet.
 実施の形態2において、クライアント装置110は、実施の形態1における負荷分散装置200と同様の効果を奏することができる。つまり、クライアント装置110は、データ処理で使用されるコンテンツデータを記憶するサーバ装置300にデータ処理の処理要求を振り分けることができる。 In the second embodiment, the client device 110 can achieve the same effects as the load distribution device 200 in the first embodiment. In other words, the client device 110 can distribute processing requests for data processing to the server device 300 that stores content data used in data processing.
 実施の形態2は、クライアントサーバシステム101の形態の一例である。
 つまり、クライアントサーバシステム101は、実施の形態2で説明した構成要素の一部を備えなくても構わない。また、クライアントサーバシステム101は、実施の形態2で説明していない構成要素を備えても構わない。
The second embodiment is an example of a form of the client server system 101.
In other words, the client server system 101 may not include some of the components described in the second embodiment. Further, the client server system 101 may include components that are not described in the second embodiment.
 各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法およびプログラムの処理手順の一例である。各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。 The processing procedure described with reference to the flowcharts in each embodiment is an example of the processing procedure of the method and program according to each embodiment. The method and program according to each embodiment may be realized by a processing procedure partially different from the processing procedure described in each embodiment.
 各実施の形態において「~部」は「~処理」「~工程」「~プログラム」「~装置」などと読み替えることができる。 In each embodiment, “to part” can be read as “to process”, “to process”, “to program”, “to apparatus”, and the like.
 100 負荷分散システム、101 クライアントサーバシステム、109 ネットワーク、110 クライアント装置、119 クライアント記憶部、200 負荷分散装置、210 要求受付部、220 対応表管理部、221 対応表参照部、222 対応表編集部、230 要求振り分け部、290 負荷分散記憶部、291 対応表ファイル、292 サーバ一覧ファイル、300 サーバ装置、301 WEBサーバ部、310 WEBアプリケーション部、311 実行要求受付部、312 処理実行部、313 実行結果応答部、320 DBサーバ部、330 分散ストレージ管理部、340 アクセス情報生成部、380 コンテンツデータ群、381 コンテンツデータA、382 コンテンツデータB、383 コンテンツデータC、384 コンテンツデータD、390 サーバ記憶部、391 データ配置ファイル、392 サーバ一覧ファイル、399 分散ストレージ領域、901 演算装置、902 補助記憶装置、903 主記憶装置、904 通信装置、905 入出力装置、909 バス。 100 load distribution system, 101 client server system, 109 network, 110 client device, 119 client storage unit, 200 load distribution device, 210 request reception unit, 220 correspondence table management unit, 221 correspondence table reference unit, 222 correspondence table editing unit, 230 request distribution unit, 290 load distribution storage unit, 291 correspondence table file, 292 server list file, 300 server device, 301 WEB server unit, 310 WEB application unit, 311 execution request reception unit, 312 process execution unit, 313 execution result response Part, 320 DB server part, 330 distributed storage management part, 340 access information generation part, 380 content data group, 381 content data A, 382 content data B, 383 Content data C, 384 content data D, 390 server storage unit, 391 data allocation file, 392 server list file, 399 distributed storage area, 901 arithmetic unit, 902 auxiliary storage unit, 903 main storage unit, 904 communication unit, 905 input / output Device, 909 bus.

Claims (7)

  1.  データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
     第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
     前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応表管理部と、
     前記対応表管理部によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け部と
    を備えることを特徴とする処理振り分け装置。
    A correspondence table file storage unit that stores a correspondence table file in which a processing instruction designating data processing is associated with a server identifier of a server device that stores content data used in data processing;
    A processing command receiving unit that receives a first processing command that specifies first data processing using the first content data;
    A correspondence table management unit that selects from the correspondence table file a server identifier associated with the same processing instruction as the first processing instruction received by the processing instruction reception unit;
    A processing distribution device, comprising: a processing distribution unit that requests the server device identified by the server identifier selected by the correspondence table management unit to execute the first data processing.
  2.  前記処理振り分け部は、前記第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が前記対応表ファイルに含まれないために前記対応表管理部によってサーバ識別子が選択されない場合、複数のサーバ装置のうちのいずれかに前記第一のデータ処理の実行を要求する
    ことを特徴とする請求項1に記載の処理振り分け装置。
    When the server identifier is not selected by the correspondence table management unit because the server identifier associated with the same processing instruction as the first processing instruction is not included in the correspondence table file, the processing distribution unit includes a plurality of servers. The processing distribution apparatus according to claim 1, wherein one of the apparatuses is requested to execute the first data processing.
  3.  前記処理振り分け部は、前記第一のデータ処理の要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付け、
     前記対応表管理部は、前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する
    ことを特徴とする請求項1または請求項2に記載の処理振り分け装置。
    The process distribution unit receives an execution result of the first data process and a server identifier of a server apparatus that stores the first content data from a server apparatus that is a request destination of the first data process,
    The said correspondence table management part matches the server identifier received by the said process distribution part with the said 1st process command, and registers it in the said correspondence table file, The Claim 1 or Claim 2 characterized by the above-mentioned. The processing distribution device described.
  4.  前記対応表管理部は、前記処理振り分け部によって複数のサーバ識別子が受け付けられた場合、前記第一の処理命令に前記複数のサーバ識別子を対応付けて前記対応表ファイルに登録する
    ことを特徴とする請求項3に記載の処理振り分け装置。
    The correspondence table managing unit registers the plurality of server identifiers in the correspondence table file in association with the first processing instruction when a plurality of server identifiers are received by the processing distribution unit. The processing distribution device according to claim 3.
  5.  前記処理振り分け部は、前記第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が複数あるために前記対応表管理部によって複数のサーバ識別子が選択された場合、前記複数のサーバ識別子のいずれかのサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する
    ことを特徴とする請求項1から請求項4のいずれかに記載の処理振り分け装置。
    When the plurality of server identifiers are selected by the correspondence table management unit because there are a plurality of server identifiers associated with the same processing instruction as the first processing instruction, the processing distribution unit includes the plurality of server identifiers. 5. The processing distribution device according to claim 1, wherein the server device identified by any one of the server identifiers is requested to execute the first data processing. 6.
  6.  対応表ファイルを使用する処理振り分けプログラムであって、
     前記対応表ファイルは、データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子を対応付けたファイルであり、
     第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付処理と、
     前記処理命令受付処理によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子を前記対応表ファイルから選択する対応サーバ選択処理と、
     前記対応サーバ選択処理によって選択されたサーバ識別子で識別されるサーバ装置に前記第一のデータ処理の実行を要求する処理振り分け処理と
    をコンピュータに実行させるための処理振り分けプログラム。
    A processing distribution program that uses a correspondence table file,
    The correspondence table file is a file in which a server identifier of a server device that stores content data used in data processing is associated with a processing instruction that specifies data processing,
    A processing command receiving process for receiving a first processing command for specifying a first data processing using the first content data;
    A corresponding server selection process for selecting, from the correspondence table file, a server identifier associated with the same processing instruction as the first processing instruction received by the processing instruction reception process;
    A process distribution program for causing a computer to execute a process distribution process for requesting a server device identified by a server identifier selected by the corresponding server selection process to execute the first data process.
  7.  処理振り分け装置と、複数のサーバ装置とを備え、
     前記処理振り分け装置は、 データ処理を指定する処理命令に、データ処理で使用されるコンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けた対応表ファイルを記憶する対応表ファイル記憶部と、
     第一のコンテンツデータを使用する第一のデータ処理を指定する第一の処理命令を受け付ける処理命令受付部と、
     前記処理命令受付部によって受け付けられた第一の処理命令と同じ処理命令に対応付けられたサーバ識別子が前記対応表ファイルに含まれない場合、前記複数のサーバ装置のうちのいずれかに前記第一のデータ処理の実行を要求し、要求先のサーバ装置から、前記第一のデータ処理の実行結果と、前記第一のコンテンツデータを記憶するサーバ装置のサーバ識別子とを受け付ける処理振り分け部と、
     前記第一の処理命令に、前記処理振り分け部によって受け付けられたサーバ識別子を対応付けて、前記対応表ファイルに登録する対応サーバ登録部とを備え、
     前記複数のサーバ装置のそれぞれは、
     コンテンツデータを記憶するコンテンツデータ記憶部と、
     コンテンツデータを識別するデータ識別子に、コンテンツデータを記憶するサーバ装置のサーバ識別子、を対応付けたデータ配置ファイルを記憶するデータ配置ファイル記憶部と、
     前記処理振り分け装置から要求された第一のデータ処理を実行する処理実行部と、
     前記第一のコンテンツデータが前記コンテンツデータ記憶部に記憶されていない場合、前記第一のコンテンツデータのデータ識別子に対応付けられたサーバ識別子を前記データ配置ファイルから選択し、選択したサーバ識別子で識別されるサーバ装置に前記第一のコンテンツデータへのアクセスを要求するアクセス要求部と、
     前記処理実行部によって実行された第一のデータ処理の実行結果と、前記アクセス要求部によって選択されたサーバ識別子と、を前記処理振り分け装置に応答する実行結果応答部とを備える
    ことを特徴とするデータ処理システム。
    A processing distribution device and a plurality of server devices;
    The processing distribution device stores a correspondence table file storing a correspondence table file in which a processing instruction designating data processing is associated with a server identifier of a server device that stores content data used in data processing;
    A processing command receiving unit that receives a first processing command that specifies first data processing using the first content data;
    When the server identifier associated with the same processing instruction as the first processing instruction received by the processing instruction reception unit is not included in the correspondence table file, the first identifier is included in any of the plurality of server devices. A processing distribution unit that requests execution of the data processing, and receives a result of the execution of the first data processing and a server identifier of the server device that stores the first content data from the requested server device;
    A correspondence server registration unit that registers the first processing instruction in the correspondence table file in association with the server identifier received by the processing distribution unit;
    Each of the plurality of server devices is
    A content data storage unit for storing content data;
    A data arrangement file storage unit for storing a data arrangement file in which a data identifier for identifying content data is associated with a server identifier of a server device that stores the content data;
    A process execution unit for executing the first data process requested from the process distribution device;
    If the first content data is not stored in the content data storage unit, a server identifier associated with the data identifier of the first content data is selected from the data arrangement file and identified by the selected server identifier An access request unit for requesting the server device to access the first content data;
    An execution result response unit that responds to the process distribution device with an execution result of the first data processing executed by the process execution unit and a server identifier selected by the access request unit. Data processing system.
PCT/JP2014/072716 2014-08-29 2014-08-29 Process distributing device, process distributing program, and data processing system WO2016031043A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2014/072716 WO2016031043A1 (en) 2014-08-29 2014-08-29 Process distributing device, process distributing program, and data processing system
JP2016545186A JP6203414B2 (en) 2014-08-29 2014-08-29 Processing distribution device, processing distribution program, and data processing system
CN201480081125.XA CN106575267B (en) 2014-08-29 2014-08-29 Handle distributor and data handling system
TW103136102A TWI531909B (en) 2014-08-29 2014-10-20 Processing screening devices, processing sieving products and data processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/072716 WO2016031043A1 (en) 2014-08-29 2014-08-29 Process distributing device, process distributing program, and data processing system

Publications (1)

Publication Number Publication Date
WO2016031043A1 true WO2016031043A1 (en) 2016-03-03

Family

ID=55398978

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/072716 WO2016031043A1 (en) 2014-08-29 2014-08-29 Process distributing device, process distributing program, and data processing system

Country Status (4)

Country Link
JP (1) JP6203414B2 (en)
CN (1) CN106575267B (en)
TW (1) TWI531909B (en)
WO (1) WO2016031043A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518016A (en) * 2002-02-13 2005-06-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for reconfiguring server system
JP2006309383A (en) * 2005-04-27 2006-11-09 Hitachi Ltd Computer system
JP2008071229A (en) * 2006-09-15 2008-03-27 Onkyo Corp Network av system and controller
JP2008177950A (en) * 2007-01-19 2008-07-31 Nec Corp Video distribution system, video distribution method, distribution management system and program
US7912954B1 (en) * 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
JP2011186616A (en) * 2010-03-05 2011-09-22 Nec Corp Distributed file system, and server, method, and program for remote file processing

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292693B2 (en) * 2000-07-07 2009-07-08 株式会社日立製作所 Computer resource dividing apparatus and resource dividing method
CN102238143B (en) * 2010-04-30 2014-01-22 鸿富锦精密工业(深圳)有限公司 Master server and method for decoding multimedia data by using same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005518016A (en) * 2002-02-13 2005-06-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for reconfiguring server system
US7912954B1 (en) * 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
JP2006309383A (en) * 2005-04-27 2006-11-09 Hitachi Ltd Computer system
JP2008071229A (en) * 2006-09-15 2008-03-27 Onkyo Corp Network av system and controller
JP2008177950A (en) * 2007-01-19 2008-07-31 Nec Corp Video distribution system, video distribution method, distribution management system and program
JP2011186616A (en) * 2010-03-05 2011-09-22 Nec Corp Distributed file system, and server, method, and program for remote file processing

Also Published As

Publication number Publication date
CN106575267A (en) 2017-04-19
TW201608389A (en) 2016-03-01
JP6203414B2 (en) 2017-09-27
TWI531909B (en) 2016-05-01
JPWO2016031043A1 (en) 2017-04-27
CN106575267B (en) 2018-04-06

Similar Documents

Publication Publication Date Title
JP7252356B2 (en) MOBILE EDGE COMPUTING NODE SELECTION METHOD, APPARATUS AND SYSTEM AND COMPUTER PROGRAM
US10812381B2 (en) Systems and methods for directly responding to distributed network traffic
CN103905572B (en) The processing method and processing device of domain name mapping request
US9489429B2 (en) Computer system, data management method, and program
US20230028120A1 (en) State management and object storage in a distributed cloud computing network
US20230128125A1 (en) Systems and methods for processing requests for content of a content distribution network
US8296774B2 (en) Service-based endpoint discovery for client-side load balancing
US11805093B2 (en) Systems and methods for processing requests for content of a content distribution network
CN113439428A (en) System and method for operating a device with DNS cache
JP2013015991A (en) Information processor, server selection method, and program
JP5817558B2 (en) Information processing apparatus, distributed processing system, cache management program, and distributed processing method
JP2012118709A (en) Distribution system, storage capacity decision program, and storage capacity decision method
CN109756584A (en) Domain name analytic method, domain name mapping device and computer readable storage medium
US8914436B2 (en) Data processing device and data retriever
US9686372B1 (en) Systems and methods for automatically rewriting network page code
CN112804366B (en) Method and device for resolving domain name
JP6203414B2 (en) Processing distribution device, processing distribution program, and data processing system
JP6607044B2 (en) Server device, distributed file system, distributed file system control method, and program
US11652746B1 (en) Resilient consistent hashing for a distributed cache
CN109088913B (en) Method for requesting data and load balancing server
EP3304865B1 (en) Systems and methods for server failover and load balancing
JP4051462B2 (en) Data distribution method in grid system, grid system, grid mediation device, grid mediation program
US11683374B2 (en) Containerized gateways and exports for distributed file systems
US20240106889A1 (en) Data resource storage method and apparatus, data resource query method and apparatus, and electronic device
JP2005234878A (en) Resource retrieval system and method

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016545186

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

Country of ref document: EP

Kind code of ref document: A1