Cache systems and caching methods
The caching system addresses the challenge of storing license plate reader data by using a priority-based approach to store and manage cache memory, ensuring efficient data access and reducing server load.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-02-17
- Publication Date
- 2026-03-13
AI Technical Summary
Conventional caching systems struggle to effectively store processing results from license plate readers in cache memory due to their infrequent and unpredictable access patterns, making it difficult to prioritize storage of data likely to be used by users.
A caching system and method that includes a license plate reader, a cache database, a priority calculation unit, and deletion processing unit to prioritize storage based on elapsed time, user access trends, and data characteristics such as anomaly occurrence and travel routes.
The system efficiently stores processing results likely to be used by users in the cache database, reducing server load and improving data access speed by prioritizing data storage and managing cache space effectively.
Smart Images

Figure 0007829509000001 
Figure 0007829509000002 
Figure 0007829509000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a cache system and a caching method.
Background Art
[0002] For example, at toll gates on toll roads, number plate reading devices are installed to obtain number plate information from images of vehicle number plates. The number plate information read by the number plate reading device is transmitted to a higher-level device and used, for example, to identify the route of each vehicle and collect the toll corresponding to the route.
[0003] In addition, the processing results including the images captured by the number plate reading device and the read number plate information are stored in a data server as verification data, for example, when the toll collection process cannot be carried out normally. The operator (user) of the toll road accesses the data server via the network from their own terminal device and performs back-end processing while checking the downloaded processing results. The back-end processing is, for example, a process of calculating and billing the toll for a vehicle for which the toll collection process could not be performed at a later date.
[0004] When a large number of data are stored in the data server, it takes time to search for and read out the data desired by the user. For this reason, a server that provides data via a network has a cache system that temporarily stores data in a high-speed accessible storage area (cache memory) to quickly respond to data requests from users (see, for example, Patent Document 1). In particular, by preferentially placing data with a high access frequency in the cache memory, the load on the entire server can be reduced.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
[0006] However, since the processing results of the license plate reader are used for post-processing by the user (such as billing for tolls at a later date), they have characteristics such as being unlikely to be accessed for a certain period of time after the reading process (for example, until half a day to a day or more has passed), and once accessed (post-processing completed), they are unlikely to be accessed again. For this reason, it is difficult for conventional caching systems to store processing results that are likely to be accessed by the user in cache memory.
[0007] The purpose of this disclosure is to provide a caching system and caching method that can prioritize the storage of processing results from a large number of license plate readers in a cache database, prioritizing the storage of processing results that are likely to be used by the user. [Means for solving the problem]
[0008] According to one aspect of the present disclosure, the cache system includes: a license plate reader that photographs a moving vehicle, reads license plate information, and stores the processing results, including the photographed image and the read license plate information, in a processing result storage database; a cache database that temporarily stores a portion of a plurality of the processing results; a priority calculation unit that calculates cache priority by assigning weights such that the priority increases with elapsed time for a certain period from the time the image included in the processing results is photographed, and decreases with elapsed time after the certain period has elapsed; a recording processing unit that stores in the cache database any processing results not yet stored in the cache database whose cache priority is equal to or greater than a predetermined threshold; and a deletion processing unit that deletes from the cache database any processing results already stored in the cache database whose cache priority is less than the threshold.
[0009] According to one aspect of the present disclosure, the caching method is a caching method using a caching system comprising: a license plate reader that photographs a moving vehicle, reads license plate information, and stores the processing results including the photographed image and the read license plate information in a processing result storage database; and a cache database that temporarily stores a portion of a plurality of the processing results, the method comprising: calculating a cache priority by assigning weights such that the priority increases with elapsed time for a certain period from when the image included in the processing results was photographed, and decreases with elapsed time after the certain period has elapsed; storing in the cache database any processing results that have not yet been stored in the cache database and whose cache priority is equal to or greater than a predetermined threshold; and deleting from the cache database any processing results that have already been stored in the cache database and whose cache priority is less than the threshold. [Effects of the Invention]
[0010] According to the above embodiment, processing results from a large number of license plate readers that are likely to be used by the user can be preferentially stored in the cache database. [Brief explanation of the drawing]
[0011] [Figure 1] This figure shows the overall configuration of a cache system according to one embodiment. [Figure 2] This is a block diagram showing the functional configuration of a processing apparatus according to one embodiment. [Figure 3] Block diagram showing the functional configuration of a terminal device according to one embodiment. [Figure 4] This is a sequence diagram showing an example of cache management processing according to one embodiment. [Figure 5] This figure shows an example of a status table according to one embodiment. [Figure 6]It is a flowchart showing an example of recording processing according to an embodiment. [Figure 7] It is a first diagram for explaining the priority according to an embodiment. [Figure 8] It is a second diagram for explaining the priority according to an embodiment. [Figure 9] It is a third diagram for explaining the priority according to an embodiment. [Figure 10] It is a fourth diagram for explaining the priority according to an embodiment. [Figure 11] It is a flowchart showing an example of deletion processing according to an embodiment. [Figure 12] It is a flowchart showing an example of cache area securing processing according to an embodiment. [Figure 13] It is a sequence diagram showing an example of search processing according to an embodiment.
Mode for Carrying Out the Invention
[0012] (Overall Configuration of Cache System) FIG. 1 is a diagram showing the overall configuration of a cache system according to an embodiment. The cache system 1 according to the present embodiment is a system for accumulating the processing results of a number plate reading device 51 installed at a tollgate of a toll road or the like. The users of the cache system 1 are, for example, operators of toll roads or regulatory agencies (such as the police) that track illegal vehicles.
[0013] The roadside device 5 includes a number plate reading device 51 and a sensor 52.
[0014] The number plate reading device 51 reads number plate information (place name, classification number, symbol, serial number, etc.) indicated on the number plate of a vehicle from an image of the vehicle taken while traveling at a specific position on a road (the lane of a tollgate).
[0015] When there are multiple lanes at the toll booth, one number plate reading device 51 is installed for each lane. Each number plate reading device 51 photographs a vehicle traveling at a specific position in the lane where it is installed and reads the number plate information.
[0016] In other embodiments, one number plate reading device 51 may be installed for multiple lanes. In this case, the number plate reading device 51 photographs vehicles traveling at specific positions in each lane and reads the number plate information.
[0017] The sensor 52 is a device for acquiring information about a vehicle (sensor information) other than the number plate information.
[0018] The sensor 52 is, for example, a vehicle detector that detects a vehicle traveling at a specific position on the road. The number plate reading device 51 can acquire an image in which the number plate is clearly captured by taking a photograph at the timing when the vehicle detector detects the vehicle, so that the reading accuracy of the number plate can be improved.
[0019] Also, as shown in FIG. 1, the cash system 1 includes a processing result accumulation database (DB) 2, a cache database (DB) 3, a processing device 4, and a terminal device 6.
[0020] The processing result accumulation DB2 is a database that collects and accumulates the processing result D1 from the number plate reading device 51. For example, the processing result D1 includes an image captured by the number plate reading device 51 and the read number plate information.
[0021] The cache DB3 temporarily stores a part of the processing results accumulated in the processing result accumulation DB2. The cache DB3 is a database with a smaller storage capacity compared to the processing result accumulation DB2. Accordingly, the cache DB3 can perform a search process faster than the processing result accumulation DB2. "Temporarily" means a period shorter than the storage period of the processing result accumulation DB2.
[0022] The processing unit 4 records and deletes processing results in the cache DB3. In this embodiment, the processing unit 4 is a computer built into the cache DB3.
[0023] Terminal device 6 is connected to cache DB3 via a network N such as the Internet, enabling communication. Terminal device 6 retrieves processing results D1 from cache DB3 that match the search conditions specified by the user.
[0024] (Functional configuration of the processing unit) Figure 2 is a block diagram showing the functional configuration of a processing apparatus according to one embodiment. As shown in Figure 2, the processing unit 4 comprises a processor 41, memory 42, storage 43, and a communication interface 44.
[0025] Memory 42 has a memory area necessary for the operation of the processor 41.
[0026] The storage 43 is a so-called auxiliary storage device, such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). The storage 43 stores data that each part of the processor 41 acquires, generates, and references during processing.
[0027] The communication interface 44 is an interface for sending and receiving various data and control signals between the processing result storage DB2, the cache DB3, and the terminal device 6.
[0028] The processor 41 performs the functions of a status update unit 411, a priority calculation unit 412, a recording processing unit 413, and a deletion processing unit 414 by operating according to a predetermined program.
[0029] The status update unit 411 updates the cache status of processing result D1 recorded in the processing result storage DB2. The cache status is information indicating whether or not processing result D1 has been saved in the cache DB3.
[0030] The priority calculation unit 412 calculates the cache priority of the processing result D1. The higher the cache priority of the processing result D1, the more likely it is to be saved in the cache DB3. For example, the priority calculation unit 412 calculates the cache priority by weighting it so that the priority changes according to the elapsed time since the image included in the processing result D1 was taken (for example, the date and time of taking the image). In this embodiment, an example is described where "when the image was taken" is "the date and time of taking the image (date and time of taking the image)," but it is not limited to this. In other embodiments, "when the image was taken" may represent a period of time such as the date of taking the image, the time of taking the image, or the month of taking the image.
[0031] The recording processing unit 413 saves to the cache DB3 any processing results D1 that have not yet been saved to the cache DB3 and whose cache priority is equal to or greater than a predetermined threshold.
[0032] The deletion processing unit 414 deletes from the cache DB3 any processing results D1 that have been saved in the cache DB3 and whose cache priority is below the threshold.
[0033] The predetermined program executed by the processor 41 is stored on a computer-readable recording medium. A computer-readable recording medium refers to a magnetic disk, magneto-optical disk, CD-ROM, DVD-ROM, semiconductor memory, etc. Alternatively, this computer program may be distributed to a computer via a communication line, and the computer that receives the distribution may execute the program. Furthermore, this program may be intended to implement only a part of the functions described above. Moreover, it may be a program that can implement the above functions in combination with a program already recorded in the computer system, a so-called differential file (differential program).
[0034] (Functional configuration of terminal devices) Figure 3 is a block diagram showing the functional configuration of a terminal device according to one embodiment. As shown in Figure 3, the terminal device 6 comprises a processor 61, memory 62, storage 63, input / output interface 64, and communication interface 65.
[0035] Memory 62 has a memory area necessary for the operation of the processor 61.
[0036] The storage 63 is a so-called auxiliary storage device, such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). The storage 63 stores data that each part of the processor 61 acquires, generates, or references during processing.
[0037] The input / output interface 64 is a connection interface for connecting to devices such as a display device 66 and an input device 67. The display device 66 is a monitor such as a liquid crystal display. The input device 67 is an input device such as a keyboard or mouse. Note that the display device 66 and the input device 67 may be an integrated device, such as a touch panel.
[0038] The communication interface 65 is an interface for sending and receiving various data and control signals with the cache DB3.
[0039] The processor 61 performs the functions of a search request unit 611 and a processing result acquisition unit 612 by operating according to a predetermined program.
[0040] The search request unit 611 requests the cache DB3 to search for processing result D1 that matches the search criteria. The search criteria are specified by the user via the input device 67.
[0041] The processing result acquisition unit 612 acquires processing results D1 that match the search criteria from the cache DB3. The acquired processing results D1 are displayed on the display device 66 so that the user can check the contents.
[0042] The predetermined program executed by the processor 61 is stored on a computer-readable recording medium. A computer-readable recording medium refers to a magnetic disk, magneto-optical disk, CD-ROM, DVD-ROM, semiconductor memory, etc. Alternatively, this computer program may be distributed to a computer via a communication line, and the computer that receives the distribution may execute the program. Furthermore, this program may be intended to implement only a part of the functions described above. Moreover, it may be a program that can implement the above functions in combination with a program already recorded in the computer system, a so-called differential file (differential program).
[0043] (Regarding the process of accumulating processing results) Figure 4 is a sequence diagram showing an example of cache management processing according to one embodiment. As shown in Figure 4, the cache system 1 performs a processing result storage process P1 and a cache update process P2.
[0044] The processing result storage process P1 will now be explained. First, when a vehicle arrives at the toll booth, the license plate reader 51 of the roadside device 5 photographs the vehicle and reads and obtains license plate information from the photographed image (step S01). Since the process by which the license plate reader 51 reads license plate information is known, a detailed explanation will be omitted.
[0045] Furthermore, the roadside device 5 transmits the processing result D1 from the license plate reader 51 to the processing result storage DB2 (step S02). The processing result D1 includes the image taken by the license plate reader 51, the license plate information read, the date and time the image was taken, and the location where it was taken. The processing result D1 may also include sensor information acquired by the sensor 52.
[0046] The processing result storage DB2 records the processing result D1 obtained from the roadside device 5 (license plate reader 51) (step S03). The processing result storage DB2 also notifies the processing device 4 that a new processing result D1 has been added (data update) (step S04).
[0047] For example, the processing unit 4 has a status table T1 (Figure 5) that records the status of all processing results D1 stored in the processing result storage DB2. When the status update unit 411 of the processing unit 4 receives a data update notification from the processing result storage DB2, it adds the status of the newly added processing result D1 to the status table T1.
[0048] Figure 5 shows an example of a status table according to one embodiment. As shown in Figure 5, the status table T1 records information such as the index of each processing result D1, the date and time of capture, cache status, number of searches, number of downloads, error information, route information, and priority.
[0049] The index is a unique number assigned to each processing result D1 by the processing result storage DB2.
[0050] The shooting date and time is the shooting date and time of the image included in the processing result D1.
[0051] The cache status indicates whether the processing result D1 has been saved or not in the cache DB3. The cache status (initial value) of processing result D1, which is added to the status table T1 in step S05, is "Not saved".
[0052] The search count and download count indicate the number of times processing result D1 was searched for by users, and the number of times processing result D1 was actually downloaded from the search results.
[0053] Anomaly information indicates whether or not there was an error in reading the license plate information. In some cases, due to a malfunction of the license plate reader 51 or dirt adhering to the license plate, some or all of the license plate information may not be read (there may be missing information). In this case, the processing result storage DB2 notifies the processing unit 4 of the data update notification, along with information indicating that an abnormality occurred during the reading process. When the status update unit 411 of the processing unit 4 adds this processing result D1 to the status table T1, it also records "abnormality detected" in the abnormality information column. If there is no notification of an abnormality, the status update unit 411 leaves the abnormality information column blank (or may record "no abnormality").
[0054] Route information indicates whether or not a vehicle traveled a specific route. A specific route is, for example, a longer route among several routes connecting point A and point B. Specific routes are pre-set by the user and recorded in the processing result storage DB2. For example, the processing result storage DB2 extracts a processing result D1 for a certain vehicle (a processing result D1 with the same license plate information) from multiple processing results D1 to estimate the vehicle's travel route. Furthermore, if the estimated vehicle's travel route includes a specific route, the processing result storage DB2 notifies the processing device 4 of the index of these processing results D1, along with information indicating "specific route traveled". Since the vehicle's travel route can only be determined after multiple processing results D1 related to this vehicle have been stored, the processing result storage DB2 may also issue a separate notification regarding the specific route after the data update notification (step S04 in Figure 4). When the status update unit 411 of the processing device 4 receives this notification from the processing result storage DB2, it adds the information "specific route traveled" to the route information column of the status table T1.
[0055] The cache system 1 executes the processing result storage process P1 shown in Figure 4 each time the license plate reader 51 performs a license plate reading process.
[0056] (Regarding cache update processing) Furthermore, the cache system 1 performs the cache update process P2 shown in Figure 4, for example, several times a day. The cache system 1 may also perform the cache update process P2 again when instructed by the user, for example, through the terminal device 6.
[0057] In the cache update process P2, the processing unit 4 performs two processes: a recording process S11, which saves a copy of the processing result D1 to the cache DB3, and a deletion process S12, which deletes the processing result D1 already saved in the cache DB3.
[0058] (Recording process) Figure 6 is a flowchart showing an example of recording processing according to one embodiment. First, referring to Figure 6, we will explain in detail the flow of the recording process S11 in which the processing unit 4 records a copy of the processing result D1 in the cache DB3.
[0059] The priority calculation unit 412 of the processing unit 4 refers to the cache status in the status table T1 (Figure 5) to determine whether the processing result D1 has not been saved in the cache DB3 (step S111). If the cache status is not "not saved" (step S111; NO), the priority calculation unit 412 terminates the recording process for this processing result D1. On the other hand, if the cache status is "not saved" (step S111; YES), the priority calculation unit 412 calculates the cache priority for this processing result D1 (step S112).
[0060] For example, users use the processing result D1 for back-end processing (such as billing for tolls at a later date). Therefore, user access trends are as follows:
[0061] (1) Users cannot immediately determine whether or not post-processing is necessary after shooting. Therefore, it is highly likely that users will not access the processing result D1 immediately after shooting, but rather after some time has passed (half a day to a day or more). Also, if a user does not access the processing result D1 for a certain period of time (for example, 20 days or more), it is highly likely that this processing result D1 will not be used for reasons such as determining that post-processing is not necessary. In other words, it is highly likely that the user will not access this processing result D1.
[0062] (2) When a user searches for or downloads a processing result D1, they are likely to perform back-end processing based on that processing result D1. Therefore, it is unlikely that the user will search for or download the already downloaded processing result D1 again.
[0063] (3) If an abnormal processing occurs (for example, failure to read the license plate), the user needs to check the processing result D1 for confirmation and perform back-end processing. Therefore, the user is likely to access the processing result D1 in which the abnormal processing occurred.
[0064] (4) When a vehicle travels a specific route (for example, a roundabout route), the user may check whether the vehicle is engaging in any suspicious activity. Therefore, the user is likely to access processing result D1, which contains information indicating that the vehicle traveled a specific route.
[0065] The priority calculation unit 412 calculates the cache priority of each processing result D1 by weighting the number of searches, number of downloads, elapsed time since the date and time of shooting, presence or absence of anomaly information, and presence or absence of specific route travel, based on the user access trends described above.
[0066] Figure 7 is a first diagram illustrating the priority according to one embodiment. Figure 7 illustrates the change in cache priority F1 according to the elapsed time since the date and time of capture of processing result D1. As shown in Figure 7, the priority calculation unit 412 calculates the cache priority by assigning weights according to the elapsed time since the date and time of capture, taking into consideration the access trend (1) described above. Specifically, the priority calculation unit 412 pre-determines a priority function (or weight table) that is weighted so that the cache priority increases according to the elapsed time for a certain period from the date and time of capture to time t1 (for example, 10 days), and decreases according to the elapsed time after that period. The priority calculation unit 412 calculates the cache priority of processing result D1 based on the elapsed time since the date and time of capture of processing result D1 and the priority function. At this time, the priority calculation unit 412 may also adjust the priority function so that the cache priority exceeds a threshold after a certain amount of time has elapsed since the date and time of capture (for example, half a day to about a day).
[0067] Figure 8 is a second diagram illustrating the priority according to one embodiment. Figure 8 illustrates the changes in cache priority F2 and F3 according to the number of downloads of processing result D1. As shown in Figure 8, the priority calculation unit 412 calculates the cache priority by considering the access trend (2) described above and adding a weight according to the number of downloads in addition to the elapsed time from the shooting date and time. Specifically, the priority calculation unit 412 calculates the cache priority by adding a larger weight the fewer the number of downloads. For example, F2 illustrates the change in cache priority of processing result D1a, which has been downloaded 0 times, and F3 illustrates the change in cache priority of processing result D1b, which was downloaded once immediately after shooting. It is considered unlikely that a user will immediately access processing result D1b again after downloading it once immediately after shooting. For this reason, the cache priority of processing result D1b is lower than that of processing result D1a, and the timing of exceeding the threshold is also adjusted by the weights.
[0068] Figure 9 is a third diagram illustrating the priority according to one embodiment. Furthermore, the priority calculation unit 412 may, taking into consideration the access trends (3) or (4) described above, add weights corresponding to the abnormal occurrence information or route information of the processing result D1, in addition to the elapsed time from the date and time of capture. Specifically, the priority calculation unit 412 calculates the cache priority by giving a greater weight to the processing result D1 where the abnormal occurrence information is "abnormal" than to the processing result D1 where the abnormal occurrence information is "no abnormality (blank)". Also, the priority calculation unit 412 calculates the cache priority by giving a greater weight to the processing result D1 where the route information is "specific route traveled" than to the processing result D1 where the route traveled is "no specific route traveled (blank)".
[0069] Figure 9 illustrates the changes in cache priority F4 and F5 when weighting is applied according to route information. F4 illustrates the change in cache priority for processing result D1c where the travel route is "no specific route travel", and F5 illustrates the change in cache priority for processing result D1d where the travel route is "specific route travel". Processing result D1d where "specific route travel is present" is likely to be subject to user review. Therefore, the processing result D1d where "specific route travel is present" is weighted to have a higher cache priority over the entire period than processing result D1c where "specific route travel is absent". In addition, in this case, the priority calculation unit 412 may adjust the weights so that the cache priority exceeds the threshold immediately after capture, so that the user can immediately review processing result D1d when "specific route travel is present" is detected. The priority calculation unit 412 also performs a similar weight adjustment for anomaly occurrence information.
[0070] Figure 10 is a fourth diagram illustrating the priority according to one embodiment. The priority calculation unit 412 may calculate the cache priority by assigning a greater weight to fewer searches in addition to the number of downloads. Figure 10 illustrates the changes in cache priority F6 for processing result D1e, which has not been searched or downloaded, and F7 for processing result D1f, which has been searched and downloaded. In the example in Figure 10, processing result D1f is searched once at elapsed time t11 and downloaded once at elapsed time t12. Therefore, the cache priority of processing result D1f decreases at elapsed time t11, then increases due to the weighting against elapsed time, but decreases again at elapsed time t12. Also, the cache priority of processing result D1f falls below the threshold earlier than the cache priority of processing result D1e. In other words, processing result D1f is deleted from the cache DB3 earlier than processing result D1e.
[0071] Thus, the priority calculation unit 412 adjusts the cache priority according to the elapsed time since the shooting time of the processing result D1 and its status.
[0072] Next, as shown in Figure 6, the recording processing unit 413 of the processing unit 4 determines whether the cache priority of the processing result D1 is equal to or greater than a threshold (step S113).
[0073] If the cache priority is below the threshold (step S113; NO), the recording processing unit 413 terminates the recording process for this processing result D1. If the cache priority is above the threshold (step S113; YES), the recording processing unit 413 obtains a copy of this processing result D1 from the processing result storage DB2 and saves it to the cache DB3 (step S114). The recording processing unit 413 also updates the cache status of this processing result D1 in the status table T1 to "Saved" (step S115).
[0074] The processing unit 4 performs a series of recording processes S11, as shown in Figure 6, for all processing results D1 recorded in the status table T1. By performing the recording process S11 at a certain frequency, the processing unit 4 adds processing results D1 with high cache priority (i.e., those likely to be accessed by the user) to the cache DB3.
[0075] (Deletion process) Figure 11 is a flowchart showing an example of a deletion process according to one embodiment. Next, referring to Figure 11, we will explain in detail the flow of the deletion process S12, in which the processing unit 4 deletes the processing result D1 stored in the cache DB3.
[0076] The priority calculation unit 412 of the processing unit 4 refers to the cache status in the status table T1 (Figure 5) to determine whether the processing result D1 has been saved in the cache DB3 (step S121). If the cache status is not "saved" (step S121; NO), the priority calculation unit 412 terminates the deletion process for this processing result D1. On the other hand, if the cache status is "saved" (step S121; YES), the priority calculation unit 412 calculates the cache priority for this processing result D1 (step S122). This process is the same as step S112 in Figure 6.
[0077] Next, the deletion processing unit 414 of the processing unit 4 determines whether the cache priority of the processing result D1 is less than a threshold (step S123).
[0078] If the cache priority is above the threshold (step S123; NO), the deletion processing unit 414 terminates the deletion process for this processing result D1. If the cache priority is below the threshold (step S123; YES), the deletion processing unit 414 deletes this processing result D1 from the cache DB3 (step S124). The deletion processing unit 414 also updates the cache status of this processing result D1 in the status table T1 to "Not saved (deleted)" (step S125).
[0079] The processing unit 4 performs a series of deletion operations S12, as shown in Figure 11, on all processing results D1 recorded in the status table T1. By performing the deletion operations S12 at regular intervals, the processing unit 4 removes processing results D1 with low cache priority (i.e., those that are unlikely to be accessed by the user) from the cache DB3.
[0080] (Cache area allocation process) Figure 12 is a flowchart showing an example of a cache area allocation process according to one embodiment. If there are many processing results D1 with high cache priority, the cache DB3 may run out of free space. Therefore, the processing unit 4 periodically monitors the usage rate of the cache DB3 and, if there is insufficient free space, executes the cache area allocation process shown in Figure 12.
[0081] The recording processing unit 413 of the processing unit 4 determines whether the usage rate (%) of the cache DB3 is equal to or greater than a predetermined upper limit (step S201). The upper limit can be arbitrarily set by the user depending on the capacity of the cache DB3 and the average data size of the processing result D1.
[0082] If the usage rate is less than the upper limit (step S201; NO), the recording processing unit 413 terminates the cache area allocation process. On the other hand, if the usage rate is greater than or equal to the upper limit (step S201; YES), the recording processing unit 413 stops the recording process S11 of the processing result D1 (step S202).
[0083] Furthermore, the deletion processing unit 414 of the processing unit 4 deletes the one with the lowest cache priority from the processing results D1 stored in the cache DB3 (step S203). At this time, the deletion processing unit 414 deletes the one with the lowest cache priority regardless of whether the cache priority is below a threshold or not.
[0084] Furthermore, the processing unit 4 determines whether the usage rate of cache DB3 has fallen below the upper limit due to the deletion of processing result D1 (step S204). If the usage rate remains above the upper limit (step S204; NO), the deletion processing unit 414 of the processing unit 4 executes step S203 again. On the other hand, if the usage rate has fallen below the upper limit (step S204; YES), the recording processing unit 413 of the processing unit 4 restarts the recording process S11 (step S205) and terminates the cache area allocation process.
[0085] In this way, the processing unit 4 quickly resolves the lack of free space in the cache DB3, preventing the high-priority processing result D1 from being unable to be saved to the cache DB.
[0086] (Search process) Figure 13 is a sequence diagram showing an example of a search process according to one embodiment. The search process flow in the cache system 1 according to this embodiment will be described below with reference to Figure 13.
[0087] For example, let's describe an example of searching for a certain processing result D1. The user enters the search criteria for processing result D1 through the input device 67 of the terminal device 6 and presses the "Search" button. Then, the search request unit 611 of the terminal device 6 obtains the search criteria entered by the user (step S301) and sends a search request to the cache DB3 (step S302).
[0088] When the cache DB3 receives a search request from the terminal device 6 along with the search conditions, it searches for a processing result D1 that matches the search conditions from among the processing results D1 that it has stored (step S303). It also sends the retrieved processing result D1 as a cache search result to the terminal device 6 (step S304).
[0089] The processing result acquisition unit 612 of the terminal device 6 displays the cache search results received from the cache DB3 on the display device 66 (step S305). The user checks whether the desired processing result D1 is included in the cache search results.
[0090] In addition, the cache DB3 sends a search request to the processing result storage DB2 along with the search conditions (step S306) in parallel with the search for processing results (step S303).
[0091] When the processing result storage DB2 receives a search request from the cache DB3 along with the search conditions, it searches for a processing result D1 that matches the search conditions from among the processing results D1 that it stores (step S307). It also sends the retrieved processing result D1 as a search result within the DB to the cache DB3 (step S308). At this time, the processing result storage DB2 may search only for processing results D1 whose cache status is "not saved".
[0092] Cache DB3 temporarily stores the search results received from processing result storage DB2 (step S309).
[0093] Furthermore, if the user does not find the desired processing result D1 in the cache search results, they press the "Search Further" button. In this case, the search request unit 611 of the terminal device 6 sends a re-search request to the cache DB3 (step S310).
[0094] When the cache DB3 receives a re-search request from the terminal device 6, it sends the search results received from the processing result storage DB2 to the terminal device 6 (step S311).
[0095] The processing result acquisition unit 612 of terminal device 6 displays the database search results received from cache DB3 on the display device 66 (step S312). The user checks whether the desired processing result D1 is included in the database search results.
[0096] If the desired processing result D1 is found in the cache search results or DB search results, the user selects this processing result D1 and presses the "Download" button. The processing result acquisition unit 612 of the terminal device 6 then stores the selected processing result D1 in the terminal device 6's storage 63 (step S313). The information of the processing result D1 downloaded by the terminal device 6 is also notified to the cache DB3 (processing unit 4).
[0097] Furthermore, the status update unit 411 of the processing unit 4 updates the status table T1 by incrementing the number of searches for processing result D1 included in the cache search results and DB search results by 1. In addition, the status update unit 411 updates the status table T1 by incrementing the number of downloads of processing result D1 downloaded by the terminal device 6 by 1.
[0098] If the desired processing result D1 is not included in the cache search results or the database search results, the user changes the search criteria and presses the "Search" button again. The cache system 1 then re-executes steps S301 to S312.
[0099] In this way, the cache DB3 can provide users with cache search results quickly by first searching for the processing result D1 it stores and providing it to the user. Furthermore, since the cache DB3 stores processing result D1 that users are likely to access (high cache priority), it can increase the likelihood that the processing result D1 desired by the user is included in the cache search results. If the desired processing result D1 is included in the cache search results, the user can terminate the search process and quickly download this processing result D1.
[0100] Furthermore, while the cache DB3 searches for the processing result D1 it stores, it automatically requests the processing result storage DB2 to search for processing result D1. The search process in the processing result storage DB2 takes longer than that in the cache DB3. However, because the search process in the processing result storage DB2 can proceed while the user is checking the search results in the cache, the time from when the user presses the "search further" button until the search results in the DB are provided to the user can be shortened. In other words, the cache system 1 can provide the user with the desired processing result D1 at high speed.
[0101] (Effect, Action) As described above, the cache system 1 according to this embodiment includes a processing result storage DB2 that collects and stores processing results D1 from a license plate reader 51, a cache DB3 that temporarily stores a portion of a plurality of processing results D1, a priority calculation unit 412 that calculates cache priority by assigning weights such that the priority increases according to the elapsed time for a certain period after the image included in the processing result D1 is taken, and decreases according to the elapsed time after that period, a recording processing unit 413 that stores in the cache DB3 any processing results D1 that have not yet been stored in the cache DB3 and whose cache priority is above a threshold, and a deletion processing unit 414 that deletes from the cache DB3 any processing results D1 that have already been stored in the cache DB3 and whose cache priority is below a threshold.
[0102] As described above, the user uses the processing result D1 from the license plate reader 51 for post-processing. In this case, it is often unclear whether post-processing is necessary immediately after the image in the processing result D1 is captured. Therefore, the processing result D1 has the characteristic that it may not be accessed immediately after capture but may be accessed some time later, and that images taken a long time ago are less likely to be accessed. Taking these characteristics of the processing result D1 into account, the cache system 1 adjusts so that the cache priority gradually increases for a certain period after capture, and then gradually decreases thereafter. This allows the cache system 1 to prioritize the storage of processing results D1 that the user is likely to access in the cache DB3.
[0103] Furthermore, the cache system 1 includes a status update unit 411 that records the number of downloads for each of the multiple processing results D1 in a status table T1. The priority calculation unit 412 calculates the cache priority by further assigning weights according to the number of downloads.
[0104] When a user downloads processing result D1, they are likely to use it for back-end processing. In other words, processing result D1 has the characteristic that, after being downloaded once, it is unlikely to be accessed again (used for back-end processing). Based on this characteristic of processing result D1, the cache system 1 adjusts the cache priority by assigning weights according to the number of downloads. This makes it easier for the cache system 1 to store only processing result D1 that users are likely to use in the cache DB3.
[0105] Furthermore, the status table T1 includes anomaly occurrence information indicating whether or not there is an anomaly in the processing result D1. The priority calculation unit 412 calculates the cache priority by adding weights adjusted based on the anomaly occurrence information in the status table T1, such that a processing result D1 with an anomaly has a larger value than a processing result D1 without an anomaly.
[0106] Users are likely to use processing result D1 for back-end processing when an error occurs during the read operation. In other words, processing result D1, which has a read error, has the characteristic of being likely to be accessed by the user. Based on this characteristic of processing result D1, the cache system 1 adjusts the cache priority by assigning weights according to the error occurrence information. This makes it easier for the cache system 1 to store only processing result D1 that is likely to be used by the user in the cache DB3.
[0107] Furthermore, the status table T1 includes route information indicating whether the vehicle's travel route, estimated from multiple processing results D1, includes a predetermined specific route. The priority calculation unit 412 calculates the cache priority by adding weights based on the route information in the status table T1, adjusting them so that vehicles that traveled the specific route have a larger value than vehicles that did not travel the specific route.
[0108] Users are likely to use processing result D1 in back-processing when their vehicle travels a specific route (for example, a roundabout route). In other words, processing result D1, which indicates that the travel route is unusual, has the characteristic of being likely to be accessed by the user. Based on this characteristic of processing result D1, the cache system 1 adjusts the cache priority by assigning weights according to the travel route. This makes it easier for the cache system 1 to store only processing result D1 that is likely to be used by the user in the cache DB3.
[0109] Furthermore, the recording processing unit 413 stops saving the processing result D1 (recording process S11) if the usage rate of the cache DB3 exceeds a preset upper limit.
[0110] In this way, the cache system 1 can suppress problems such as when the free space in the cache DB3 is low, causing a processing result D1 with a high cache priority in the cache DB3 to be overwritten by a processing result D1 with a low cache priority.
[0111] Furthermore, if the usage rate of the cache DB3 exceeds a preset upper limit, the deletion processing unit 414 deletes the processing result D1 with the lowest cache priority that has been saved in the cache DB3.
[0112] In this way, the cache system 1 can suppress the problem of being unable to save a processing result D1 with a higher cache priority than a processing result D1 already stored in the cache DB3 to the cache DB3 when the free space in the cache DB3 is low.
[0113] As described above, embodiments relating to this disclosure have been explained, but these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.
[0114] For example, in the embodiment described above, an example was described in which the processing unit 4 is built into the cache DB3, but this is not the only example. In other embodiments, the processing unit 4 may be built into the processing result storage DB2, or it may be configured as separate hardware from the processing result storage DB2 and the cache DB3.
[0115] <Note> The cache system and cache method described in the above-described embodiment can be understood, for example, as follows:
[0116] (1) According to the first embodiment, the cache system 1 includes a license plate reader 51 that photographs a moving vehicle, reads license plate information, and stores a processing result D1 including the photographed image and the read license plate information in a processing result storage database 2; a cache database 3 that temporarily stores a portion of a plurality of processing results D1; a priority calculation unit 412 that calculates cache priority by assigning weights such that the priority increases according to the elapsed time for a certain period from when the image included in the processing result D1 was photographed, and decreases according to the elapsed time after that period; a recording processing unit 413 that stores in the cache database 3 any processing results D1 that have not yet been stored in the cache database 3 and whose cache priority is equal to or greater than a predetermined threshold; and a deletion processing unit 414 that deletes from the cache database 3 any processing results D1 that have already been stored in the cache database 3 and whose cache priority is less than a predetermined threshold.
[0117] As described above, the user uses the processing result D1 from the license plate reader 51 for post-processing. In this case, it is often unclear whether post-processing is necessary immediately after the image in the processing result D1 is captured. Therefore, the processing result D1 has the characteristic that it may not be accessed immediately after capture but may be accessed some time later, and that images taken a long time ago are less likely to be accessed. Taking these characteristics of the processing result D1 into account, the cache system 1 adjusts so that the cache priority gradually increases for a certain period after capture, and then gradually decreases thereafter. This allows the cache system 1 to prioritize the storage of processing results D1 that the user is likely to access in the cache DB3.
[0118] (2) According to the second embodiment, in the cache system 1 according to the first embodiment, the priority calculation unit 412 refers to the number of downloads for each of the multiple processing results D1 and calculates the cache priority by further assigning a weight according to the number of downloads.
[0119] When a user downloads processing result D1, they are likely to use it for back-end processing. In other words, processing result D1 has the characteristic that, after being downloaded once, it is unlikely to be accessed again (used for back-end processing). Based on this characteristic of processing result D1, the cache system 1 adjusts the cache priority by assigning weights according to the number of downloads. This makes it easier for the cache system 1 to store only processing result D1 that users are likely to use in the cache DB3.
[0120] (3) According to the third embodiment, in the cache system 1 according to the first or second embodiment, the priority calculation unit 412 refers to abnormality occurrence information indicating whether or not there is an abnormality in the processing result D1, and calculates the cache priority by further adding weights adjusted so that the processing result D1 with an abnormality has a larger value than the processing result D1 without an abnormality.
[0121] Users are likely to use processing result D1 for back-end processing when an error occurs during the read operation. In other words, processing result D1, which has a read error, has the characteristic of being likely to be accessed by the user. Based on this characteristic of processing result D1, the cache system 1 adjusts the cache priority by assigning weights according to the error occurrence information. This makes it easier for the cache system 1 to store only processing result D1 that is likely to be used by the user in the cache DB3.
[0122] (4) According to the fourth embodiment, in the cache system 1 according to any one of the first to third embodiments, the priority calculation unit 412 refers to route information indicating whether the vehicle travel route estimated from a plurality of processing results D1 includes a predetermined specific route, and further adds weights adjusted so that the processing result D1 of a vehicle that traveled the specific route is a larger value than the processing result D1 of a vehicle that did not travel the specific route, and calculates the cache priority.
[0123] Users are likely to use processing result D1 in back-processing when their vehicle travels a specific route (for example, a roundabout route). In other words, processing result D1, which indicates that the travel route is unusual, has the characteristic of being likely to be accessed by the user. Based on this characteristic of processing result D1, the cache system 1 adjusts the cache priority by assigning weights according to the travel route. This makes it easier for the cache system 1 to store only processing result D1 that is likely to be used by the user in the cache DB3.
[0124] (5) According to the fifth embodiment, in the cache system 1 according to any one of the first to fourth embodiments, the recording processing unit 413 stops saving the processing result D1 when the usage rate of the cache database 3 is equal to or greater than a preset upper limit.
[0125] In this way, the cache system 1 can suppress problems such as when the free space in the cache DB3 is low, causing a processing result D1 with a high cache priority in the cache DB3 to be overwritten by a processing result D1 with a low cache priority.
[0126] (6) According to the sixth aspect, in the cache system 1 according to any one of the first to seventh aspects, the deletion processing unit 414 deletes the processing result D1 with the lowest cache priority from among the processing results D1 already stored in the cache database 3 when the usage rate of the cache database 3 is equal to or greater than a preset upper limit.
[0127] In this way, the cache system 1 can suppress the problem of being unable to save a processing result D1 with a higher cache priority than a processing result D1 already stored in the cache DB3 to the cache DB3 when the free space in the cache DB3 is low.
[0128] (7) According to the seventh embodiment, the caching method is a caching method using a caching system 1 comprising a license plate reader 51 that photographs a moving vehicle, reads license plate information, and stores a processing result D1 including the photographed image and the read license plate information in a processing result storage database 2, and a cache database 3 that temporarily stores a portion of a plurality of processing results D1, the method comprising the steps of: calculating the cache priority by assigning weights such that the priority increases with elapsed time for a certain period from when the image included in the processing result D1 was photographed, and decreases with elapsed time after the certain period has elapsed; storing processing results D1 that have not been stored in the cache database 3 and whose cache priority is equal to or greater than a predetermined threshold in the cache database 3; and deleting processing results D1 that have been stored in the cache database 3 and whose cache priority is less than the threshold from the cache database 3. [Explanation of symbols]
[0129] 1. Cash System 2. Processing result storage database (DB) 3. Cache Database (DB) 4 Processing Unit 41 processors 411 Status Update Section 412 Priority calculation unit 413 Recording Processing Unit 414 Deletion Processing Unit 42 memory 43 Storage 44 Communication Interfaces 5 Roadside equipment 51 License plate reader 52 sensors 6 Terminal devices 61 processors 611 Search Request Section 612 Processing Result Acquisition Unit 62 memory 63 storage 64 input / output interfaces 65 Communication Interfaces 66 Display device 67 Input device T1 Status Table
Claims
1. A license plate reader that photographs a moving vehicle, reads the license plate information, and stores the processed results, including the photographed image and the read license plate information, in a processing result storage database. A cache database that temporarily stores some of the results of multiple processing steps, A priority calculation unit calculates the cache priority of the processing result by assigning weights such that the priority increases with elapsed time for a certain period from the time the image included in the processing result was captured, and decreases with elapsed time after the certain period has passed. A recording processing unit that saves to the cache database processing results among those not yet saved to the cache database whose cache priority is equal to or greater than a predetermined threshold, A deletion processing unit that deletes from the cache database any processing results stored in the cache database whose cache priority is less than the threshold, A cash system equipped with [features / equipment].
2. The priority calculation unit refers to the number of downloads for each of the multiple processing results, and further assigns a weight according to the number of downloads to calculate the cache priority. The cash system according to claim 1.
3. The priority calculation unit refers to the abnormality occurrence information indicating whether or not there is an abnormality in the processing result, and further applies weights adjusted so that the processing result with an abnormality has a larger value than the processing result without an abnormality, and calculates the cache priority. The cash system according to claim 1.
4. The priority calculation unit refers to route information indicating whether the vehicle travel routes estimated from the multiple processing results include a predetermined specific route, and further applies weights adjusted so that the processing result of a vehicle that traveled the specific route is larger than the processing result of a vehicle that did not travel the specific route, and calculates the cache priority. The cash system according to claim 1.
5. The recording processing unit stops saving the processing results if the usage rate of the cache database exceeds a preset upper limit. The cash system according to claim 1.
6. The deletion processing unit deletes the processing result with the lowest cache priority from among the processing results stored in the cache database if the usage rate of the cache database is above a predetermined upper limit. The cache system according to any one of claims 1 to 5.
7. A license plate reader that photographs a moving vehicle, reads the license plate information, and stores the processed results, including the photographed image and the read license plate information, in a processing result storage database. A cache database that temporarily stores some of the results of multiple processing steps, A caching method using a caching system comprising: A step of calculating the cache priority of the processing result by assigning weights such that the priority increases with elapsed time for a certain period from the time the image included in the processing result was captured, and decreases with elapsed time after the certain period has passed. The steps include: saving to the cache database the processing results among those not yet saved to the cache database whose cache priority is equal to or greater than a predetermined threshold; The steps include: deleting from the cache database any processing results stored in the cache database whose cache priority is less than the threshold; A caching method that has [a certain feature].
Citation Information
Patent Citations
Information processing device, information processing system, information processing method, and program
JP2015228140A
Search support device, search support method and search support system
JP2019036872A
Systems and Methods for Surveillance and Traffic Monitoring (Claim Set II)
US20100245568A1