Transaction processing program, transaction processing method, and information processing device
Patent Information
- Application Number
- JP2021054680
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-29
- Publication Date
- 2025-02-20
- Estimated Expiration
- 2041-03-29
AI Technical Summary
【0009】 1態様によれば、ログ出力処理の効率化を図ることができる。
Smart Images

Figure 0007633505000001 
Figure 0007633505000002 
Figure 0007633505000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a transaction processing program, a transaction processing method, and an information processing device. [Background technology]
[0002] In services that use a computer system, various processes are executed in response to a single request. In the computer that provides the service, a series of processes in response to a request is considered as one transaction, and the processing of one transaction can be executed using multiple application software (hereinafter simply referred to as applications).
[0003] An application used to execute a transaction may output a log relating to the executed process each time the process is executed. The log is used to analyze the cause of a failure or performance degradation when it occurs.
[0004] As a technology for acquiring logs, for example, a log recording device that can record logs that make it easy to understand the flow of processing and enable operation analysis even in a distributed system has been proposed. Also, an information processing device that outputs, with good visibility, recorded information on a series of consecutive processes performed in multiple components has been proposed. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2001-306364 A [Patent Document 2] JP 2014-197350 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, if multiple applications each output a log to a storage device every time a series of processes is performed in response to a request, data will be written to the storage device frequently, causing a decrease in performance of the entire system.
[0007] In one aspect, the present invention aims to improve the efficiency of log output processing. [Means for solving the problem]
[0008] In one proposal, a transaction processing program is provided that causes a computer to execute the following processes. The computer executes a first process using the first software in response to a transaction processing request. Next, the computer uses the first software to output a first electronic message including a processing result of the first process and first log information related to the first process. Next, the computer executes a second process using the second software for the processing result of the first process based on the first electronic message. Next, the computer uses the second software to output a second electronic message including a processing result of the second process, the first log information, and second log information related to the second process. Next, the computer executes a third process using the first software for the processing result of the second process based on the second electronic message. Then, the computer uses the first software to store transaction log information including the first log information, the second log information, and the third log information related to the third process in a storage device. Effect of the Invention
[0009] According to one aspect, the efficiency of the log output process can be improved. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 illustrates an example of a transaction processing method according to a first embodiment. [Diagram 2] FIG. 1 is a diagram illustrating an example of a system configuration of a cashless relay service. [Diagram 3] FIG. 2 is a diagram illustrating an example of hardware of a center server. [Figure 4] FIG. 2 is a block diagram showing the functions of a center server. [Diagram 5] FIG. 11 is a sequence diagram illustrating an example of a procedure for processing a credit inquiry. [Figure 6] FIG. 13 is a diagram showing an example of message transmission and reception using a message memory. [Figure 7] FIG. 1 / 4 shows an example of adding a processing log to a message. [Figure 8] FIG. 2 / 4 shows an example of adding a processing log to a message. [Figure 9] FIG. 3 / 4 shows an example of adding a processing log to a message. [Figure 10] FIG. 4 / 4 shows an example of adding a processing log to a message. [Figure 11] 11 is a flowchart showing an example of a processing procedure of an application “APL_1”. [Figure 12] 13 is a flowchart showing an example of a processing procedure of an application “APL_2”. [Figure 13] 13 is a flowchart showing an example of a processing procedure of an application “APL_3”. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, the present embodiment will be described with reference to the drawings. Note that each embodiment can be implemented in combination with a plurality of other embodiments as long as no contradiction occurs. First Embodiment Fig. 1 is a diagram showing an example of a transaction processing method according to a first embodiment. Fig. 1 shows an information processing device 10 that realizes the transaction processing method. The information processing device 10 can implement the transaction processing method by, for example, executing a transaction processing program.
[0012] The information processing device 10 executes transaction processing in response to a transaction processing request from another information processing device 1. The information processing device 10 outputs log information related to the executed transactions in a lump sum at one time.
[0013] The information processing device 10 has a memory 11, a processing unit 12, and a storage device 13. The memory 11 is, for example, a volatile recording medium used as a main storage device of the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing device 10. The storage device 13 may be an external device connected to the information processing device 10 via a network or other communication interface.
[0014] The processing unit 12 executes transaction processing based on the first software 3 and the second software 4. The first software 3 is used to execute the first process and the third process. The second software 4 is used to execute the second process. The second process may be divided into a fourth process and a fifth process.
[0015] For example, the processing unit 12 executes a first process using the first software 3 in response to a transaction processing request from the information processing device 10. Next, the processing unit 12 uses the first software 3 to output a first electronic message 5 including a processing result (output#1) of the first process and first log information (Log#1) related to the first process.
[0016] The processing unit 12 executes a second process using the second software 4 on the processing result (output#1) of the first process based on the first electronic message 5. Next, the processing unit 12 uses the second software 4 to output a second electronic message 6 including the processing result of the second process, the first log information (Log#1), and the second log information (Log#2) related to the second process.
[0017] For example, if the second process is divided into a fourth process that is executed first and a fifth process that is executed later, the processing result of the fifth process (output#5) becomes the processing result of the second process. In this case, the fourth log information (Log#4) related to the fourth process and the fifth log information (Log#5) related to the fifth process are included in the second log information (Log#2).
[0018] The processing unit 12 executes a third process using the first software 3 on the processing result of the second process based on the second telegram 6. The processing unit 12 transmits the processing result of the third process to the information processing device 1. The processing unit 12 also uses the first software 3 to store transaction log information 8 including the first log information (Log#1), the second log information (Log#2), and the third log information (Log#3) related to the third process in the storage device 13. For example, the processing unit 12 writes out the transaction log information 8 to a log file 7 in the storage device 13.
[0019] In this way, each time the software executing the processing on the transaction transitions, the processing unit 12 includes the log information of the processing up to that point in the transaction in a message to be input to the software executing the processing next. Then, when the execution of the last processing on the transaction is completed, the processing unit 12 uses the software that executed that processing to output transaction log information 8 that summarizes the log information of each of the multiple processing up to that point to the storage device 13. This allows the writing of log information to the storage device 13 to be done only once per transaction, improving the efficiency of the log output processing. As a result, it is possible to prevent the occurrence of a situation in which the collection of log information for debugging processing, for example, causes performance degradation or a secondary failure.
[0020] Moreover, since the logs of a plurality of processes executed in one transaction are compiled into one transaction log information 8, it becomes easy to analyze the cause of a problem such as a failure using the log information.
[0021] There may be cases where the second process includes a fourth process and a fifth process, and the result of the fourth process is a request for a sixth process. The sixth process is executed, for example, by another information processing device 2. In such a case, the processing unit 12 executes a fourth process using the second software 4 in response to the result of the first process, and then uses the second software 4 to output a third electronic message including the result of the fourth process.
[0022] The third electronic message including the processing result of the fourth process is transmitted to, for example, the information processing device 2 executing the sixth process. After executing the sixth process according to the processing result of the fourth process, the information processing device 2 transmits the processing result of the sixth process to the information processing device 10. When the processing device 12 acquires the processing result of the sixth process, it executes a fifth process using the second software 4 on the processing result of the sixth process. Then, the processing device 12 outputs a second electronic message 6 including the processing result of the fifth process, the first log information (Log#1), the fourth log information (Log#4) related to the fourth process, and the fifth log information (Log#5) related to the fifth process.
[0023] In this way, even when the second process makes a processing request to another process and uses the result of that process, appropriate transaction log information 8 can be output. 1, when the sixth process is executed by another information processing device 2, the processing unit 12 stores the first log information (Log#1) and the fourth log information (Log#4) in the memory 11 after executing the fourth process. Then, after acquiring the processing result of the sixth process, the processing unit 12 acquires the first log information (Log#1) and the fourth log information (Log#4) from the memory 11 to generate the second telegram 6. In this way, when the information processing device 2 executing the sixth process cannot appropriately handle the log information included in the telegram, the log information up to that point is stored in the memory 11, thereby making it possible to prevent the log information from being lost.
[0024] There may also be a case where the sixth process is executed by other software in the information processing device 10. In this case, the processing unit 12 outputs a third electronic message including the processing result of the fourth process, the first log information (Log#1), and the fourth log information (Log#4). The processing unit 12 executes a sixth process for the processing result of the fourth process using other software, and outputs a fourth electronic message including the processing result of the sixth process, the first log information (Log#1), the fourth log information (Log#4), and the sixth log information related to the sixth process. The processing unit 12 acquires the output fourth electronic message, and executes a fifth process for the processing result of the sixth process included in the fourth electronic message. Then, the processing unit 12 outputs a second electronic message 6 including the first log information (Log#1), the fourth log information (Log#4), the fifth log information (Log#5), and the sixth log information. By performing such processing, even if there are multiple stages of calling relationships between software programs, log information related to all the processing can be collected in the first software program that executes the final processing (third processing).
[0025] Second Embodiment Next, a second embodiment will be described. In the second embodiment, the log acquisition in the server that provides the cashless relay service is made more efficient. In the following description, the log information of various processes may be simply called a log.
[0026] Currently, commercial transactions are becoming increasingly cashless, and various cashless payment methods exist. Companies that use payment systems (hereafter referred to as "affiliated stores") must carry out procedures corresponding to each of the multiple payment methods with payment institutions such as card companies.
[0027] Payment procedures with a payment institution are carried out according to the specifications set by that payment institution. For an affiliated store to be able to use multiple payment institutions, the store must carry out payment procedures according to the specifications for each payment institution. There are various payment methods for cashless payments, such as electronic money, credit cards, and debit cards, and there are many payment institutions that handle payments for each payment method. In this case, it is difficult for an affiliated store to handle payment procedures according to the specifications for all payment institutions.
[0028] Therefore, member stores can make cashless payments via a cashless relay service. In response to a payment request from a member store, the cashless relay service transmits a payment request conforming to the payment institution's specifications to the payment institution's system. By making payments via the cashless relay service, member stores can easily use payment procedures provided by multiple payment institutions.
[0029] FIG. 2 is a diagram showing an example of a system configuration of a cashless relay service. A center server 100 is provided in the payment relay center 30. The center server 100 is a computer that relays procedures for cashless payment. Each of the multiple member stores 31, 31a,... is provided with a POS (Point Of Sale) system 200, 200a,.... The POS system 200, 200a,... is a computer that manages the sales of products and functions as a terminal device for cashless payment. Each of the multiple card companies 32, 32a,... is provided with a credit inquiry system 300, 300a,.... The credit inquiry system 300, 300a,... is a computer that performs credit inquiry (authorization) of a customer who wishes to purchase a product.
[0030] The center server 100 , the POS systems 200 , 200 a , . . . and the credit inquiry systems 300 , 300 a , . The center server 100 executes a plurality of processes as a transaction in response to a credit inquiry request from the POS system 200. For example, when a customer of the affiliated store 31 wishes to pay with a credit card issued by a card company 32, the POS system 200 of the affiliated store 31 requests a credit inquiry from the credit inquiry system 300 of the card company 32 to which the payment is to be made, via the center server 100. The credit inquiry system 300 judges the payment ability of the credit card owner based on the credit information of the owner. If the credit inquiry system 300 judges that the owner has the payment ability, it transmits result information permitting the payment by credit card to the POS system 200 via the center server 100.
[0031] 3 is a diagram showing an example of the hardware of a center server. The center server 100 is entirely controlled by a processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), or a digital signal processor (DSP). At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an application specific integrated circuit (ASIC) or a programmable logic device (PLD).
[0032] The memory 102 is used as a main storage device of the center server 100. The memory 102 temporarily stores at least a part of the OS (Operating System) program and application programs to be executed by the processor 101. The memory 102 also stores various data used for processing by the processor 101. As the memory 102, for example, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.
[0033] The peripheral devices connected to the bus 109 include a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
[0034] The storage device 103 electrically or magnetically writes and reads data to and from a built-in recording medium. The storage device 103 is used as an auxiliary storage device for a computer. The storage device 103 stores an OS program, application programs, and various data. Note that, for example, a hard disk drive (HDD) or a solid state drive (SSD) can be used as the storage device 103.
[0035] The GPU 104 is an arithmetic device that performs image processing, and is also called a graphics controller. The GPU 104 is connected to a monitor 21. The GPU 104 displays an image on the screen of the monitor 21 in accordance with an instruction from the processor 101. The monitor 21 may be a display device using an organic EL (Electro Luminescence) display device, a liquid crystal display device, or the like.
[0036] The input interface 105 is connected to the keyboard 22 and the mouse 23. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. Note that the mouse 23 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
[0037] The optical drive device 106 uses a laser beam or the like to read data recorded on the optical disc 24 or write data to the optical disc 24. The optical disc 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disc 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), etc.
[0038] The device connection interface 107 is a communication interface for connecting peripheral devices to the center server 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27. The memory card 27 is a card-type recording medium.
[0039] The network interface 108 is connected to the network 20. The network interface 108 transmits and receives data to and from other computers or communication devices via the network 20. The network interface 108 is a wired communication interface that is connected by a cable to a wired communication device such as a switch or a router. The network interface 108 may also be a wireless communication interface that is communicatively connected by radio waves to a wireless communication device such as a base station or an access point.
[0040] The center server 100 can realize the processing functions of the second embodiment by the above hardware. Each of the POS systems 200, 200a,... and the credit inquiry systems 300, 300a,... can also be realized by the same hardware as the center server 100. In addition, the devices shown in the first embodiment can also be realized by the same hardware as the center server 100.
[0041] The center server 100 realizes the processing function of the second embodiment by executing a program recorded in, for example, a computer-readable recording medium. The program describing the processing contents to be executed by the center server 100 can be recorded in various recording media. For example, the program to be executed by the center server 100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. The program to be executed by the center server 100 can also be recorded in a portable recording medium such as the optical disk 24, the memory device 25, or the memory card 27. The program stored in the portable recording medium becomes executable after being installed in the storage device 103 under the control of, for example, the processor 101. The processor 101 can also directly read out and execute the program from the portable recording medium.
[0042] By using the cashless relay service of the system as shown in Fig. 2, the member stores 31, 31a,... can accept payment of fees from customers using credit cards issued by the card companies 32, 32a,... At this time, the center server 100 performs a process of checking whether the credit card information has been entered correctly, and a process of converting the data format of the credit inquiry request into a format that matches the specifications of each of the card companies 32, 32a,... A plurality of applications are used to provide the cashless relay service in the center server 100.
[0043] The center server 100 receives a large number of requests from each of the member stores 31, 31a, etc., and therefore performance problems may occur in the center server 100 due to various factors. When a performance problem occurs in the center server 100, the administrator of the payment relay center 30 has the application output a debug log and identifies the cause of the problem by analyzing the log. However, when a separate log file is generated for each application, writing to the storage device 103 occurs every time each application executes a process, and the I / O (Input / Output) processing load increases. When a performance problem occurs, placing an even larger processing load on the center server 100 may cause further performance degradation or a secondary failure.
[0044] In addition, if a log file is output for each application, it takes time to find the log information related to a single transaction, which results in time being required to identify the cause of the problem.
[0045] Therefore, the center server 100 shown in the second embodiment does not output logs to a log file for each application, but passes logs between applications and outputs them to a log file collectively in the final application. This makes it possible to consolidate logs for one transaction into one and write them to one log file in one go.
[0046] Fig. 4 is a block diagram showing the functions of the center server. Fig. 4 shows, as an example, a function of mediating a credit inquiry request from the POS system 200 to the credit inquiry system 300. The center server 100 is provided with a function similar to the function shown in Fig. 4 for each combination of the POS system 200, 200a,... and the credit inquiry system 300, 300a,...
[0047] The center server 100 has a log storage unit 110 and a plurality of applications 120, 130, and 140. The identifier of the application 120 is "APL_1". The identifier of the application 130 is "APL_2". The identifier of the application 140 is "APL_3".
[0048] The log storage unit 110 stores a log file 111. The log storage unit 110 is realized by using a part of the storage area of the storage device 103, for example. The application 120 manages connections for transmitting and receiving messages with the POS system 200. The application 120 has a message transmitting / receiving unit 121, a processing unit 122, and a log output unit 123. The message transmitting / receiving unit 121 transmits and receives messages with the POS system 200 or the application 130. The processing unit 122 receives transaction data from the POS system 200, and transmits result information indicating the result of a credit inquiry to the POS system 200. The log output unit 123 outputs a log for each transaction to the log file 111.
[0049] Application 130 checks the card information. Application 120 has a message transmitting / receiving unit 131 and multiple processing units 132, 133. Message transmitting / receiving unit 131 transmits and receives messages between application 120 and application 140. Processing unit 132 checks whether there are any problems, such as missing information, in the card information indicated in the transaction data, for example. The identifier of processing unit 132 within application 130 is "I". Processing unit 133 stores the information of the transaction data, for example, in a DB (DataBase). The identifier of processing unit 133 within application 130 is "II".
[0050] The application 140 transmits and receives data to and from the credit inquiry system 300. The application 140 has a message transmission / reception unit 141, a plurality of processing units 142, 143, and an intermediate log storage unit 144. The message transmission / reception unit 141 transmits and receives messages to and from the credit inquiry system 300 or the application 130. The processing unit 142 converts, for example, transaction data into a data format compatible with the credit inquiry system 300 and transmits it to the credit inquiry system 300. The identifier of the processing unit 142 in the application 140 is "I". The processing unit 143 stores the processing contents of the processing unit 142 in the DB. The identifier of the processing unit 143 in the application 140 is "II". The intermediate log storage unit 144 temporarily stores in the memory 102 the intermediate log up to the credit inquiry request to the credit inquiry system 300 in the transaction.
[0051] Note that the lines connecting the elements shown in Fig. 4 indicate part of the communication paths, and communication paths other than those shown in the figure can also be set. The function of each element shown in Fig. 4 can be realized, for example, by having a computer execute a program module corresponding to that element.
[0052] Next, a description will be given of the procedure of the credit inquiry process via the center server 100. In the following description, the transmission direction of a message sent from the POS system 200 to the credit inquiry system 300 will be called "upstream" and the opposite direction will be called "downstream."
[0053] Figure 5 is a sequence diagram showing an example of a credit inquiry processing procedure. In the example of Figure 5, the processing log in the upstream message is given the identifier of the application that performed the processing. Also, the processing log in the downstream message is given the identifier of the application that performed the processing and the code "'" indicating the downstream direction (for example, "APL_1'").
[0054] When a customer requests payment by credit card, the POS system 200 transmits a message 41 requesting a credit inquiry for the customer to the center server 100 (step S11). This message 41 includes transaction data such as the customer's credit card information and the payment amount. In the center server 100, the application 120 (identifier "APL_1") receives the upstream message 41 (step S12). The application 120 adds its own processing log to the transaction data included in the message 41 to generate a message 42, which it then transmits to the application 130 (identifier "APL_2") (step S13).
[0055] Upon receiving the message 42, the application 130 checks the card information and registers the transaction data in the DB (step S14). Next, the application 130 adds the processing log of the application 120 itself to the transaction data and processing log contained in the message 42 to create a message 43, which is then sent to the application 140 (identifier "APL_3") (step S15).
[0056] The application 140 that receives the electronic message 43 converts the format of the electronic message to match the credit inquiry system 300, and registers the specified data in the DB (step S16). Next, the application 140 transmits the electronic message 44 including the transaction data in the converted format to the credit inquiry system 300 (step S17).
[0057] The credit inquiry system 300 performs a credit inquiry process for the customer based on the transaction data included in the message 44 (step S18). Then, the credit inquiry system 300 transmits a message 45 including the transaction data and result information indicating whether the payment is successful to the center server 100 (step S19).
[0058] In the center server 100, the application 140 receives the message 45 and performs a format conversion process and a process of updating the specified data in the DB (step S20). After that, the application 140 sends a message 46 to the application 130 (step S21), which is the transaction data and result information contained in the message 45, plus the processing log contained in the message 43 and the processing log of the application 140 itself.
[0059] Upon receiving the message 46, the application 130 checks the card information and updates the transaction data in the DB (step S22). Next, the application 130 adds the transaction data, result information, and processing log contained in the message 46, as well as the processing log of the application 130 itself, to the application 120 to create a message 47 (step S23).
[0060] The application 120 performs a process of transmitting a downstream message addressed to the POS system 200 (step S24). As a result, a message 48 including the transaction data and result information included in the message 47 is transmitted to the POS system 200 (step S25). The application 120 also outputs a transaction log 49, which is the processing log included in the message 47 plus its own processing log, to the log file 111 (step S26).
[0061] In this way, as the center server 100 relays the credit inquiry message, the processing logs of each of the applications 120, 130, and 140 are added to the message. After the downstream message 48 has been sent to the POS system 200, the processing logs are compiled as a transaction log 49 and output to the log file 111. This allows output to the log file 111 only once per transaction, minimizing the I / O processing load. In addition, because the processing logs for a series of processes related to one transaction are compiled in the transaction log 49, it also becomes easier to analyze the cause when a problem occurs.
[0062] The transmission and reception of messages between the applications 120, 130, and 140 is performed via a message memory. Therefore, even if a processing log is added to a message, the I / O of the storage device 103 does not increase.
[0063] Fig. 6 is a diagram showing an example of message transmission and reception using a message memory. Fig. 6 shows the transmission and reception status of messages including processing logs when a transaction "transaction 1" is executed. Applications 120, 130, and 140 store processing logs in message memories 51 to 54 in addition to information (transaction data, etc.) to be notified to other applications. The processing logs include, for example, the identifier of the application that executed the process, the identifier of the process, the process start time, and the process end time.
[0064] The start time and end time of a process shown in the process log are also called time stamps. A pair of the start time and end time of one process can also be called a process stamp. Each application 120, 130, 140 can obtain a time stamp at any point in time from the internal clock of the center server 100 via the OS.
[0065] For example, application 120 writes a message including the received transaction data to message memory 51. At this time, application 120 stores a processing log in log area 51a in message memory 51. Application 130 obtains the message output by application 120 by reading the message written in message memory 51. Application 130 performs card information check processing and processing to register predetermined data in a DB, and stores the message to be passed to application 140 in message memory 52. Application 130 writes the processing log included in log area 51a and the processing log of the processing by application 130 to log area 52a in message memory 52.
[0066] The application 140 obtains the message output by the application 130 by reading the message written in the message memory 52. The application 140 transmits a credit inquiry request to the credit inquiry system 300, and upon receiving a response, stores the message to be passed to the application 130 in the message memory 53. At this time, the application 140 writes the processing log contained in the log area 52a and the processing log of the processing by the application 140 in the log area 53a in the message memory 53.
[0067] Application 130 obtains the message output by application 140 by reading the message written in message memory 53. After a predetermined process, application 130 stores the message to be passed to application 120 in message memory 54. At this time, application 130 writes the processing log contained in log area 53a and the processing log of the process by application 130 to log area 54a in message memory 54.
[0068] The application 120 obtains the message output by the application 130 by reading the message written in the message memory 54. After transmitting the result of the credit inquiry to the POS system 200, the application 120 writes the transaction log 55, which includes the processing log stored in the log area 54a and the processing log of the processing by the application 120, into the log file 111.
[0069] When analyzing the cause of a performance problem or some other problem, the administrator of the center server 100 can see at a glance the progress of the processing in the transaction by referring to the transaction log 55. In the example of Fig. 6, it can be easily seen that the data registration processing in the DB by the application 130 for the upstream message is taking longer than expected (the processing time is excessive).
[0070] Next, the process of adding a processing log to a message will be described in detail with reference to FIGS. 7 is a diagram (1 / 4) showing an example of adding a processing log to a message. A message 41 sent from the POS system 200 and received by the application 120 includes a fixed section, a system header section, a transaction header, and transaction information. The application 120 converts the message format and generates a message 42 to be sent to the application 130. The message 42 includes a transaction data area 42a and multiple log areas 42b to 42k.
[0071] The transaction data area 42a is a storage area for transaction data. The data format of the transaction data in the electronic message 41 is converted into a data format for electronic messages in the center server 100, and the converted data is stored in the transaction data area 42a.
[0072] The log area 42b is an area for storing a processing log of the processing performed by the processing unit 122 of the application 120 on an upstream telegram. The log area 42c is an area for storing a processing log of the processing performed by the processing unit 132 of the application 130 on an upstream telegram. The log area 42d is an area for storing a processing log of the processing performed by the processing unit 133 of the application 130 on an upstream telegram. The log area 42e is an area for storing a processing log of the processing performed by the processing unit 142 of the application 140 on an upstream telegram. The log area 42f is an area for storing a processing log of the processing performed by the processing unit 143 of the application 140 on an upstream telegram.
[0073] The log area 42g is an area for storing a processing log of the processing of downstream telegrams by the processing unit 142 of the application 140. The log area 42h is an area for storing a processing log of the processing of downstream telegrams by the processing unit 143 of the application 140. The log area 42i is an area for storing a processing log of the processing of downstream telegrams by the processing unit 132 of the application 130. The log area 42j is an area for storing a processing log of the processing of downstream telegrams by the processing unit 133 of the application 130. The log area 42k is an area for storing a processing log of the processing of downstream telegrams by the processing unit 122 of the application 120.
[0074] At the time of creating the electronic message 42, the log area 42b stores the processing log of the application 120. The other log areas 42c to 42k are blank. 8 is a diagram (2 / 4) showing an example of adding a processing log to a message. After receiving the message 42, the application 130 executes a predetermined process, converts the format of the message 42, and generates a message 43 to be sent to the application 140. The message 43 includes a transaction data area 43a and multiple log areas 43b to 43k.
[0075] The transaction data area 43a is a storage area for transaction data. The data format of the transaction data in the electronic message 42 is converted into a data format for electronic messages in the center server 100, and the converted data is stored in the transaction data area 43a.
[0076] The multiple log areas 43b to 43k are storage areas for processing logs corresponding to the multiple log areas 42b to 42k of the telegram 42. When the telegram 43 is created, the processing log included in the log area 42b of the telegram 42 is stored in the log area 43b. Also, when the telegram 43 is created, the processing logs of the processing units 132 and 133 in the application 130 are stored in the log areas 43c and 43d. The other log areas 43e to 43k are blank.
[0077] The application 140 that receives the electronic message 43 performs a predetermined process, converts the format of the electronic message 43, and generates a electronic message 44 to be sent to the credit inquiry system 300. The electronic message 44 includes the transaction data.
[0078] Furthermore, the application 140 stores a processing log of a processing unit 142 in the application 140 in the log area 43e of the message 43, and stores a processing log of a processing unit 143 in the application 140 in the log area 43f. The application 140 also stores copies of data in the multiple log areas 43b to 43k in the intermediate log storage unit 144. Note that the intermediate log storage unit 144 is a storage area in the memory 102, and no I / O to the storage device 103 occurs.
[0079] 9 is a diagram (3 / 4) showing an example of adding a processing log to a message. The message 45 sent from the credit inquiry system 300 to the center server 100 includes transaction data and result information. After receiving the message 45 from the credit inquiry system 300, the application 140 performs a predetermined process, converts the format of the message 45, and generates a message 46 to be sent to the application 130. The message 46 includes a transaction data / result area 46a and multiple log areas 46b to 46k.
[0080] The transaction data and result area 46a is a storage area for transaction data and result information. The data format of the transaction data and result information in the electronic message 45 is converted to a data format for electronic messages in the center server 100, and stored in the transaction data and result area 46a.
[0081] The multiple log areas 46b to 46k are storage areas for processing logs corresponding to the multiple log areas 43b to 43k of the telegram 43. When the telegram 46 is created, the log areas 46b to 46f store the processing logs included in the log areas 43b to 43f of the telegram 43. When the telegram 46 is created, the processing logs of the processing units 142 and 143 in the application 140 are stored in the log areas 46g and 46h. The other log areas 46i to 46k are blank.
[0082] 10 is a diagram (4 / 4) showing an example of adding a processing log to a message. After receiving the message 46, the application 130 performs a predetermined process, converts the format of the message 46, and generates a message 47 to be sent to the application 120. The message 47 includes a transaction data / result area 47a and multiple log areas 47b to 47k.
[0083] The transaction data and result area 47a is an area for storing transaction data and result information. The data format of the transaction data and result information in the electronic message 46 is converted and stored in the transaction data and result area 47a.
[0084] The multiple log areas 47b-47k are storage areas for processing logs corresponding to the multiple log areas 46b-46k of the telegram 46. When the telegram 47 is created, the log areas 47b-47h store the processing logs included in the log areas 46b-46h of the telegram 46. When the telegram 47 is created, the processing logs of the processing units 132 and 133 in the application 130 are stored in the log areas 47i and 47j. The other log areas 47k are blank.
[0085] The application 120 that receives the electronic message 47 converts the format of the electronic message 47 and generates a electronic message 48 for transmission to the POS system 200. The electronic message 48 includes transaction data and result information. For example, the electronic message 48 includes a fixed section / system header section, a transaction header, transaction information, and POS display / print information. The transaction information includes credit inquiry result information.
[0086] Furthermore, application 120 stores a processing log of processing unit 122 in application 120 in log area 47k of message 47, and stores transaction log 49 including copies of the processing logs in the multiple log areas 47b to 47k in log file 111. Note that log file 111 is saved in storage device 103, and I / O to storage device 103 occurs when transaction log 49 is stored in log file 111.
[0087] 7 to 10, an area for storing a processing log is provided in advance in messages transmitted and received between the applications 120, 130, and 140. This makes the capacity of the log area in the message memory when transmitting and receiving messages a fixed length, facilitating area allocation and storage area management of the memory 102.
[0088] Next, the processing procedures of each of the applications 120, 130, and 140 will be described in detail with reference to FIGS. 11 is a flowchart showing an example of a processing procedure for the application "APL_1." The processing shown in FIG. 11 will be explained below in order of step number.
[0089] [Step S101] The application 120 establishes a connection with the POS system 200. [Step S102] The application 120 obtains the start time of the process when an upstream message is received.
[0090] [Step S103] The processing unit 122 of the application 120 receives an upstream message from the POS system 200. The processing unit 122 converts the format of the transaction data in the received message.
[0091] [Step S104] The application 120 obtains the end time of the processing performed when receiving an upstream message. [Step S105] The application 120 outputs the transaction data and the processing log (including the start time and end time) to the message memory 51 (see FIG. 6) for the application 130 (APL_2).
[0092] [Step S106] The application 120 determines whether or not there has been a response from the application 130. For example, if a message generated by the application 130 has been output to the message memory 54 (see FIG. 6), the application 120 determines that there has been a response from the application 130. If there has been a response, the application 120 proceeds to step S107. If there has been no response, the application 120 repeats the process of step S106 and waits for a response.
[0093] <Step S107> The application 120 reads the downstream message from the application 130 (APL_2) from the message memory 54 (see FIG. 6). <Step S108> The application 120 acquires the start time of the process when a downstream message is received.
[0094] <Step S109> The processing unit 122 of the application 120 converts the format of the transaction data and result information in the received message. The processing unit 122 then transmits the downstream message to the POS system 200.
[0095] [Step S110] The application 120 acquires the end time of the process performed when receiving a downstream message. [Step S111] The application 120 outputs to the log file 111 a transaction log in which its own processing log (including start and end times) has been added to the processing log contained in the message received from the application 130.
[0096] 12 is a flowchart showing an example of a processing procedure for the application "APL_2." The processing shown in FIG. 12 will be explained below in order of step number. [Step S201] The application 130 reads an upstream message from the application 120 (APL_1) from the message memory 51 (see FIG. 6).
[0097] [Step S202] The application 130 obtains the start time of the card information check process when an upstream message is received. [Step S203] The application 130 performs card information check processing.
[0098] [Step S204] The application 130 obtains the end time of the card information check process when receiving an upstream message. [Step S205] The application 130 obtains the start time of the DB registration process when the upstream message is received.
[0099] [Step S206] The application 130 performs DB registration processing. [Step S207] The application 130 obtains the end time of the DB registration process when the upstream message is received.
[0100] [Step S208] The application 130 outputs the transaction data and the processing log (including the start time and end time) to the message memory 52 (see FIG. 6) for the application 140 (APL_3).
[0101] [Step S209] The application 130 determines whether or not there has been a response from the application 140. For example, if a message generated by the application 140 has been output to the message memory 53 (see FIG. 6), the application 130 determines that there has been a response from the application 140. If there has been a response, the application 130 proceeds to step S210. If there has been no response, the application 130 repeats the process of step S209 and waits for a response.
[0102] [Step S210] The application 130 reads the downstream message from the application 140 (APL_3) from the message memory 53 (see FIG. 6). [Step S211] The application 130 obtains the start time of the card check process when a downstream message is received.
[0103] [Step S212] The application 130 performs a card information check process. <Step S213> The application 130 obtains the end time of the card information check process when the downstream message is received.
[0104] [Step S214] The application 130 obtains the start time of the DB update process when the downstream message is received. [Step S215] The application 130 performs DB update processing.
[0105] [Step S216] The application 130 obtains the end time of the DB update process when the downstream message is received. [Step S217] The application 130 outputs the transaction data, result information, and processing log (including the start time and end time) to the message memory 54 (see FIG. 6) for the application 120 (APL_1).
[0106] 13 is a flowchart showing an example of a processing procedure for the application "APL_3." The processing shown in FIG. 13 will be explained below in order of step number. [Step S301] The application 140 reads an upstream message from the application 130 (APL_2) from the message memory 52 (see FIG. 6).
[0107] <Step S302> The application 140 obtains the start time of the format conversion process when an upstream message is received. [Step S303] The application 140 converts the data format of the transaction data into a format required by the credit inquiry system 300.
[0108] <Step S304> The application 140 obtains the end time of the format conversion process performed when an upstream message is received. [Step S305] The application 140 obtains the start time of the DB registration process when the upstream message is received.
[0109] [Step S306] The application 140 performs DB registration processing. <Step S307> The application 140 obtains the end time of the DB registration process when the upstream message is received.
[0110] [Step S308] The application 140 sends a message to the credit inquiry system 300. <Step S309> The application 140 outputs the processing log to the intermediate log storage unit 144.
[0111] [Step S310] The application 140 determines whether or not a response has been received from the credit inquiry system 300. If there is a response, the application 140 proceeds to step S311. If there is no response, the application 140 repeats the process of step S310 and waits for a response.
[0112] <Step S311> The application 140 obtains the start time of the format conversion process when a downstream message is received. [Step S312] The application 140 converts the data format of the transaction data and result information into a format for electronic messages in the center server 100.
[0113] <Step S313> The application 140 obtains the end time of the format conversion process performed when a downstream message is received. [Step S314] The application 140 obtains the start time of the DB update process when the downstream message is received.
[0114] [Step S315] The application 140 performs DB update processing. <Step S316> The application 140 obtains the end time of the DB update process when the downstream message is received.
[0115] [Step S317] The application 140 obtains from the intermediate log storage unit 144 the processing logs of each process executed on the upstream telegram. [Step S318] The application 140 outputs the transaction data, result information, and processing log (including the start time and end time) to the message memory 53 (see FIG. 6) for the application 130 (APL_2).
[0116] 11 to 13, applications 120, 130, and 140 each appropriately manage their own processing logs, and the processing logs are consolidated in application 120, which performs the final processing of a transaction. As a result, application 120 can add a transaction log that consolidates all processing logs related to the transaction to log file 111 in a single write.
[0117] [Other embodiments] Although the center server 100 in the second embodiment outputs log information about transactions in the cache relay service, the services provided via the center server 100 are not limited to the cashless relay service. In other words, the center server 100 can efficiently output log information about transactions related to various services other than the cashless relay service.
[0118] Furthermore, the number of applications executed in the center server 100 is not limited to three, and transactions may be processed by two or four or more applications. Although the embodiments have been described above, the configurations of the parts shown in the embodiments can be replaced with other parts having similar functions. Any other components or steps may be added. Furthermore, any two or more configurations (features) of the above-mentioned embodiments may be combined. [Explanation of symbols]
[0119] 1,2,10 Information processing device 3. First Software 4. Second Software 5. First Telegram 6. Second Telegram 7 Log files 8 Transaction Log Information 11. Memory 12 Processing section 13 Storage Devices
Claims
1. execute a first process using a first software in response to a transaction processing request; outputting a first electronic message including a processing result of the first processing and first log information related to the first processing, using the first software; executing a second process using second software on a processing result of the first process based on the first electronic message; outputting, using the second software, a second electronic message including a processing result of the second processing, the first log information, and second log information related to the second processing; executing a third process using the first software on a processing result of the second process based on the second electronic message; outputting a third electronic message including a processing result of the third process to a source of the processing request using the first software; storing transaction log information, including the first log information, the second log information, and third log information relating to the third process and the output of the third electronic message, in a storage device using the first software; A transaction processing program that causes a computer to execute a process.
2. execute a first process using a first software in response to a transaction processing request; outputting a first electronic message including a processing result of the first processing and first log information related to the first processing, using the first software; executing a second process using second software on a processing result of the first process based on the first electronic message; outputting, using the second software, a second electronic message including a processing result of the second processing, the first log information, and second log information related to the second processing; executing a third process using the first software on a processing result of the second process based on the second electronic message; storing transaction log information, including the first log information, the second log information, and third log information related to the third process, in a storage device using the first software; The process is executed by a computer, the second process includes a fourth process and a fifth process, The process of executing the second process includes: executing the fourth processing using the second software on the processing result of the first processing; outputting a third electronic message including a processing result of the fourth processing using the second software; when a result of a sixth process executed in response to a result of the fourth process is acquired, the fifth process is executed using the second software on the result of the sixth process. Including processing, The process of outputting the second electronic message includes: outputting the second electronic message including a processing result of the fifth processing, the first log information, fourth log information related to the fourth processing, and fifth log information related to the fifth processing; Processing, including A transaction processing program comprising:
3. the process of outputting the second electronic message includes a process of storing the first log information and the fourth log information in a memory after the execution of the fourth process, and, after acquiring a processing result of the sixth process, acquiring the first log information and the fourth log information from the memory to generate the second electronic message; 3. The transaction processing program according to claim 2.
4. the process of outputting the third electronic message includes a process of outputting the third electronic message including a processing result of the fourth process, the first log information, and the fourth log information; the fifth process includes a process of acquiring a fourth electronic message including a processing result of the sixth process, the first log information, the fourth log information, and sixth log information related to the sixth process, and executing the fifth process on the processing result of the sixth process included in the fourth electronic message; the process of outputting the second electronic message includes a process of outputting the second electronic message including the first log information, the fourth log information, fifth log information related to the fifth process, and the sixth log information; 3. The transaction processing program according to claim 2.
5. execute a first process using a first software in response to a transaction processing request; outputting a first electronic message including a processing result of the first processing and first log information related to the first processing, using the first software; executing a second process using second software on a processing result of the first process based on the first electronic message; outputting, using the second software, a second electronic message including a processing result of the second processing, the first log information, and second log information related to the second processing; executing a third process using the first software on a processing result of the second process based on the second electronic message; outputting a third electronic message including a processing result of the third process to a source of the processing request using the first software; storing transaction log information, including the first log information, the second log information, and third log information relating to the third process and the output of the third electronic message, in a storage device using the first software; A transaction processing method, characterized in that the processing is executed by a computer.
6. execute a first process using a first software in response to a transaction processing request; outputting a first electronic message including a processing result of the first processing and first log information related to the first processing, using the first software; executing a second process using second software on a processing result of the first process based on the first electronic message; outputting, using the second software, a second electronic message including a processing result of the second processing, the first log information, and second log information related to the second processing; executing a third process using the first software on a processing result of the second process based on the second electronic message; outputting a third electronic message including a processing result of the third process to a source of the processing request using the first software; storing transaction log information, including the first log information, the second log information, and third log information relating to the third process and the output of the third electronic message, in a storage device using the first software; 1. An information processing device comprising: a processing unit that executes processing.
7. Executing a first process using first software in response to a processing request for the transaction; outputting a first electronic message including a processing result of the first processing and first log information related to the first processing, using the first software; executing a second process using second software on a processing result of the first process based on the first electronic message; outputting, using the second software, a second electronic message including a processing result of the second processing, the first log information, and second log information related to the second processing; executing a third process using the first software on a processing result of the second process based on the second electronic message; storing transaction log information, including the first log information, the second log information, and third log information related to the third process, in a storage device using the first software; The computer executes the process, the second process includes a fourth process and a fifth process, The process of executing the second process includes: executing the fourth processing using the second software on the processing result of the first processing; outputting a third electronic message including a processing result of the fourth processing using the second software; when a result of a sixth process executed in response to a result of the fourth process is acquired, the fifth process is executed using the second software on the result of the sixth process. Including processing, The process of outputting the second electronic message includes: outputting the second electronic message including a processing result of the fifth processing, the first log information, fourth log information related to the fourth processing, and fifth log information related to the fifth processing; Processing, including 23. A transaction processing method comprising:
8. Executing a first process using first software in response to a processing request for the transaction; outputting a first electronic message including a processing result of the first processing and first log information related to the first processing, using the first software; executing a second process using second software on a processing result of the first process based on the first electronic message; outputting, using the second software, a second electronic message including a processing result of the second processing, the first log information, and second log information related to the second processing; executing a third process using the first software on a processing result of the second process based on the second electronic message; storing transaction log information, including the first log information, the second log information, and third log information related to the third process, in a storage device using the first software; A processing unit is provided. the second process includes a fourth process and a fifth process, The process of executing the second process includes: executing the fourth processing using the second software on the processing result of the first processing; outputting a third electronic message including a processing result of the fourth processing using the second software; when a result of a sixth process executed in response to a result of the fourth process is acquired, the fifth process is executed using the second software on the result of the sixth process. Including processing, The process of outputting the second electronic message includes: outputting the second electronic message including a processing result of the fifth processing, the first log information, fourth log information related to the fourth processing, and fifth log information related to the fifth processing; Processing, including 23. An information processing apparatus comprising:
Citation Information
Patent Citations
Transaction processing system and its recording medium
JP2001306364A
Log processing method, and processing program and execution system of the same
JP2005157727A
Log collection system and log collection method
JP2009223750A
Information processor, information processing method and program
JP2014197350A