Battery data processing device and method of operating the same

The data processing device for electric vehicle batteries manages raw data through controllers and loaders to prevent overlap and ensure complete data transfer, addressing battery deterioration issues and enhancing processing efficiency and safety.

JP2025534970AActive Publication Date: 2025-10-22LG ENERGY SOLUTION LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025516266
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-26
Filing Date
2023-09-22
Publication Date
2025-10-22
Estimated Expiration
2043-09-22

AI Technical Summary

Technical Problem

Batteries installed in electric vehicles deteriorate with repeated charging and discharging, leading to capacity and resistance loss, and varying lifespan, necessitating a method for quick battery condition diagnosis and data processing to prevent safety issues.

Method used

A data processing device that includes controllers, loaders, and a monitor unit to manage raw data storage, buffer storage, and database, ensuring efficient data processing by adjusting execution timing, preventing data overlap, and monitoring buffer storage to ensure complete data transfer.

Benefits of technology

The device prevents data overlap and ensures complete data processing, improving efficiency and safety by handling battery data effectively, even in the presence of errors, and maintaining real-time data processing without loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025534970000001_ABST
    Figure 2025534970000001_ABST
Patent Text Reader

Abstract

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 a 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 monitor unit that monitors the buffer storage and determines whether to process the first copy data group.
Need to check novelty before this filing date? Find Prior Art

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 contents disclosed in the documents of this Korean patent application are incorporated herein by reference.

[0002] SUMMARY OF THE INVENTION The embodiments disclosed herein relate to an apparatus for processing battery data and a method of operation thereof. [Background technology]

[0003] In recent years, research and development into secondary batteries has been actively pursued. Here, secondary batteries are batteries that can be charged and discharged, and include both conventional Ni / Cd batteries, Ni / MH batteries, and more recent lithium-ion batteries. Among secondary batteries, lithium-ion batteries have the advantage of having a much higher energy density than conventional Ni / Cd batteries, Ni / MH batteries, and other batteries. Furthermore, because lithium-ion batteries can be manufactured to be compact and lightweight, they are used as power sources for mobile devices. In recent years, their range of use has expanded to include power sources for electric vehicles, and they are attracting attention as a next-generation energy storage medium.

[0004] Batteries installed in electric vehicles tend to deteriorate as they are repeatedly charged and discharged. For example, the capacity and resistance of batteries installed in electric vehicles may deteriorate as they are repeatedly charged and discharged to operate the electric vehicle, and the remaining lifespan of the batteries may decrease. Furthermore, the degree of battery deterioration and remaining lifespan may vary depending on the operating conditions of the electric vehicle.

[0005] If the remaining life of a battery suddenly decreases, safety issues may arise during use of the electric vehicle. Therefore, a method for quickly processing data on the battery installed in the electric vehicle and diagnosing the battery condition is required. Summary of the Invention [Problem to be solved by the invention]

[0006] It is an object of the embodiments disclosed herein to provide a raw data processing apparatus and method of operation thereof.

[0007] One objective of the embodiments disclosed in this document is to provide an apparatus and an operating method thereof for storing copy data corresponding to raw data stored in a raw data storage in a buffer storage and storing 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 the technical problems mentioned above, and other technical problems not mentioned will 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 a 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 monitor unit that monitors the buffer storage and determines whether to process the first copy data group.

[0010] According to one embodiment, if the first loader is unable 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 and stores the first stored data group corresponding to the first copy data group in the database, and when 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 is stored in the buffer storage.

[0012] According to an 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 from 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 when the second stored data group is stored in the database.

[0014] According to an embodiment, the data processing device may include a timing control unit that executes the second controller if the first controller fails to select the first raw data group.

[0015] According to an embodiment, the second raw data group selected by the second controller may include raw data that the first controller was unable to select.

[0016] According to an embodiment, the first controller may match the first copy data group with first time information, which is information about a creation time of the first copy data group, and store the first copy data group.

[0017] According to an embodiment, the monitor unit may compare the first time information with reference time information to determine whether to process the first copy data group.

[0018] Another embodiment of a method for operating a data processing device 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 a buffer storage, deleting the first raw data group from the raw data storage when the first copy data group is 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 when the first copy data group is stored in the database.

[0019] According to another embodiment, the method for operating a data processing device may further include a step of a monitor monitoring the buffer storage to determine whether to process the first copy data group.

[0020] According to yet another embodiment, the method for operating a data processing device may further include a step of matching and storing the first copy data group with first time information, which is information regarding the generation time of the first copy data group.

[0021] According to yet another embodiment, the step of determining whether to process the first copy data group may include a step of the monitor comparing the first time information with reference time information to determine whether to process the first copy data group.

[0022] According to yet another embodiment, the method may include the steps of: if the first loader is unable to store the first stored data group corresponding to the first copy data group in the database, the monitor unit determining that a processing error occurred for the first copy data group; the monitor unit receiving the first copy data group from the buffer storage; the monitor unit storing the first stored data group corresponding to the first copy data group in the database; and deleting the first copy data group from the buffer storage.

[0023] According to yet another embodiment, a method for operating a data processing device may further include the steps of: when a first controller deletes the first raw data group from the raw data storage, a timing control unit executes a 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 from the raw data storage; a second loader receives the second copy data group from the buffer storage; the second loader stores a second stored data group corresponding to the second copy data group in the database; and the second loader deletes the second copy data group from the buffer storage.

[0024] According to yet another embodiment, a method for operating a data processing device may include a step in which, if the first controller is unable to select the first raw data group, the timing control unit executes the second controller, and the second controller selects from the raw data storage a second raw data group including the raw data that the first controller was unable to select. [Effects of the Invention]

[0025] A data processing device according to an embodiment disclosed in this document can prevent overlapping processing of raw data by adjusting the execution timing of a controller that processes raw data via a timing control unit.

[0026] In one embodiment of the data processing device disclosed in this document, if selection of raw data fails, the next controller to be executed processes the raw data, thereby preventing the raw data from being missed during processing.

[0027] A data processing device according to one embodiment disclosed in this document can monitor buffer storage via a monitor unit to determine whether or not to process copy data, thereby preventing copy data from being missed. In addition, this document can provide various other benefits that can be perceived directly or indirectly. [Brief explanation of the drawings]

[0028] [Figure 1] FIG. 1 is a block diagram showing the configuration of a typical battery pack. [Figure 2] 1 is a block diagram of a data processing apparatus according to one embodiment disclosed herein; [Figure 3] 1 is a diagram illustrating an operation method of a data processing device according to an embodiment disclosed in this document. [Figure 4] 1 is a block diagram showing the hardware configuration of a computing system for performing a data processing device and an operating method thereof according to an embodiment disclosed herein; DETAILED DESCRIPTION OF THE INVENTION

[0029] Hereinafter, the embodiments disclosed herein will be described in detail with reference to exemplary drawings. When assigning reference numerals to components in each drawing, it should be noted that the same reference numerals are assigned to the same components when they appear in other drawings as much as possible. Furthermore, when describing the embodiments disclosed herein, if a detailed description of related known structures or functions is deemed to hinder understanding of the embodiments disclosed herein, such detailed description will be omitted.

[0030] In describing components of the embodiments disclosed herein, terms such as first, second, A, B, (a), (b), etc. may be used. Such terms are merely used to distinguish the component from other components and do not limit the nature, order, or sequence of the components. Furthermore, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly 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 the context of the relevant art, and should not be interpreted in an idealized or overly formal sense unless expressly defined in this application.

[0031] FIG. 1 is a block diagram showing the configuration of a typical battery pack. Referring to FIG. 1, a battery control system including a battery pack 100 according to an embodiment of the present invention and a host controller 200 included in the host system is schematically shown.

[0032] 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 (+) terminal side or (-) terminal side of the battery module 120 for controlling the flow of charge / discharge current of the battery module 120, and a battery management system 180 (e.g., an RBMS) for controlling and managing the battery pack 100 to prevent overcharging and overdischarging, and for monitoring data related to the battery module 120. In this case, the battery pack 100 may be provided with a plurality of 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, impedance, etc. of the battery module 120 and transmit the sensed values ​​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 be, for example, at least one relay, electromagnetic contactor, or the like, depending on the specifications of the battery pack 100.

[0035] The battery management system 180 is an interface that receives input of measured values ​​of the various parameters described above, and may include a plurality of terminals and circuits connected to the terminals for processing the received input values. The battery management system 180 may also control the ON / OFF of the switching unit 160, such as a relay or contactor, and may be connected to the battery modules 120 to monitor the status of each battery module 120.

[0036] The upper controller 200 can transmit a control signal to the battery pack 100 via the battery management system 180. The operation of the battery management system 180 may be controlled based on the signal provided from the upper controller 200.

[0037] According to one embodiment, the battery pack 100 and the upper controller 200 may be installed in a vehicle, and the battery management system 180 may receive data such as the voltage, current, temperature, internal resistance, impedance, and charge / discharge count of the battery module 120 from the sensor 140.

[0038] Data such as the voltage, current, temperature, internal resistance, impedance, and number of charge / discharge cycles of the battery module 120 may be data that serves as a basis for determining the status information of the battery pack 100 included in the vehicle. Therefore, data such as the voltage, current, temperature, internal resistance, impedance, and number of charge / discharge cycles of the battery module 120 can be referred to as battery data.

[0039] The battery management system 180 transmits the battery data to the upper controller 200, and the upper 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 the present data processing device.

[0040] According to the embodiment, the battery pack 100 may include a plurality of battery modules 120, and when a plurality of battery modules 120 is included, a plurality of raw data may be output from one battery pack 100.

[0041] The battery pack 100 may be mounted in a vehicle that is actually driven and subjected to charge and discharge cycles, or may be experimentally subjected to charge and discharge cycles under experimental driving conditions that are 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 may output data such as voltage, current, temperature, internal resistance, impedance, and number of charge / discharge cycles, and when experimental charge and discharge cycles are performed under experimental driving conditions, data such as voltage, current, temperature, internal resistance, impedance, and number of charge / discharge cycles may be output from the battery module 120 as raw data.

[0043] According to an 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, the actual charge / discharge cycle of the battery, etc.

[0044] The preset driving conditions for generating the experimental life index may include, for example, a vehicle acceleration driving condition, a quick charge condition, a city driving condition, a long-distance driving condition, etc. In addition, the preset driving conditions may reflect the environment in which the vehicle is driven, the type of vehicle, the charge / discharge cycle, etc. In other words, the preset driving conditions may refer to exemplary driving scenario conditions including the vehicle behavior and the vehicle operating environment.

[0045] FIG. 2 is a block diagram of a data processing device according to one embodiment disclosed herein. The data processing device 10 includes a raw data storage 300 that accepts input of raw data, a scheduler 400 that determines execution timings of a plurality of controllers 410a, 410b, 410c to 410n, a plurality of controllers 410a, 410b, 410c to 410n that select raw data groups 310a, 310b, 310c to 310n from the raw data storage 300 and store copy data groups (e.g., 510a) corresponding to the selected raw data groups (e.g., 310a) in a buffer storage 500, and a scheduler 400 that determines execution timings of a plurality of controllers 410a, 410b, 410c to 410n that select raw data groups 310a, 310b, 310c to 310n from the raw data storage 300 and store copy data groups (e.g., 510a) corresponding to the selected raw data groups (e.g., 310a) in a buffer storage 500. The system may include a buffer storage 500 that temporarily stores 510b, 510c to 510n, a monitor unit 600 that monitors the buffer storage 500 and checks whether to process a copy data group (e.g., 510a), a plurality of loaders 610a, 610b, 610c to 610n that receive the copy data group (e.g., 510a) and store a storage data group (e.g., 710a) corresponding to the copy data group 510a in the database 700, and the database 700 that stores 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 an external server.

[0047] According to an embodiment, a device that transmits raw data to the raw data storage 300 may be referred to as a data source, and the data source may input raw data in real time to the raw data storage 300. 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 a plurality of 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 through a series of processing operations. The raw data sizes included in the respective raw data groups 310a, 310b, 310c to 310n may differ from one another.

[0049] In other words, the controllers 410a, 410b, 410c to 410n can divide the raw data contained in the raw data storage 300 into a plurality of raw data groups 310a, 310b, 310c to 310n.

[0050] The timing control section 400 controls the execution timing of the controllers 410a, 410b, 410c to 410n, thereby determining the processing timing for any raw data group (for example, 310a).

[0051] The timing control unit 400 can adjust the execution timing of the controllers 410a, 410b, 410c to 410n so that the controllers 410a, 410b, 410c to 410n are executed sequentially. The timing control unit 400 can transmit a trigger signal for executing the controllers 410a, 410b, 410c to 410n, and according to an embodiment, the trigger signal can include information about a raw data group to be selected by the controllers 410a, 410b, 410c to 410n.

[0052] For example, the timing control unit 400 can adjust the timing so that the second controller 410b operates when the first controller 410a selects a first raw data group 310a to be processed from the raw data storage 300, stores a 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 controls the controllers 410a, 410b, 410c to 410n to be executed sequentially, so that the raw data can be distributed and processed for each raw data group.

[0054] In addition, the timing control unit 400 stores information regarding raw data selection by the controllers 410a, 410b, 410c to 410n, and can transmit information regarding raw data that could not be processed by a controller due to an error to other controllers.

[0055] The operation timing of the controllers 410a, 410b, 410c to 410n may be determined according to the computing power of the data processing device 10.

[0056] The higher the calculation performance of the data processing device 10, the shorter the operation timing intervals between the controllers 410a, 410b, 410c to 410n can be. In other words, the higher the calculation performance of the data processing device 10, the more the real-time capability of the data processing device 10 can be improved.

[0057] When the calculation performance is constant, the smaller the data size of the raw data groups 310a, 310b, 310c to 310n processed by the controllers 410a, 410b, 410c to 410n, the more the real-time performance of the data processing device 10 can be improved.

[0058] The data processing device 10 may include a preset number of controllers 410a, 410b, 410c to 410n, and each controller (e.g., 410a) may 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, whose corresponding copy data group (e.g., 510a) is stored in the buffer storage 500, from the raw data storage 300. This can prevent duplicate processing of raw data.

[0060] According to an embodiment, if an error occurs, such as when 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 corresponding raw data group may not be deleted. In this case, the timing control unit 400 may execute another controller (e.g., 410b). The timing control unit 400 may transmit information about the raw data that cannot be processed by the controller 410a where the error occurred to the other controller 410b so that the other controller 410b can select a raw data group including the raw data that the controller 410a where the error occurred could not select.

[0061] The buffer storage 500 may be a storage that temporarily stores the copy data groups 510a, 510b, 510c to 510n. According to an embodiment, the buffer storage 500 may be a storage device including a volatile or non-volatile memory.

[0062] The buffer storage 500 may be a physical storage that stores raw data in the form of a temporary copy data when the data is being moved from the raw data storage 300 to the database 700 .

[0063] The copy data groups 510a, 510b, 510c to 510n stored in the buffer storage 500 can correspond to the raw data groups 310a, 310b, 310c to 310n, respectively.

[0064] The controllers 410a, 410b, 410c to 410n can match the copy data groups 510a, 510b, 510c to 510n with information relating to the creation times of the copy data groups 510a, 510b, 510c to 510n and store the information in the buffer storage 500.

[0065] The information about the generation time of the copy data groups 510a, 510b, 510c to 510n may have a unit of milliseconds, and according to an embodiment, the information about the generation time may be stored in a separate storage space within the buffer storage 500.

[0066] For example, information relating to the creation time of the first copy data group 510a may be referred to as first time information, and information relating to the creation time of the nth copy data group 510n may be referred to as nth time information (n is an integer equal to or greater than 1).

[0067] The monitor unit 600 monitors the buffer storage 500 and can determine whether or not to process each of the copy data groups 510a, 510b, 510c to 510n.

[0068] The copy data groups 510a, 510b, 510c to 510n may be processed by loaders 610a, 610b, 610c to 610n. The monitor unit 600 monitors the buffer storage 500 at preset time intervals and can check time information of the copy data groups 510a, 510b, 510c to 510n stored in the buffer storage 500.

[0069] The monitor unit 600 can compare the time information of the copy data groups 510a, 510b, 510c, 510d, 510e, 510f, 510g, 510h, 510i, 510j, 510i ...

[0070] If the difference between the time information of the copy data groups 510a, 510b, 510c to 510n and the reference time information is equal to or greater than a preset threshold time, the monitor unit 600 can determine that a processing omission has occurred for the copy data group having time information that differs from the reference time information by equal to or greater than the threshold time. According to an embodiment, the threshold time can be set based on the average time required to process the copy data groups 510a, 510b, 510c to 510n.

[0071] For example, if the first loader 610a is unable to store the first stored data group 710a corresponding to the first copy data group 510a in the database 700, it can be said that a processing omission has occurred for the first copy data group 510a.

[0072] Since the first copy data group 510a that has been omitted from processing 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 between the first time information and the reference time information that is greater than or equal to the threshold time.

[0073] The monitor unit 600 can receive the first copy data group 510a in which a processing omission occurred from the buffer storage 500, and store a first stored data group 710a corresponding to the received first copy data group 510a in the database 700. When the corresponding first stored data group 710a is stored in the database 700, the monitor unit 600 can delete the first copy data group 510a from the buffer storage 500.

[0074] The loaders 610a, 610b, 610c to 610n can receive the copy data groups 510a, 510b, 510c to 510n stored in the buffer storage 500, respectively, store the stored data groups 710a, 710b, 710c to 710n corresponding to the received copy data groups in the database 700, and delete the copy data groups 510a, 510b, 510c to 510n stored in the buffer storage 500.

[0075] The loaders 610a, 610b, 610c to 610n may operate continuously after the aforementioned controllers 410a, 410b, 410c to 410n are executed. For example, the first loader 610a may operate continuously after the first controller 410a is executed. As the first controller 410a and the first loader 610a operate continuously, the first raw data group 310a in the raw data storage 300 may be stored in the database 700 as a first stored data group 710a through a series of operations.

[0076] Since the loaders 610a, 610b, 610c to 610n operate continuously with the above-mentioned controllers 410a, 410b, 410c to 410n, the copy data groups that each loader 610a, 610b, 610c to 610n processes may be determined in advance.

[0077] For example, the copy data group processed by the first loader 610a may be the first copy data group 510a, which is stored in the buffer storage 500 by the first controller 410a.

[0078] According to an 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 may not operate.

[0079] The database 700 may refer to a set of stored data that is managed in an integrated manner, and the stored data can be managed in a structured manner. The database 700 can store a plurality of stored data groups 710a, 710b, 710c to 710n, which can correspond to raw data that is distributed and processed in real time from the raw data storage 300.

[0080] The data processing device 10 processes and analyzes raw data input in real time to the raw data storage 300 and stores the results, thereby enabling efficient use of the raw data.

[0081] Furthermore, the data processing device 10 disclosed in the present invention processes raw data input via the timing control unit 400, the controllers 410a, 410b, 410c to 410n, the monitor unit 600, and the loaders 610a, 610b, 610c to 610n in real time, and can process all the data without any data loss.

[0082] Furthermore, the data processing device 10 disclosed in the present invention prevents duplicate processing by processing the same raw data only once, thereby improving the efficiency of raw data processing.

[0083] FIG. 3 is a diagram for explaining an operation method of a data processing device according to an embodiment disclosed in this document. For the sake of convenience, the description will be omitted for the sake of simplicity, and some of the components included in the data processing device 10 will be omitted for the sake of simplicity.

[0084] The timing control unit 400 may execute the first controller 410a to process the raw data stored in the raw data storage 300 (S100). The timing control unit 400 may send a trigger signal to execute the first controller 410a. According to an embodiment, the trigger signal may include information regarding a raw data group to be selected by the first controller 410a.

[0085] The first controller 410a can select a 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 about the generation time of the first copy data group 510a, match the first copy data group 510a with the first time information, and store the first copy data group 510a 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, the first raw data group 310a is deleted, thereby preventing duplicate processing of raw data by multiple controllers.

[0089] The first loader 610a can receive the first copy data group 510a from the buffer storage 500 (S500). During normal operation, the first loader 610a can store a first stored data group 710a corresponding to the first copy data group 510a in the database 700. However, an operational error in the first loader 610a may cause the first loader 610a to fail to store the first stored data group 710a in the database 700 (S600).

[0090] The monitor unit 600 can monitor the buffer storage 500 at a preset time period and can check 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 may not be deleted from the buffer storage 500.

[0092] Since the first copy data group 510a is stored by matching with the first time information, the monitor unit 600 can compare the first time information with the reference time information to determine whether to process the first copy data group 510a. According to an embodiment, the monitor unit 600 can determine that the first copy data group 510a has not been processed if there is a difference between the first time information and the reference time information that is equal to or greater than a threshold time.

[0093] When the monitor unit 600 confirms that the first copy data group 510a has not been processed, it receives the first copy data group 510a from the buffer storage 500 and stores the first stored data group 710a corresponding to the first copy data group 510a in the database 700 (S800).

[0094] Thereafter, the monitor unit 600 can delete the first copy data group 510a from the buffer storage 500 (S900). By providing the monitor unit 600, the data processing device 10 can store data without missing any stored data groups even if the loader (for example, 610a) does not operate normally.

[0095] The first controller 410a and the first loader 610a can operate continuously. When the first controller 410a deletes the first raw data group 310a (S400), the timing control unit 400 can execute the second controller 410b (S1000).

[0096] The timing control section 400 can send a trigger signal to the second controller 410b, and the trigger signal can include information about the raw data group that the second controller 410b selects.

[0097] The timing control unit 400 adjusts the timing so that the controllers 410a, 410b, and 410c operate sequentially, thereby preventing overlapping of raw data groups to be processed and controlling the raw data to be distributed and processed in real time.

[0098] When the second controller 410b operates normally, the second controller 410b can select the second raw data group 310b as the processing target. However, if an error occurs in the second controller 410b and the second controller 410b fails to select the second raw data group 310b as the processing target (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 has been deleted. In other words, if the second raw data group 310b has not been 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] The second loader 610b runs continuously after the second controller 410b is executed, so if the second controller 410b fails to select the second raw data group, the second loader 610b does not need to run.

[0103] The third controller 410c can select the 3-1st raw data group 310c' from the raw data storage 300 (S1300). According to the embodiment, the 3-1 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). Also, the 3-1 raw data group 310c' may include the third raw data group 310c that the third controller 410c would have originally selected. The third controller 410c selects the 3-1 raw data group 310c', thereby preventing the raw data from being left unprocessed.

[0104] The third controller 410c can store the 3-1 copy data group 510c' corresponding to the 3-1 raw data group 310c' in the buffer storage 500 (S1400).

[0105] After storing the 3-1 copy data group 510c' in the buffer storage 500, the third controller 410c can delete the 3-1 raw data group 310c' from the raw data storage 300 (S1500).

[0106] The third loader 610c can receive the 3-1 copy data group 510c' (S1600). The third loader 610c can store the 3-1 stored data group 710c' corresponding to the received 3-1 copied data group 510c' in the database 700 (S1700).

[0107] The third loader 610c can store the third-1 stored data group 710c′ in the database 700 and delete the third-1 copied data group 510c′ in the buffer storage 500.

[0108] FIG. 4 is a block diagram showing the hardware configuration of a computing system for performing a data processing device and an operating method thereof according to an embodiment disclosed herein.

[0109] Referring to FIG. 4, a computing system 1000 according to one embodiment disclosed herein may include a microcontroller unit (MCU) 1010, a memory 1020, an input / output I / F 1030, and a communication I / F 1040.

[0110] The MCU 1010 can execute various programs (e.g., a relay control program included in the battery pack, a program for collecting the voltage, current, temperature, internal resistance, impedance, and number of charge / discharge cycles of the battery module, etc.) stored in the memory 1020. The MCU 1010 can also execute a program for processing data, and the data may be battery data.

[0111] According to an embodiment, the MCU 1010 may be a processor that performs the functions of the battery management system 180 shown in Fig. 1 or the upper controller 200, or may be a processor that performs the functions of the data processing device 10 shown in Fig. 2. More specifically, the MCU 1010 may be a processor that performs the functions of the timing control unit 400, the controller (e.g., 410a), the monitor unit 600, or the loader (e.g., 610a) shown in Fig. 2.

[0112] The memory 1020 can store various programs related to battery data collection and data processing. Multiple such memories 1020 may be provided as needed. The memory 1020 may be a volatile memory or a non-volatile memory. The volatile memory 1020 may be a RAM, a DRAM, an SRAM, or the like. The non-volatile memory 1020 may be a ROM, a PROM, an EAROM, an EPROM, an EEPROM, a flash memory, or the like. The examples of the memory 1020 listed above are merely illustrative and are not intended to be limiting. According to an embodiment, the memory 1020 may be included in the raw data storage 300, the buffer storage 500, or the database 700 of FIG. 2 .

[0113] The input / output I / F 1030 can provide an interface that connects input devices (not shown) such as a keyboard, mouse, or touch panel, and output devices such as a display (not shown), to the MCU 1010, enabling data to be sent and received.

[0114] The communication I / F 1040 is configured to be able to transmit and receive various data to and from a server, and may be any device capable of supporting wired or wireless communication. For example, the raw data storage 300 can transmit and receive processed data to and from a separately provided external server via the communication I / F 1040. The raw data storage 300 can also transmit and receive battery data from the upper controller 200 via the communication I / F 1040.

[0115] In this way, a computer program according to one embodiment disclosed in this document may be recorded in memory 1020 and processed by MCU 1010 to be realized, for example, as a module that performs each function shown in Figures 1 and 2.

[0116] The above description is merely an illustrative example of the technical ideas disclosed in this document, and various modifications and variations are possible within the scope of those skilled in the art to which the embodiments disclosed in this document pertain without departing from the essential characteristics of the embodiments disclosed in this document.

[0117] Therefore, the embodiments disclosed in this document are intended to illustrate, not limit, the technical ideas disclosed in this document, and such embodiments do not limit the scope of the technical ideas disclosed in this document. The scope of protection of the technical ideas disclosed in this document should be interpreted according to the claims below, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of rights of this document.

Claims

1. a first controller that selects a first raw data group from a raw data storage, stores a first copy data group corresponding to the first raw data group in a 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; a monitor unit that monitors the buffer storage and determines whether to process the first copy data group; a data processing device comprising:

2. 2. The data processing device according to claim 1, wherein, when the first loader is unable 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.

3. 2. 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 once the second copy data group has been stored in the buffer storage.

4. 4. The data processing apparatus according to claim 3, further comprising a timing control unit that executes said second controller when said first controller deletes said first raw data group from said raw data storage.

5. 4. The data processing apparatus according to claim 3, further 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 once the second stored data group has been stored in the database.

6. If the first controller fails to select the first raw data group, 4. The data processing apparatus according to claim 3, further comprising a timing control section that executes said second controller.

7. 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 was unable to select.

8. 2. The data processing apparatus according to claim 1, wherein said first controller stores said first copy data group in a manner matching said first time information, which is information relating to a creation time of said first copy data group.

9. 9. The data processing device according to claim 8, wherein said monitor section compares said first time information with reference time information to determine whether or not to process said first copy data group.

10. selecting a first group of raw data from the raw data storage; storing a first copy data group corresponding to the first raw data group in a 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; deleting the first copy data group from the buffer storage once the first stored data group is stored in the database; A method of operating a data processing apparatus, comprising:

11. 11. The method for operating a data processing device according to claim 10, further comprising the step of: a monitor unit monitoring the buffer storage to determine whether or not to process the first copy data group.

12. 12. The method of claim 11, further comprising the step of matching the first copy data group with first time information, which is information about a generation time of the first copy data group, and storing the first copy data group.

13. The step of determining whether to process the first copy data group includes:

13. The method for operating a data processing device according to claim 12, further comprising the step of: said monitor unit comparing said first time information with reference time information to determine whether or not to process said 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, a step of the monitor unit determining that a processing omission of the first copy data group has occurred; the monitor unit receiving the first copy data group from the buffer storage; storing the first stored data group corresponding to the first copy data group in the database by the monitor unit; The method of claim 11 , further comprising the step of: deleting said first copy data group from said buffer storage.

15. When the first controller deletes the first raw data group from the raw data storage, a timing control unit executes 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; a 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; 11. The method of claim 10, further comprising the step of: said second loader deleting said second copy data group from said buffer storage.

16. If the first controller fails to select the first raw data group, a timing control unit executes the second controller; The method of claim 10, further comprising the step of: said second controller selecting from said raw data storage a second raw data group including raw data that said first controller was unable to select.

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