Battery data processing device and its operation method
The data processing device for electric vehicle batteries manages data flow through controllers, loaders, and monitoring to prevent duplication and loss, ensuring efficient and accurate battery state diagnosis.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-09-22
- Publication Date
- 2026-04-14
AI Technical Summary
Existing battery management systems in electric vehicles lack efficient methods for processing battery data to diagnose the state of the battery and prevent safety issues due to rapid deterioration, which can occur during repeated charging and discharging.
A data processing device and method that includes a controller for selecting and storing raw data in buffer storage, a loader for transferring data to a database, and a monitoring unit to manage the processing flow, ensuring real-time, non-duplicative data handling through timing control and error management.
The solution ensures real-time, efficient processing of battery data without duplication or loss, enabling accurate battery state diagnosis and preventing safety issues by managing data flow effectively.
Smart Images

Figure 0007845768000001 
Figure 0007845768000002 
Figure 0007845768000003
Abstract
Description
Technical Field
[0001] The present invention claims the benefit of priority based on Korean Patent Application No. 10-2022-0121945 filed on September 26, 2022, and all the contents disclosed in the document of the Korean patent application are incorporated herein by reference in their entirety.
[0002] The embodiments disclosed in this document relate to an apparatus for processing battery data and an operating method thereof.
Background Art
[0003] In recent years, research and development on secondary batteries have been actively conducted. Here, a secondary battery is a rechargeable battery, including both conventional Ni / Cd batteries, Ni / MH batteries, etc., and recent lithium-ion batteries. Among secondary batteries, lithium-ion batteries have the advantage of much higher energy density compared to conventional Ni / Cd batteries, Ni / MH batteries, etc. In addition, since lithium-ion batteries can be manufactured in a small and light size, they are used as a power source for mobile devices. In recent years, their usage range has been extended to the power source of electric vehicles and they have attracted attention as a next-generation energy storage medium.
[0004] The battery mounted in an electric vehicle shows a tendency to deteriorate as it is repeatedly charged and discharged. For example, the battery mounted in an electric vehicle deteriorates in capacity and resistance and its remaining life may decrease as it is repeatedly charged and discharged for driving the electric vehicle. Also, the degree of battery deterioration and remaining life may change according to the operating conditions of the electric vehicle.
[0005] When the remaining life of the battery drops sharply, safety problems may occur in the use of the electric vehicle. Therefore, a method for quickly processing the data of the battery mounted in an electric vehicle and diagnosing the state of the battery is required.
Summary of the Invention
Problems to be Solved by the Invention
[0006] One objective of the embodiments disclosed in this document is to provide a raw data processing device and a method for operating the same.
[0007] One objective of the embodiments disclosed in this document is to provide a device and method for operating the same, which stores copy data corresponding to raw data stored in raw data storage in buffer storage and stores stored data corresponding to the copy data in a database.
[0008] The technical problems of the embodiments disclosed in this document are not limited to those mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the following description. [Means for solving the problem]
[0009] A data processing device according to one embodiment of the present invention may include: a first controller that selects a first raw data group from raw data storage, stores a first copy data group corresponding to the first raw data group in buffer storage, and deletes the first raw data group from the raw data storage when the first copy data group is stored in the buffer storage; a first loader that receives the first copy data group from the buffer storage, stores a first stored data group corresponding to the first copy data group in a database, and deletes the first copy data group from the buffer storage when the first stored data group is stored in the database; and a monitoring unit that monitors the buffer storage and determines whether or not to process the first copy data group.
[0010] According to one embodiment, if the first loader fails to store the first stored data group corresponding to the first copy data group in the database, the monitor unit receives the first copy data group from the buffer storage, stores the first stored data group corresponding to the first copy data group in the database, and once the first stored data group is stored in the database, the monitor unit can delete the first copy data group from the buffer storage.
[0011] According to one embodiment, the data processing device may include a second controller that selects a second raw data group from the raw data storage, stores a second copy data group corresponding to the selected second raw data group in the buffer storage, and deletes the second raw data group from the raw data storage once the second copy data group has been stored in the buffer storage.
[0012] According to one embodiment, the data processing device may include a timing control unit that executes the second controller when the first controller deletes the first raw data group of the raw data storage.
[0013] According to one embodiment, the data processing device may include a second loader that receives the second copy data group from the buffer storage, stores a second stored data group corresponding to the second copy data group in the database, and deletes the second copy data group from the buffer storage once the second stored data group has been stored in the database.
[0014] According to one embodiment, the data processing device may include a timing control unit that executes the second controller if the first controller is unable to select the first raw data group.
[0015] According to one embodiment, the second raw data group selected by the second controller may include raw data that the first controller could not select.
[0016] According to one embodiment, the first controller can store the first copy data group after matching it with first time information, which is information regarding the generation time of the first copy data group.
[0017] According to one embodiment, the monitoring unit can compare the first time information with the reference time information to determine whether or not to process the first copy data group.
[0018] An operation method of a data processing apparatus according to another embodiment of the present invention may include the steps of: selecting a first raw data group from raw data storage; storing a first copy data group corresponding to the first raw data group in buffer storage; deleting the first raw data group from the raw data storage once the first copy data group has been stored in the buffer storage; storing a first stored data group corresponding to the first copy data group in a database; and deleting the first copy data group from the buffer storage once the first copy data group has been stored in the database.
[0019] In another embodiment, the operation method of the data processing device may further include the step of the monitor unit monitoring the buffer storage and determining whether or not to process the first copy data group.
[0020] In another embodiment, the operation method of the data processing device may further include the step of matching the first copy data group with first time information, which is information regarding the generation time of the first copy data group, and storing it.
[0021] In another embodiment, the step of determining whether or not to process the first copy data group may include the step of the monitor unit comparing the first time information with reference time information to determine whether or not to process the first copy data group.
[0022] In further embodiments, if the first loader fails to store the first stored data group corresponding to the first copy data group in the database, the monitoring unit may determine that a processing error has occurred for the first copy data group; the monitoring unit may receive the first copy data group from the buffer storage; the monitoring unit may store the first stored data group corresponding to the first copy data group in the database; and the monitoring unit may delete the first copy data group from the buffer storage.
[0023] In another embodiment, the operation method of the data processing device may further include the steps of: the first controller deleting the first raw data group from the raw data storage, the timing control unit executing the second controller; the second controller selecting a second raw data group from the raw data storage; the second controller storing a second copy data group corresponding to the selected second raw data group in the buffer storage; the second controller deleting the second raw data group from the raw data storage; the second loader receiving the second copy data group from the buffer storage; the second loader storing a second stored data group corresponding to the second copy data group in the database; and the second loader deleting the second copy data group from the buffer storage.
[0024] According to still other embodiments, the method of operating the data processing apparatus may include a step of the timing control unit executing the second controller when the first controller fails to select the first load data group, and a step of the second controller selecting a second load data group including the load data that the first controller could not select from the load data storage.
Advantages of the Invention
[0025] The data processing apparatus according to an embodiment disclosed in this document can prevent duplicate processing of load data by adjusting the execution timing of a controller that processes load data via a timing control unit.
[0026] The data processing apparatus according to an embodiment disclosed in this document can prevent omission of processing of load data by having the next-executed controller process the load data when the selection of load data fails.
[0027] The data processing apparatus according to an embodiment disclosed in this document can prevent omission of processing of copy data by checking whether to process the copy data by monitoring the buffer storage via a monitor unit. In addition to this, various effects that can be directly or indirectly grasped can be provided by this document.
Brief Description of the Drawings
[0028] [Figure 1] It is a block diagram showing the configuration of a general battery pack. [Figure 2] It is a block diagram of a data processing apparatus according to an embodiment disclosed in this document. [Figure 3] It is a diagram for explaining a method of operating a data processing apparatus according to an embodiment disclosed in this document. [Figure 4] It is a block diagram showing the hardware configuration of a computing system for performing a data processing apparatus and its operation method according to an embodiment disclosed in this document. [Modes for carrying out the invention]
[0029] The embodiments disclosed in this document will be described in detail below with reference to illustrative drawings. It should be noted that, when assigning reference numerals to components in each drawing, the same reference numerals will be used for the same components whenever possible when they appear in other drawings. Furthermore, when describing the embodiments disclosed in this document, if a specific description of a related known configuration or function is deemed to hinder understanding of the embodiments disclosed in this document, such detailed description will be omitted.
[0030] In describing the components of the embodiments disclosed herein, terms such as First, Second, A, B, (a), (b), etc., may be used. Such terms are merely for distinguishing a component from other components and do not limit the nature, order, or sequence of the component. Furthermore, unless otherwise specifically defined, all terms used herein, including technical or scientific terms, have the same meaning as those generally understood by a person of ordinary skill in the art to which the embodiments disclosed herein belong. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and not as an ideal or overly formal meaning unless explicitly defined in this application.
[0031] Figure 1 is a block diagram showing the configuration of a typical battery pack. Referring to Figure 1, a battery control system including a battery pack 100 according to one embodiment of the present invention and a higher-level controller 200 included in a higher-level system is schematically shown.
[0032] As shown in Figure 1, the battery pack 100 includes a rechargeable battery module 120 consisting of one or more battery cells, a switching unit 160 connected in series to the (+) or (-) terminal side of the battery module 120 for controlling the flow of charge and discharge current to the battery module 120, and a battery management system 180 (e.g., RBMS) that controls and manages the battery pack 100 to prevent overcharging and over-discharging, and monitors data related to the battery module 120. In this case, the battery pack 100 may be provided with multiple battery modules 120, sensors 140, switching units 160, and battery management systems (BMS) 180.
[0033] The sensor 140 is connected between the battery module 120 and the battery management system 180, and can sense the voltage, current, temperature, internal resistance, and impedance of the battery module 120 and transmit this information to the battery management system 180.
[0034] The switching unit 160 is an element for controlling the flow of current for charging or discharging the battery module 120, and may include, for example, at least one relay, electromagnetic contactor, etc., depending on the specifications of the battery pack 100.
[0035] The battery management system 180 is an interface that accepts input values of the various parameters mentioned above, and may include multiple terminals and circuits connected to these terminals that process the input values. The battery management system 180 can also control the ON / OFF state of the switching unit 160, such as a relay or contactor, and can be connected to the battery module 120 to monitor the status of each battery module 120.
[0036] The higher-level controller 200 can transmit control signals to the battery pack 100 via the battery management system 180. The operation of the battery management system 180 may be controlled based on signals provided by the higher-level controller 200.
[0037] According to one embodiment, the battery pack 100 and the higher-level controller 200 may be installed inside the vehicle, and the battery management system 180 can receive data such as voltage, current, temperature, internal resistance, impedance, and charge / discharge cycles of the battery module 120 from the sensor 140.
[0038] Data such as voltage, current, temperature, internal resistance, impedance, and charge / discharge cycles of the battery module 120 may also be data that forms the basis for determining the state information of the battery pack 100 included in the vehicle. Therefore, data such as voltage, current, temperature, internal resistance, impedance, and charge / discharge cycles of the battery module 120 can be referred to as battery data.
[0039] The battery management system 180 transmits battery data to the higher-level controller 200, and the higher-level controller 200 can transmit the battery data to a separately provided raw data storage. In other words, the battery data may be raw data processed by this data processing device.
[0040] According to one embodiment, the battery pack 100 may include a plurality of battery modules 120, and if it includes a plurality of battery modules 120, a plurality of raw data may be output from a single battery pack 100.
[0041] The battery pack 100 can be installed in a vehicle that is actually in operation and undergo charging and discharging cycles, or it can be experimentally charged and discharged under experimental driving conditions similar to the actual driving conditions of the vehicle.
[0042] For example, when the battery module 120 is installed in a vehicle and actually driven, it can output data such as voltage, current, temperature, internal resistance, impedance, and charge / discharge cycles. When experimental charging and discharging cycles are performed under experimental driving conditions, the battery module 120 may output data such as voltage, current, temperature, internal resistance, impedance, and charge / discharge cycles as raw data.
[0043] According to the embodiment, the raw data output when the battery module 120 is installed in a vehicle and actually driven may be affected by the driver's driving habits, the environment in which the vehicle is actually driven, and the actual charge-discharge cycle of the battery.
[0044] The pre-set driving conditions for generating the experimental life index may include, for example, vehicle acceleration conditions, fast charging conditions, city driving conditions, or long-distance driving conditions. Furthermore, the pre-set driving conditions may reflect the environment in which the vehicle operates, the type of vehicle, and the charge / discharge cycle. In other words, pre-set driving conditions may refer to exemplary driving scenario conditions, including vehicle behavior and the vehicle's operating environment.
[0045] Figure 2 is a block diagram of a data processing device according to one embodiment disclosed in this document. The data processing device 10 includes a raw data storage 300 that accepts raw data input, a scheduler 400 that determines the execution timing of multiple controllers 410a, 410b, 410c~410n, and multiple controllers 410a, 410b, 410c~410n that select raw data groups 310a, 310b, 310c~310n from the raw data storage 300 and store a copy data group (e.g., 510a) corresponding to the selected raw data group (e.g., 310a) in the buffer storage 500, and copy data group 510a, The system may include a buffer storage 500 for temporarily storing 510b, 510c~510n, a monitor unit 600 for monitoring the buffer storage 500 and confirming whether or not to process a copy data group (e.g., 510a), a plurality of loaders 610a, 610b, 610c~610n for receiving a copy data group (e.g., 510a) and storing a corresponding storage data group (e.g., 710a) in the database 700, and a database 700 for storing the raw data in the form of storage data.
[0046] The raw data storage 300 may be a device that accepts input of raw data to be processed. The raw data storage 300 can collect and store raw data and can accept input of raw data from an external device or external server.
[0047] According to the embodiment, a device that transmits raw data to the raw data storage 300 can be referred to as a data source, and the data source can input raw data to the raw data storage 300 in real time. The raw data storage 300 may include volatile or non-volatile memory. The raw data input to the raw data storage 300 can be divided into multiple raw data groups 310a, 310b, 310c to 310n.
[0048] For example, the raw data included in the first raw data group 310a may be selected by the first controller 410a, and the first stored data group 710a corresponding to the raw data included in the first raw data group 310a may be stored in the database 700 after a series of processing operations. The raw data sizes contained in each raw data group 310a, 310b, 310c-310n may differ from each other.
[0049] In other words, controllers 410a, 410b, 410c-410n can divide the raw data contained in the raw data storage 300 into multiple raw data groups 310a, 310b, 310c-310n.
[0050] The timing control unit 400 can determine the processing timing for any raw data group (e.g., 310a) by controlling the execution timing of controllers 410a, 410b, 410c to 410n.
[0051] The timing control unit 400 can adjust the execution timing of controllers 410a, 410b, 410c-410n so that they are executed sequentially. The timing control unit 400 can send trigger signals to execute controllers 410a, 410b, 410c-410n, and according to the embodiment, the trigger signals may include information about the raw data group selected by controllers 410a, 410b, 410c-410n.
[0052] For example, the timing control unit 400 can adjust the timing so that the second controller 410b operates when it selects the first raw data group 310a to be processed by the first controller 410a from the raw data storage 300, stores the first copy data group 510a corresponding to the selected first raw data group 310a in the buffer storage 500, and then deletes the first raw data group 310a from the raw data storage 300.
[0053] The timing control unit 400 ensures that the raw data is processed in a distributed manner for each raw data group by sequentially executing controllers 410a, 410b, 410c to 410n.
[0054] Furthermore, the timing control unit 400 stores information regarding the selection of raw data by controllers 410a, 410b, 410c to 410n, and can transmit information about raw data that could not be processed by a controller due to an error to other controllers.
[0055] The operating timing of controllers 410a, 410b, 410c to 410n may be determined according to the computing power of the data processing device 10.
[0056] The higher the computational performance of the data processing unit 10, the shorter the timing interval between the operation of each controller 410a, 410b, 410c, and 410n can be. In other words, the higher the computational performance of the data processing unit 10, the greater the real-time capability of the data processing unit 10 can be.
[0057] Assuming constant computing performance, the smaller the data size of the raw data groups 310a, 310b, 310c-310n processed by controllers 410a, 410b, 410c-410n, the greater the real-time capability of the data processing device 10.
[0058] The data processing device 10 may be equipped with a preset number of controllers 410a, 410b, 410c to 410n, each controller (e.g., 410a) can select a raw data group (e.g., 310a) from the raw data storage 300, store a copy data group (e.g., 510a) corresponding to the selected raw data group 310a in the buffer storage 500, and then delete the selected raw data group 310a from the raw data storage 300.
[0059] A controller (e.g., 410a) can prevent previously processed raw data from being selected when another controller (e.g., 410b) selects a raw data group (e.g., 310b) by deleting the raw data group 310a, which is stored in buffer storage 500, from the raw data storage 300, when the corresponding copy data group (e.g., 510a) is selected. This prevents duplicate processing of raw data.
[0060] According to this embodiment, if a controller (e.g., 410a) fails to select a raw data group or fails to store a copy data group corresponding to a raw data group, the raw data group does not need to be deleted. In this case, the timing control unit 400 can execute another controller (e.g., 410b). The timing control unit 400 can transmit information to the other controller 410b about the raw data that the controller 410a that has encountered the error could not process, so that the other controller 410b can select a raw data group that includes the raw data that the controller 410a that has encountered the error could not select.
[0061] The buffer storage 500 may be storage for temporarily storing copy data groups 510a, 510b, 510c to 510n. According to the embodiment, the buffer storage 500 may be a storage device that includes volatile or non-volatile memory.
[0062] The buffer storage 500 may be a physical storage device that stores raw data in the form of temporary copies when moving data from the raw data storage 300 to the database 700.
[0063] The copy data groups 510a, 510b, and 510c-510n stored in buffer storage 500 can correspond to the raw data groups 310a, 310b, and 310c-310n, respectively.
[0064] Controllers 410a, 410b, 410c-410n can match the copy data groups 510a, 510b, 510c-510n with information regarding the generation time of the copy data groups 510a, 510b, 510c-510n and store this information in the buffer storage 500.
[0065] Information regarding the generation time of copy data groups 510a, 510b, 510c~510n may be in milliseconds, and according to the embodiment, the generation time information may be stored in a separate storage space within the buffer storage 500.
[0066] For example, information regarding the generation time of the first copy data group 510a can be referred to as the first time information, and information regarding the generation time of the nth copy data group 510n can be referred to as the nth time information (where n is an integer greater than or equal to 1).
[0067] The monitor unit 600 can monitor the buffer storage 500 and determine whether or not to process each of the copy data groups 510a, 510b, and 510c-510n.
[0068] The copy data groups 510a, 510b, 510c-510n may be processed by loaders 610a, 610b, 610c-610n. The monitor unit 600 monitors the buffer storage 500 at pre-set time intervals and can check the time information of the copy data groups 510a, 510b, 510c-510n stored in the buffer storage 500.
[0069] The monitor unit 600 can compare the time information of copy data groups 510a, 510b, 510c-510n with reference time information. The reference time information includes information about the time at which the monitor unit 600 determines whether or not to process copy data groups 510a, 510b, 510c-510n, and may include, exemplarily, information about the current time.
[0070] If there is a difference between the time information of copy data groups 510a, 510b, 510c~510n and the reference time information that exceeds a preset threshold time, the monitor unit 600 can determine that a processing error has occurred for the copy data group having time information that differs from the reference time information by a threshold time or more. According to this embodiment, the threshold time may be set based on the average time required to process copy data groups 510a, 510b, 510c~510n.
[0071] For example, if the first loader 610a fails to store the first storage data group 710a corresponding to the first copy data group 510a in the database 700, it can be said that a processing error occurred for the first copy data group 510a.
[0072] Because the first copy data group 510a, which experienced a processing error, remains in the buffer storage 500, the monitor unit 600 can compare the reference time information, which includes information about the current time, with the first time information of the first copy data group 510a, and determine that there is a difference of more than a threshold time between the first time information and the reference time information.
[0073] The monitoring unit 600 can receive the first copy data group 510a that has failed to process from the buffer storage 500 and store the first stored data group 710a corresponding to the received first copy data group 510a in the database 700. Once the corresponding first stored data group 710a is stored in the database 700, the monitoring unit 600 can delete the first copy data group 510a from the buffer storage 500.
[0074] Loaders 610a, 610b, 610c-610n each receive copy data groups 510a, 510b, and 510c-510n stored in buffer storage 500, store the corresponding storage data groups 710a, 710b, and 710c-710n in database 700, and delete copy data groups 510a, 510b, and 510c-510n stored in buffer storage 500.
[0075] The loaders 610a, 610b, 610c-610n can operate sequentially after the aforementioned controllers 410a, 410b, 410c-410n have been executed. For example, the first loader 610a can operate sequentially after the first controller 410a has been executed, and the sequential operation of the first controller 410a and the first loader 610a may result in the first raw data group 310a of the raw data storage 300 being stored in the database 700 as the first stored data group 710a after a series of operations.
[0076] Since the loaders 610a, 610b, 610c-610n operate in sequence with the aforementioned controllers 410a, 410b, 410c-410n, the copy data groups that each loader 610a, 610b, 610c-610n processes may be predetermined.
[0077] For example, the copy data group processed by the first loader 610a may be the first copy data group 510a, which is a copy data group stored in the buffer storage 500 by the first controller 410a.
[0078] According to the embodiment, if a controller fails to select a raw data group or fails to store a copy data group corresponding to a raw data group, the loader corresponding to the failed controller does not need to operate.
[0079] Database 700 can refer to a collection of stored data that is managed in an integrated manner, and it allows for the structured management of the stored data. The database 700 can store multiple data storage groups 710a, 710b, 710c to 710n, and these data storage groups 710a, 710b, 710c to 710n can handle raw data that is processed in real time from the raw data storage 300.
[0080] The data processing device 10 can efficiently utilize raw data by processing and analyzing the raw data that is input to the raw data storage 300 in real time and storing the results.
[0081] Furthermore, the data processing device 10 disclosed in the present invention can process raw data input via a timing control unit 400, controllers 410a, 410b, 410c~410n, monitor unit 600, and loaders 610a, 610b, 610c~610n in real time, and can process all data without any data loss.
[0082] Furthermore, the data processing device 10 disclosed in the present invention can prevent duplicate processing by ensuring that the same raw data is processed only once, thereby improving the efficiency of raw data processing.
[0083] Figure 3 is a diagram illustrating the operation method of a data processing device according to one embodiment disclosed in this document. For the sake of clarity, we will omit any content that overlaps with what was explained in Figure 2 above. Also, for the sake of clarity, we will omit some of the components of the data processing device 10.
[0084] The timing control unit 400 can execute the first controller 410a to process the raw data stored in the raw data storage 300 (S100). The timing control unit 400 can send a trigger signal to execute the first controller 410a. According to the embodiment, the trigger signal may include information about the raw data group selected by the first controller 410a.
[0085] The first controller 410a can select the first raw data group 310a from the raw data storage 300 (S200). The first controller 410a can select any raw data stored in the raw data storage 300 as the first raw data group 310a.
[0086] The first controller 410a can store the first copy data group 510a corresponding to the selected first raw data group 310a in the buffer storage 500 (S300). The first controller 410a can generate first time information, which is information regarding the generation time of the first copy data group 510a, and match the first copy data group 510a with the first time information and store it in the buffer storage 500.
[0087] After storing the first copy data group 510a, the first controller 410a can delete the first raw data group 310a from the raw data storage 300 (S400).
[0088] After the first controller 410a stores the first copy data group 510a, it deletes the first raw data group 310a, thereby preventing the raw data from being processed redundantly by multiple controllers.
[0089] The first loader 610a can receive the first copy data group 510a from the buffer storage 500 (S500). Under normal operation, the first loader 610a can store the first storage data group 710a, which corresponds to the first copy data group 510a, in the database 700. However, due to an operational error of the first loader 610a, the first loader 610a may fail to store the first storage data group 710a in the database 700 (S600).
[0090] The monitor unit 600 can monitor the buffer storage 500 at a preset time interval and can confirm whether or not to process the first copy data group 510a in the buffer storage 500 (S700).
[0091] If the first loader 610a fails to store the first stored data group 710a, the first copy data group 510a does not need to be deleted from the buffer storage 500.
[0092] Since the first copy data group 510a is stored in a match with the first time information, the monitor unit 600 can compare the first time information with the reference time information and determine whether or not to process the first copy data group 510a. According to the embodiment, if there is a difference of more than a threshold time between the first time information and the reference time information, the monitor unit 600 can determine that a processing error has occurred in the first copy data group 510a.
[0093] When the monitoring unit 600 confirms that a processing error has occurred in the first copy data group 510a, it can receive the first copy data group 510a from the buffer storage 500 and store the first storage data group 710a corresponding to the first copy data group 510a in the database 700 (S800).
[0094] Subsequently, the monitor unit 600 can delete the first copy data group 510a from the buffer storage 500 (S900). By including the monitor unit 600, the data processing device 10 can store data without any loss of stored data groups, even if the loader (e.g., 610a) does not operate properly.
[0095] The first controller 410a and the first loader 610a can operate continuously. The timing control unit 400 can execute the second controller 410b when the first controller 410a deletes the first raw data group 310a (S400) (S1000).
[0096] The timing control unit 400 can send a trigger signal to the second controller 410b, and the trigger signal may include information about the raw data group selected by the second controller 410b.
[0097] The timing control unit 400 adjusts the timing so that controllers 410a, 410b, and 410c operate sequentially, thereby preventing overlapping raw data groups to be processed and enabling real-time, distributed processing of the raw data.
[0098] If the second controller 410b is operating normally, it can select the second raw data group 310b as the target for processing. However, if an error occurs in the second controller 410b and it fails to select the second raw data group 310b as the target for processing (S1100), the timing control unit 400 can execute the third controller 410c (S1200). The timing control unit 400 can execute the third controller 410c based on the trigger signal.
[0099] In another embodiment, if the second controller 410b selects the second raw data group 310b as the processing target, but is unable to store the second copy data group 510b corresponding to the second raw data group 310b in the buffer storage 500, the timing control unit 400 can execute the third controller 410c.
[0100] The timing control unit 400 can determine whether an error has occurred in the second controller 410b based on whether the second raw data group 310b can be deleted. In other words, if the second raw data group 310b is not deleted, the timing control unit 400 can determine that an error has occurred in the second controller 410b and execute the third controller 410c.
[0101] The timing control unit 400 can check whether an error has occurred in the second controller 410b and transmit information about the raw data group 310b that the second controller 410b failed to process to the third controller 410c via a trigger signal.
[0102] Since the second loader 610b operates immediately after the second controller 410b has been executed, if the second controller 410b fails to select the second load data group, the second loader 610b does not need to operate.
[0103] The third controller 410c can select the third-first raw data group 310c' from the raw data storage 300 (S1300). According to the embodiment, the third-first raw data group 310c' selected by the third controller 410c may include raw data that the second controller 410b could not select (raw data included in the second raw data group 310b). Furthermore, the third-first raw data group 310c' may include the third raw data group 310c that the third controller 410c would have originally selected. By having the third controller 410c select the third-first raw data group 310c', processing errors in raw data can be prevented.
[0104] The third controller 410c can store the third-first copy data group 510c' corresponding to the third-first raw data group 310c' in the buffer storage 500 (S1400).
[0105] The third controller 410c can delete the third-first raw data group 310c' from the raw data storage 300 after storing the third-first copy data group 510c' in the buffer storage 500 (S1500).
[0106] The third loader 610c can receive the third-first copy data group 510c' (S1600). The third loader 610c can store the third-first storage data group 710c' corresponding to the received third-first copy data group 510c' in the database 700 (S1700).
[0107] The third loader 610c can store the third-first storage data group 710c' in the database 700 and delete the third-first copy data group 510c' from the buffer storage 500.
[0108] Figure 4 is a block diagram showing the hardware configuration of a computing system for performing a data processing device and its operation method according to one embodiment disclosed in this document.
[0109] Referring to Figure 4, the computing system 1000 according to one embodiment disclosed in this document may include an MCU (Microcontroller unit) 1010, memory 1020, input / output interface 1030, and communication interface 1040.
[0110] The MCU1010 can execute various programs stored in memory 1020 (for example, relay control programs included in the battery pack, and programs for collecting voltage, current, temperature, internal resistance, impedance, and charge / discharge cycles of the battery module). The MCU1010 can also execute programs for data processing, and such data may be battery data.
[0111] According to the embodiment, the MCU1010 may be a processor that performs the functions of the battery management system 180 shown in Figure 1, or a processor that performs the functions of the higher-level controller 200, or a processor that performs the functions of the data processing device 10 shown in Figure 2. More specifically, the MCU1010 may be a processor that performs the functions of the timing control unit 400, controller (e.g., 410a), monitor unit 600, or loader (e.g., 610a) shown in Figure 2.
[0112] Memory 1020 can store various programs related to battery data collection and data processing. Multiple such memories 1020 may be provided as needed. Memory 1020 may be volatile memory or non-volatile memory. As volatile memory, RAM, DRAM, SRAM, etc., may be used for memory 1020. As non-volatile memory, ROM, PROM, EAROM, EPROM, EEPROM, flash memory, etc., may be used for memory 1020. The examples of memory 1020 listed above are merely illustrative and are not limiting. According to the embodiment, the memory 1020 may be included in the raw data storage 300, buffer storage 500, or database 700 in Figure 2.
[0113] The input / output interface 1030 can provide an interface that connects input devices (not shown), such as keyboards, mice, and touch panels, with output devices (not shown), such as displays, and the MCU 1010, enabling data transmission and reception.
[0114] The communication interface 1040 is configured to send and receive various types of data with the server and may be various devices that support wired or wireless communication. For example, the raw data storage 300 can send and receive processed data to a separately provided external server via the communication interface 1040. In addition, the raw data storage 300 can send and receive battery data from the higher-level controller 200 via the communication interface 1040.
[0115] Thus, the computer program according to one embodiment disclosed in this document may be recorded in memory 1020 and processed by MCU 1010 to be implemented as a module that performs, for example, the functions shown in Figures 1 and 2.
[0116] The above description is merely illustrative of the technical concept disclosed in this document, and any person with ordinary skill in the art to which the embodiments disclosed in this document belong can make various modifications and variations without departing from the essential characteristics of the embodiments disclosed in this document.
[0117] Therefore, the embodiments disclosed herein are for illustrative purposes only, not to limit, the technical ideas disclosed herein, and such embodiments do not limit the scope of the technical ideas disclosed herein. The scope of protection for the technical ideas disclosed herein must be interpreted according to the claims described below, and all technical ideas within an equivalent scope should be interpreted as being included in the scope of rights of this document.
Claims
1. A first controller selects a first raw data group from raw data storage, stores a first copy data group corresponding to the first raw data group in buffer storage, and deletes the first raw data group from the raw data storage once the first copy data group is stored in the buffer storage. A first loader receives the first copy data group from the buffer storage, stores the first stored data group corresponding to the first copy data group in a database, and deletes the first copy data group from the buffer storage once the first stored data group is stored in the database. A monitoring unit that monitors the buffer storage and determines whether or not to process the first copy data group, A data processing device, including a data processing device.
2. If the first loader fails to store the first stored data group corresponding to the first copy data group in the database, the monitor unit receives the first copy data group from the buffer storage, stores the first stored data group corresponding to the first copy data group in the database, and deletes the first copy data group from the buffer storage when the first stored data group is stored in the database, the data processing apparatus according to claim 1.
3. The data processing apparatus according to claim 1, further comprising a second controller that selects a second raw data group from the raw data storage, stores a second copy data group corresponding to the selected second raw data group in the buffer storage, and deletes the second raw data group from the raw data storage when the second copy data group is stored in the buffer storage.
4. The data processing apparatus according to claim 3, further comprising a timing control unit that executes the second controller when the first controller deletes the first raw data group of the raw data storage.
5. The data processing apparatus according to claim 3, comprising a second loader that receives the second copy data group from the buffer storage, stores a second stored data group corresponding to the second copy data group in the database, and deletes the second copy data group from the buffer storage when the second stored data group is stored in the database.
6. If the first controller is unable to select the first raw data group, The data processing apparatus according to claim 3, comprising a timing control unit that executes the second controller.
7. The data processing apparatus according to claim 6, wherein the second raw data group selected by the second controller includes raw data that the first controller could not select.
8. The data processing apparatus according to claim 1, wherein the first controller matches the first copy data group with first time information which is information relating to the generation time of the first copy data group and stores it.
9. The data processing device according to claim 8, wherein the monitoring unit compares the first time information with the reference time information to determine whether or not to process the first copy data group.
10. The steps include selecting the first raw data group from the raw data storage, The steps include storing a first copy data group corresponding to the first raw data group in buffer storage, When the first copy data group is stored in the buffer storage, the first raw data group is deleted from the raw data storage. The steps include storing the first stored data group corresponding to the first copy data group in a database, When the first stored data group is stored in the database, the first copy data group in the buffer storage is deleted. A method of operating a data processing device, including the operation of the data processing device.
11. The operation method of the data processing apparatus according to claim 10, further comprising the step of the monitoring unit monitoring the buffer storage and determining whether or not to process the first copy data group.
12. The method of operating the data processing apparatus according to claim 11, further comprising the step of matching the first copy data group with first time information which is information relating to the generation time of the first copy data group and storing it.
13. The step of determining whether or not to process the first copy data group is: The operation method of the data processing device according to claim 12, further comprising the step of the monitoring unit comparing the first time information with reference time information to determine whether or not to process the first copy data group.
14. If the first loader is unable to store the first stored data group corresponding to the first copy data group in the database, The monitoring unit determines that a processing error has occurred in the first copy data group, The monitoring unit receives the first copy data group from the buffer storage, The monitoring unit stores the first stored data group corresponding to the first copy data group in the database. A method for operating a data processing apparatus according to claim 11, comprising the step of deleting the first copy data group of the buffer storage.
15. When the first controller deletes the first raw data group in the raw data storage, the timing control unit executes the second controller. The second controller selects a second raw data group from the raw data storage, The second controller stores a second copy data group corresponding to the selected second raw data group in the buffer storage, The second controller deletes the second raw data group of the raw data storage, The second loader receives the second copy data group from the buffer storage, The second loader stores a second storage data group corresponding to the second copy data group in the database, A method of operating a data processing device according to claim 10, further comprising the step of the second loader deleting the second copy data group of the buffer storage.
16. If the first controller is unable to select the first raw data group, the timing control unit executes the second controller. A method for operating a data processing apparatus according to claim 10, comprising the step of the second controller selecting a second raw data group from the raw data storage that includes raw data that the first controller could not select.
17. A computer program, when executed by the processor of the data processing device, for the data processing device to execute the operation method of the data processing device according to any one of claims 10 to 16.
Citation Information
Patent Citations
Data processor, data processing method, and program
JP2006065702A
Information processing apparatus, image forming apparatus, and information processing method
JP2015049579A
Memory high-speed copy equipment and a method
KR1020080022606A
Data collection system for wind turbine data
US20190155235A1