IP Library › Granted Patent US 11,423,012
Granted Patent B2
US 11,423,012 · App. 15/931,071 · Granted Aug 23, 2022

Electronic device for prohibiting loss of data in database and method for operating the same

Inventors: Hyeeun Jun (Suwon-si, KR); Kiwon Song (Suwon-si, KR); Kisung Lee (Suwon-si, KR); Woojoong Lee (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F16/2379G06F11/1464G06F16/178G06F2201/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,423,012
App. No.
15/931,071
Granted
Aug 23, 2022
Kind
B2
Abstract

An electronic device and a method for operating the electronic device are provided. The electronic device includes a first memory, a second memory configured to store therein journal data including an operation result of a transaction for data in the database and metadata, and at least processor configured to detect an occurrence of the transaction, identify characteristics of a database system to which the data corresponding to the transaction belongs and characteristics of a file system, determine whether to create a thread for synchronizing the metadata stored in the second memory with the first memory based on the characteristics of the file system and the characteristics of the database system, and synchronize the metadata with the first memory using the created thread corresponding to identifying that the transaction of the data satisfies a condition related to a degree of change of time of the data.

Claims (58)

1. An electronic device comprising:

a first memory configured to store a database therein;

a second memory configured to store therein journal data including an operation result of a transaction for data in the database and metadata including address information of the data that is a target of the transaction; and

at least one processor configured to:

detect an occurrence of the transaction,

identify attributes of a database system to which the data corresponding to the transaction belongs and attributes of a file system in which the database system is implemented in response to the detection of the occurrence of the transaction,

determine whether to create a thread for synchronizing the metadata stored in the second memory with the first memory based on the attributes of the file system and the attributes of the database system, and

synchronize the metadata with the first memory using the created thread in response to identifying that the transaction of the data satisfies a condition related to a degree of change of the data in the database or a condition related to a change time of the data in the database,

wherein the attributes of the database system comprise an attribute indicating whether a signal for synchronizing the metadata with the database is created corresponding to the occurrence of the transaction, and

wherein the at least one processor is further configured to determine to create the thread corresponding to identifying that the file system does not correspond to a file system periodically synchronizing the journal data or the metadata with the first memory and the database system is a database system having attributes that the signal for synchronizing the metadata is not created.

2. The electronic device of claim 1 , wherein the first memory includes a nonvolatile memory, and the second memory includes a volatile memory.

3. The electronic device of claim 1 , wherein the attributes of the database system comprise a journaling type of the database system or a synchronization type of the database system.

4. The electronic device of claim 3 ,

wherein the at least one processor is further configured to determine to create the thread corresponding to identifying that the journaling type of the database system is set to a write ahead logging (WAL) mode, and

wherein the synchronization type of the database system is set to a normal mode.

5. The electronic device of claim 1 , wherein the at least one processor is further configured to update the journal data and the metadata stored in the second memory based on the operation result of the transaction.

6. The electronic device of claim 1 , wherein the at least one processor is further configured to:

update the journal data so as to reflect the operation result of the transaction stored in the second memory corresponding to the occurrence of the transaction,

store the journal data and the metadata in the first memory, and

update the database based on the journal data and the metadata stored in the first memory.

7. The electronic device of claim 1 ,

wherein the condition related to the degree of the change of the data comprises a condition on which a number of updated pages among pages included in the database is equal to or larger than a predetermined value, and

wherein the at least one processor is further configured to store the journal data or the metadata in the first memory corresponding to identifying that the number of updated pages is equal to or larger than the predetermined value.

8. The electronic device of claim 1 ,

wherein the condition related to the degree of the change of the data comprises a condition on which a number of occurrences of the transaction is equal to or larger than a predetermined value, and

wherein the at least one processor is further configured to store the journal data or the metadata in the first memory corresponding to identifying that the number of occurrences of the transaction is equal to or larger than the predetermined value.

9. The electronic device of claim 1 , wherein the at least one processor is further configured to:

activate a timer for indicating whether a predetermined time has elapsed since creation of the thread, and

store the journal data or the metadata in the first memory corresponding to identifying that the predetermined time has elapsed.

10. The electronic device of claim 9 , wherein the at least one processor is further configured to:

correct a file of the operation result corresponding to detection of a creation of another transaction while the timer is activated, and

reset the timer corresponding to a completion of the correction of the file of the operation result.

11. A method for operating an electronic device, the method comprising:

detecting an occurrence of a transaction for data in a database stored in a first memory;

identifying attributes of a database system to which the data corresponding to the transaction belongs and a file system in which the database system is implemented in response to the detection of the occurrence of the transaction;

determining whether to create a thread for synchronizing, with the first memory, journal data including an operation result of the transaction stored in a second memory and metadata including address information of the data that is a target of the transaction based on the attributes of the file system and the database system; and

synchronizing the journal data or the metadata with the first memory using the created thread in response to identifying that the transaction of the data satisfies a condition related to a degree of change of the data in the database or a condition related to a change time of the data in the database,

wherein the attributes of the database system comprise an attribute indicating whether a signal for synchronizing the metadata with the database is created corresponding to the occurrence of the transaction, and

wherein the method is further comprises determining to create the thread corresponding to identifying that the file system does not correspond to a file system periodically synchronizing the journal data or the metadata with the first memory and the database system is a database system having attributes that the signal for synchronizing the metadata is not created.

12. The method of claim 11 , wherein the first memory includes a nonvolatile memory, and the second memory includes a volatile memory.

13. The method of claim 11 , wherein the attributes of the database system comprise a journaling type of the database system or a synchronization type of the database system.

14. The method of claim 11 , further comprising updating the journal data and the metadata based on the operation result of the transaction.

15. The method of claim 11 , further comprising:

updating the journal data so as to reflect the operation result of the transaction corresponding to the occurrence of the transaction;

synchronizing the journal data and the metadata using the created thread; and

updating the database based on the journal data and the metadata synchronized with the first memory.

16. The method of claim 11 ,

wherein the condition related to the degree of the change of the data includes a condition on which a number of updated pages among pages included in the database is equal to or larger than a predetermined value, and

wherein the synchronizing of the journal data or the metadata comprises synchronizing the journal data or the metadata with the first memory corresponding to identifying that the number of updated pages is equal to or larger than the predetermined value.

17. The method of claim 11 ,

wherein the condition related to the degree of the change of the data includes a condition on which a number of occurrences of the transaction is equal to or larger than a predetermined value, and

wherein the synchronizing of the journal data or the metadata comprises synchronizing the journal data or the metadata with the first memory corresponding to identifying that the number of occurrences of the transaction is equal to or larger than the predetermined value.

18. The method of claim 11 ,

wherein the condition related to the degree of the change of the data includes a condition on which a predetermined time set by a timer has elapsed since creation of the thread, and

wherein the synchronizing of the journal data or the metadata comprises synchronizing the journal data or the metadata with the first memory corresponding to identifying that the predetermined time has elapsed.

19. The method of claim 18 , further comprising:

inactivating the timer corresponding to detection of a creation of another transaction while the timer is activated; and

resetting the timer corresponding to a completion of the other transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2020
From: JUN, HYEEUN; SONG, KIWON; LEE, KISUNG; LEE, WOOJOONG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 052652/0114 →
Priority Claims (1)
KR 10-2019-0095323 · Aug 6, 2019 · national
Continuity (1)
Related Publication 20210042293A1 · Feb 11, 2021