Method, device, and program product for backing up data in an internet of things
By managing IoT devices through the IoT Device Manager and generating backup data packages, the problem of low data backup efficiency in the IoT is solved, and efficient and secure data backup is achieved.
Patent Information
- Application Number
- CN202110309476.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-23
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2041-06-14
AI Technical Summary
Existing technologies struggle to efficiently back up data from a large number of IoT devices, especially considering the sheer number of devices, limited processing power, data privacy concerns, high collection frequency, complex working environments, diversity, and multiple data transmission protocols, making it difficult to port existing backup technologies.
An IoT device manager is introduced to manage IoT devices through a registration mechanism, generate backup data packages, verify the legitimacy of the data source using a signature public key, and centrally manage the data in the form of backup data packages, thereby reducing the complexity of backup operations.
It enables efficient centralized backup of IoT device data, improves backup efficiency, ensures data security and integrity, and simplifies backup operations.
Smart Images

Figure CN115114082B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Implementations of the present disclosure relate to the Internet of Things (IoT), and more particularly, to a method, device and computer program product for backing up data in the Internet of Things. BACKGROUND
[0002] With the development of computer technology, the Internet of Things system has been involved in more and more fields. For example, in an Internet of Things system such as a factory monitoring system, Internet of Things devices can be deployed at various positions in the production line of a factory in order to collect various device parameters and / or image data, etc. For another example, in an Internet of Things system such as a traffic management system, Internet of Things devices can be deployed at various positions in a road environment in order to collect traffic state data at various positions. As the Internet of Things system operates, more and more data can be collected. At this time, how to back up data in the Internet of Things with higher performance, and thus improve the security and reliability of the entire Internet of Things, becomes a technical problem. SUMMARY
[0003] Therefore, it is desirable to develop and implement a technical solution for backing up data in the Internet of Things in a more effective manner. It is desirable that the technical solution can back up various data in the Internet of Things in a more convenient and effective manner.
[0004] According to a first aspect of the present disclosure, a method for backing up data in the Internet of Things is provided. In the method, in response to receiving a registration request for registering an Internet of Things device in a plurality of Internet of Things devices with an Internet of Things manager, a signature public key is received from the Internet of Things device. Atomic data associated with the Internet of Things device is received, the atomic data including a signature generated using a signature private key corresponding to the signature public key. The signature is verified based on the signature public key. In response to the signature being verified, backup data packets for backup are generated based on the atomic data.
[0005] According to a second aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; a volatile memory; and a memory coupled with the at least one processor, the memory having stored therein instructions that, when executed by the at least one processor, cause the device to perform the method according to the first aspect of the present disclosure.
[0006] According to a third aspect of the present disclosure, a computer program product is provided, the computer program product being tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions for performing the method according to the first aspect of the present disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0007] The features, advantages, and other aspects of the present disclosure will become more apparent from the following detailed description in conjunction with the accompanying drawings, in which several implementations of the present disclosure are illustrated, by way of example, not limitation. In the drawings:
[0008] Figure 1 a block diagram illustrating an Internet of Things environment in which one example implementation according to the present disclosure can be implemented is schematically illustrated;
[0009] Figure 2 a block diagram illustrating a process for backing up data in an Internet of Things according to an example implementation of the present disclosure is schematically illustrated;
[0010] Figure 3 a flow diagram illustrating a method for backing up data in an Internet of Things according to an example implementation of the present disclosure is schematically illustrated;
[0011] Figure 4 a block diagram illustrating a process for registering an Internet of Things device with an Internet of Things device manager according to an example implementation of the present disclosure is schematically illustrated;
[0012] Figure 5 a block diagram illustrating a data structure for an Internet of Things atomic data for backup according to an example implementation of the present disclosure is schematically illustrated;
[0013] Figure 6 a block diagram illustrating a process for transmitting Internet of Things atomic data according to an example implementation of the present disclosure is schematically illustrated;
[0014] Figure 7 a block diagram illustrating a data structure for a backup data packet according to an example implementation of the present disclosure is schematically illustrated;
[0015] Figure 8 a block diagram illustrating a process for uploading data from an Internet of Things device to an Internet of Things device manager according to an example implementation of the present disclosure is schematically illustrated;
[0016] Figure 9 a block diagram illustrating a process for downloading data from an Internet of Things device manager to an Internet of Things device according to an example implementation of the present disclosure is schematically illustrated; and
[0017] Figure 10 a block diagram illustrating a device for backing up data in an Internet of Things according to an example implementation of the present disclosure is schematically illustrated. DETAILED DESCRIPTION
[0018] Preferred implementations of the present disclosure will be described herein below with reference to the accompanying drawings. While the preferred implementations of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be limited by the implementations set forth herein. Rather, these implementations are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.
[0019] The term "includes" and its variants are used inclusively herein and mean "includes but is not limited to." The term "or" means "and / or" unless otherwise specifically indicated. The term "based on" means "based, at least in part, on." The terms "one example implementation" and "an implementation" mean "at least one example implementation." The term "another implementation" means "at least one additional implementation." The terms "first," "second," and the like can refer to different or the same objects. Other explicitly and implicitly recited definitions can also be included below.
[0020] Referring initially to Figure 1 An example of an Internet of Things environment is described, Figure 1 A block diagram 100 of an Internet of Things environment in which one example implementation according to the present disclosure can be implemented is schematically shown. As Figure 1 As shown, the Internet of Things can include multiple Internet of Things devices, and the multiple Internet of Things devices can be connected to different Internet of Things device managers. For example, Internet of Things devices 122, 124, 126, and 128 can be connected to Internet of Things device manager 120, Internet of Things devices 132, and 134 can be connected to Internet of Things device manager 130, and Internet of Things devices 142, and 144 can be connected to Internet of Things device manager 140.
[0021] In different Internet of Things environments, the Internet of Things devices can be of different types and used to collect different types of data. For example, in a factory monitoring system, image collection devices, video collection devices, temperature collection devices, humidity collection devices, and the like can be respectively deployed at various locations of a production line. In a traffic management system, image collection devices, speed collection devices, and the like can be deployed along a road. The Internet of Things devices typically only have small storage space and processing capability, and need to constantly transmit the collected data to a data center of the Internet of Things (e.g., located in the Internet of Things or located in the Internet 110). Each Internet of Things device can transmit the collected data to the connected Internet of Things device manager. For example, Internet of Things devices 132, and 134 can transmit the collected data to Internet of Things device manager 130.
[0022] In order to ensure that data from various Internet of Things devices can be recorded completely, backup can be performed on raw data collected. Alternatively and / or additionally, configuration information or other information of the Internet of Things devices can be backed up on a regular basis. Currently, backup technical solutions based on a client-server structure have been provided. However, the number of Internet of Things devices in the Internet of Things is huge and the processing capability is limited, and it is difficult to deploy a backup client at each Internet of Things device. In addition, Internet of Things data usually involves private information, has a high collection frequency, involves a complex working environment, has extensive data diversity, and supports multiple data transmission protocols. Therefore, it is difficult to transplant existing data backup technical solutions to the Internet of Things environment.
[0023] In order to solve the above-mentioned defects, the implementation manners of the present disclosure provide a technical solution for backing up data in the Internet of Things. Specifically, a registration mechanism is proposed, and one or more Internet of Things devices can be registered to an Internet of Things device manager so as to manage, by the Internet of Things device manager, backup of data from the registered one or more Internet of Things devices. Further, it is proposed to use a backup data packet as a basic unit of data backup. Here, the backup data packet is generated based on data to be backed up from one or more Internet of Things devices.
[0024] With the example implementation manners of the present disclosure, data collected by a large number of Internet of Things devices in an Internet of Things system can be encapsulated into a backup data packet. In this way, a large number of Internet of Things devices can be managed in a more concentrated manner without the need to perform backup operations on each Internet of Things device one by one. Using the technical solution according to one example implementation manner of the present disclosure, the complexity of the backup operation can be reduced, thereby improving the backup efficiency.
[0025] In the following, reference is made to Figure 2 The process according to one example implementation manner of the present disclosure is described generally. Figure 2 A block diagram 200 of a process for backing up data in the Internet of Things according to an example implementation manner of the present disclosure is schematically shown. A plurality of Internet of Things devices in an Internet of Things system can be registered to an Internet of Things device manager. As Figure 2 shown, Internet of Things devices 122, 124, 126, and 128 in the Internet of Things system can be registered to an Internet of Things device manager 120. Similarly, other multiple Internet of Things devices can be registered to other Internet of Things device managers 130 and 140, respectively. At this time, each Internet of Things device manager can manage data from the registered Internet of Things devices in a centralized manner and generate a backup data packet based on the received data.
[0026] In the following, reference is made to Figure 3 more details are described. Figure 3A flowchart of a method 300 for backing up data in an Internet of Things, according to an example implementation of the present disclosure, is schematically illustrated. According to one example implementation of the present disclosure, the method 300 can be performed by an Internet of Things device manager in an Internet of Things system. In this way, the Internet of Things device manager can manage data to be backed up from a large number of Internet of Things devices in a more centralized manner.
[0027] At Figure 3 At block 310, in response to receiving a registration request to register an Internet of Things device 122 of a plurality of Internet of Things devices with the Internet of Things manager, a signature public key is received from the Internet of Things device 122. According to one example implementation of the present disclosure, it can be specified by an administrator of the Internet of Things system which Internet of Things device manager an Internet of Things device is registered with. For example, the registration relationship can be set according to a network topology of the various devices in the Internet of Things system.
[0028] According to one example implementation of the present disclosure, each Internet of Things device can generate its own signature key pair (e.g., a signature public key and a signature private key). Here, the signature private key can be used by the Internet of Things device itself, and can be used to sign data from itself in order to prove the legitimacy of the source of the data. The Internet of Things device 122 can send the signature public key to the corresponding Internet of Things device manager 120 in order for the Internet of Things device manager 120 to verify whether the received data to be backed up is from the expected Internet of Things device.
[0029] In the following, reference will be made to Figure 4 Further details regarding registration will be described. Figure 4 A block diagram of a process 400 for registering an Internet of Things device 122 with an Internet of Things device manager 120, according to an example implementation of the present disclosure, is schematically illustrated. As Figure 4 shown, the Internet of Things device manager 120 can receive 410 a registration request. According to one example implementation of the present disclosure, the source of the registration request is not limited, but can come from an administrator of the Internet of Things system, a backup server of the Internet of Things system, or from other devices. After receiving the registration request, the Internet of Things device manager 120 can generate 412 an encryption key pair. In turn, the Internet of Things device manager 120 can locally retain 414 the encryption private key, and send the encryption public key 416 to the Internet of Things device 122.
[0030] After receiving 418 the encryption public key, the Internet of Things device 122 can generate 420 a signature key pair (e.g., a signature public key and a signature private key). The Internet of Things device 122 can locally retain 422 the signature private key, and send the signature public key 424 to the Internet of Things device manager 120. The Internet of Things device manager 120 can receive 426 the signature public key, and the registration process is complete 428. It will be appreciated that the above has been described with reference toFigure 4 Registration of the IoT device 122 to the IoT device manager 120 is described. When the IoT system includes multiple IoT device managers and multiple IoT devices, the registration relationship between the IoT device managers and the IoT devices can be determined based on the network topology of the IoT. In turn, each IoT device can be registered to the corresponding IoT device manager in a similar manner.
[0031] In the following, we return to Figure 3 More details are described regarding receiving data to be backed up from the IoT device. In Figure 3 At block 320, atomic data associated with the IoT device 122 is received, the atomic data including a signature generated with a signature private key corresponding to a signature public key. In the following, we refer to Figure 5 The data structure of the atomic data is described. Figure 5 A block diagram 500 of the data structure of the IoT atomic data for backup according to an example implementation of the present disclosure is schematically shown. As Figure 5 The atomic data 510 can include one or more of the following fields: a device ID 512, a timestamp 514, encrypted data 516, and a signature 518.
[0032] Here, the device ID 512 represents an identifier of the IoT device as the data source. The timestamp 514 represents relevant time information of the original data collected. It will be appreciated that the original data here can include data (e.g., images, etc.) collected by the IoT device 122, or can include configuration information of the IoT device 122 itself. The encrypted data 516 represents data obtained after the original data collected is encrypted. The signature 518 represents a signature for the device ID, the timestamp 514, and the encrypted data 516. The signature 518 can be generated by the IoT device 122 using a signature private key, and the signature 518 can be used to verify whether the atomic data 510 is really from the IoT device 122.
[0033] According to one example implementation of the present disclosure, the encryption public key and the encryption private key can be generated by the IoT device manager 120. Here, the IoT device manager 120 can send the encryption public key to the IoT devices (e.g., the IoT device 122) registered to the IoT device manager 120 managed. After receiving the encryption public key, the IoT device 122 can use the encryption public key to encrypt the original data collected, so as to generate the encrypted data 516.
[0034] According to one example implementation of the disclosure, different encryption key pairs can be generated for each IoT device in order to ensure the security of data transmission. According to one example implementation of the disclosure, the encrypted data 516 in the atomic data 510 is only decryptable for the device with the associated key, in this way, the data security during the transmission and storage of the atomic data 510 can be ensured.
[0035] According to one example implementation of the disclosure, each IoT device in the IoT system can generate the corresponding atomic data for each raw data collected in the format as shown in Figure 5 According to one example implementation of the disclosure, the IoT device manager 120 can receive the atomic data 510 from the IoT device 122 via the connection 610. The IoT device manager 120 can receive the atomic data 510 from the IoT device 122 via the connection 610 in a variety of ways. For example, the IoT device manager 120 can receive the atomic data 510 from the IoT device 122 via the connection 610 in a push manner, in a pull manner, or in a combination of the push manner and the pull manner.
[0036] According to one example implementation of the disclosure, the atomic data 510 can be received based on a variety of ways. In the following, more details about receiving the atomic data 510 will be described with reference to Figure 6 Figure 6 A block diagram of a process 600 for transmitting IoT atomic data according to an example implementation of the disclosure is schematically shown. As shown in Figure 6 The IoT device manager 120 and the IoT device 122 are coupled to each other via a connection (e.g., a WAN connection, a LAN connection, or other connection). If the working status of the connection 610 is normal, the IoT device manager 120 and the IoT device 122 can communicate with each other. At this time, the IoT device manager 120 can receive the atomic data 510 directly from the IoT device 122.
[0037] According to one example implementation of the disclosure, an internal connection can be provided between multiple IoT devices registered to the same IoT device manager 120 in order to forward data via other IoT devices when a certain IoT device cannot connect to the IoT device manager 120. If the working status of the connection 610 is abnormal, the IoT device manager 120 and the IoT device 122 cannot communicate with each other. At this time, the IoT device manager 120 can receive the atomic data 510 via other IoT devices (e.g., the IoT device 124). As shown in Figure 6 As shown, the IoT device 122 is coupled to the IoT device 124 via a connection 620. At this point, the IoT device 124 can be utilized to forward the atomic data 510 from the IoT device 122 to the IoT device manager 120 via the connections 620 and 630. In the context of the present disclosure, the connection 620 can be of different types, and based on the settings of the IoT system, the connection 620 can be based on any of the following: Bluetooth technology, short-range communication technology, and Zigbee technology, etc.
[0038] In the following, we will return to Figure 3 A process of verifying the source of the atomic data 510 is described. In Figure 3 At block 330, the signature is verified based on the signature public key. Here, the IoT device manager 120 can utilize the signature public key from the IoT device 122 to verify whether the signature 518 in the received atomic data 510 is legitimate. If the IoT device manager 120 determines that the signature 518 cannot match the signature public key, it is considered that the received atomic data 510 is not from the expected IoT device 122. At this point, it can be considered that the IoT system can be under attack, and thus an alarm can be issued to prompt the administrator of the IoT system to take security measures in time. If the IoT device manager 120 determines that the signature 518 matches the signature public key, it is considered that the received atomic data 510 is truly data from the IoT device 122. In turn, a backup operation can be performed based on the received atomic data 510.
[0039] Continuing to refer to Figure 3 At block 340, in response to the signature 518 being verified, a backup data packet for backup is generated based on the atomic data 510. In the following, more details about the backup data packet are described with reference to Figure 7 Figure 7 A block diagram of a data structure 700 of a backup data packet according to an example implementation of the present disclosure is schematically shown. As the IoT system operates, the IoT device manager 120 can receive a large amount of atomic data from the same or different IoT devices at different time points. The backup data packet can be generated based on predetermined rules, for example, the number of atomic data in the backup data packet can be defined.
[0040] In particular, the IoT device manager 120 can receive the atomic data 712, 714, …, and 716. The received atomic data can be first stored in a cache at the IoT device manager 120, and when the atomic data in the cache reaches a predetermined number, a backup data package 710 can be generated based on the atomic data 712, 714, …, and 716. The IoT device manager 120 can continuously receive atomic data, and for example, another backup data package 720 can be generated based on the received atomic data 722, 724, …, and 726.
[0041] According to one example implementation of the present disclosure, the backup data package can be generated based on other rules. For example, the backup data package can be generated at a predetermined time interval (e.g., every hour, every day, etc.), the backup data package can be generated based on a generation request, etc. According to one example implementation of the present disclosure, a backup condition can be specified, and the generated backup data package can be stored to the backup device when the backup condition is met. For example, the backup condition can specify that the generated backup data package is stored to the backup device each time a backup data package is generated. For another example, the backup condition can specify that the generated backup data package is stored to the backup device when the generated data package reaches a predetermined number (e.g., 5 or other number). For yet another example, the backup condition can specify that the generated backup data package is stored to the backup device in response to a backup request, etc.
[0042] With the example implementation of the present disclosure, the backup data package is the minimum data unit for the backup operation. In this way, instead of backing up the massive data from a large number of IoT devices one by one, the data to be backed up can be encapsulated into a backup data package and a unified backup operation can be performed.
[0043] In the following, reference will be made to Figure 8 More details about the backup operation will be described. Figure 8 A block diagram of a process 800 for uploading data from the IoT device 122 to the IoT device manager 120 according to an example implementation of the present disclosure is schematically shown. As shown in Figure 8 As shown, the IoT device 122 can continuously collect 812 raw data. In turn, the IoT device 122 can encrypt and sign the collected raw data in the format shown to generate atomic data 510. The IoT device 122 can send 816 the atomic data to the IoT device manager 120. In particular, the IoT device 122 can send directly, or can forward via other IoT devices as proxies. Figure 5
[0044] The IoT device manager 120 can verify 818 the received atomic data 510. If the atomic data 510 passes the verification, the IoT device manager 120 can store 820 the atomic data 510 into a local cache for generating a backup data package. If a predetermined backup condition is satisfied 822, the backup data package can be stored 824 into a backup device. In this way, the IoT device manager 120 can backup data from a large number of IoT devices in a more simple and efficient way.
[0045] According to one example implementation of the disclosure, the backed up data can be retrieved from the backup server. In the following, see Figure 9 More details about retrieving the backup data are described. Figure 9 A block diagram of a process 900 for downloading data from the IoT device manager 120 to the IoT device 122 according to an example implementation of the disclosure is schematically shown. As shown in Figure 9 As shown, the IoT device 122 can send 910 a retrieval request to the IoT device manager 120.
[0046] According to one example implementation of the disclosure, the retrieval request can be sent based on various manners. For example, if the IoT device manager 120 is connected with the IoT device 122, the IoT device 122 can send the retrieval request directly to the IoT device manager 120 (in this case, the IoT device manager 120 receives the retrieval request directly from the IoT device 122). For another example, if the IoT device manager 120 is not connected with the IoT device 122, the IoT device 122 can forward the retrieval request to the IoT device manager 120 via other IoT devices (in this case, the IoT device manager 120 receives the retrieval request from the other IoT devices).
[0047] Here, the retrieval request can include a device ID and a timestamp related to the data to be retrieved. The IoT device manager 120 can receive 912 the retrieval request. If the IoT device manager 120 receives the retrieval request, the backup data associated with the retrieval request can be retrieved 914 from the backup device. For example, based on the device ID and the timestamp in the retrieval request, the corresponding backup data (i.e., atomic data) can be found in each atomic data in the plurality of backup data packages in the backup device. Then, the found atomic data can be decrypted 916 based on the encryption private key to generate decrypted data. Further, the IoT device manager 120 can send 918 the decrypted data to the IoT device 122. It will be appreciated that the data to be sent here is already decrypted data, and needs to be sent directly to the IoT device 122 to avoid data leakage.
[0048] According to one example implementation of the disclosure, the IoT device 122 can recover the previously backed up configuration information from the backup device. At this time, the IoT device 122 can receive the configuration information with the specified timestamp in order to be used for recovering 920 the IoT device 122 to the desired configuration version. With the example implementation of the disclosure, the desired backup data can be quickly found from the backup device, and in turn, the IoT device 122 can be recovered to the desired configuration.
[0049] In the foregoing, reference has been made Figures 2 to 9 Examples of the method according to the disclosure are described in detail, and implementations of the corresponding apparatus will be described hereinafter. According to an example implementation of the disclosure, there is provided an apparatus for backing up data in an IoT system. The IoT system includes an IoT manager and a plurality of IoT devices, and the apparatus includes: a signed public key receiving module configured to receive, from an IoT device, a signed public key in response to receiving a registration request to register the IoT device among the plurality of IoT devices with the IoT manager; an atomic data receiving module configured to receive atomic data associated with the IoT device, the atomic data including a signature generated with a signed private key corresponding to the signed public key; a verifying module configured to verify the signature based on the signed public key; and a generating module configured to generate, in response to the signature being verified, a backup data package for backup based on the atomic data. According to an example implementation of the disclosure, the apparatus further includes modules for performing other steps in the method 300 described above.
[0050] According to one example implementation of the disclosure, there is provided an electronic device, including: at least one processor; a volatile memory; and a memory coupled with the at least one processor, the memory having stored therein instructions that, when executed by the at least one processor, cause the device to perform a method for backing up data in an IoT system. The IoT system includes an IoT manager and a plurality of IoT devices, and the method includes: receiving, from an IoT device, a signed public key in response to receiving a registration request to register the IoT device among the plurality of IoT devices with the IoT manager; receiving atomic data associated with the IoT device, the atomic data including a signature generated with a signed private key corresponding to the signed public key; verifying the signature based on the signed public key; and generating, in response to the signature being verified, a backup data package for backup based on the atomic data.
[0051] According to one example implementation of the disclosure, the method further includes: generating an encryption public key and an encryption private key; and sending the encryption public key to the IoT device.
[0052] According to one example implementation of the disclosure, the atomic data further includes encryption data, the encryption data being obtained by encrypting original data from the IoT device with the encryption public key.
[0053] According to one example implementation of the disclosure, the encrypted data is generated by an Internet of Things device, and the atomic data further includes an identifier of the Internet of Things device and a timestamp corresponding to the raw data.
[0054] According to one example implementation of the disclosure, receiving the atomic data includes at least one of: receiving the atomic data from the Internet of Things device in response to determining that the Internet of Things device manager is connected with the Internet of Things device; and receiving the atomic data via another Internet of Things device connected with the Internet of Things device in response to determining that the Internet of Things device manager is not connected with the Internet of Things device.
[0055] According to one example implementation of the disclosure, the method further includes: in response to determining that the predetermined backup condition is satisfied, storing the backup data package to a backup device associated with the Internet of Things system.
[0056] According to one example implementation of the disclosure, the method further includes: in response to receiving a retrieval request for retrieving data associated with the Internet of Things device, obtaining, from the backup device, backup data associated with the retrieval request; decrypting the backup data based on the encryption private key to generate decrypted data; and sending the decrypted data to the Internet of Things device, the decrypted data being used to restore configuration information of the Internet of Things device.
[0057] According to one example implementation of the disclosure, receiving the retrieval request includes at least one of: receiving the retrieval request from the Internet of Things device in response to determining that the Internet of Things device manager is connected with the Internet of Things device; and receiving the retrieval request via another Internet of Things device connected with the Internet of Things device in response to determining that the Internet of Things device manager is not connected with the Internet of Things device.
[0058] According to one example implementation of the disclosure, the method further includes: in response to the atomic data not being verified, providing an alarm that the Internet of Things system is intruded.
[0059] According to one example implementation of the disclosure, the device is deployed at an Internet of Things device manager.
[0060] Figure 10A block diagram of a device 1000 for backing up data in the Internet of Things according to an example implementation of the present disclosure is shown schematically. As shown, the device 1000 includes a central processing unit (CPU) 1001, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 1002 or loaded into a random access memory (RAM) 1003 from a storage unit 1008. Various programs and data required by the device 1000 to operate can also be stored in the RAM 1003. The CPU 1001, the ROM 1002, and the RAM 1003 are connected to each other by a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.
[0061] A plurality of components in the device 1000 are connected to the I / O interface 1005, including an input unit 1006, e.g., a keyboard, a mouse, etc., an output unit 1007, e.g., various types of displays, speakers, etc., a storage unit 1008, e.g., a magnetic disk, a magneto-optical disk, etc., and a communication unit 1009, e.g., a network card, a modem, a wireless communication transceiver, etc. The communication unit 1009 allows the device 1000 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0062] The various processes and procedures described above, e.g., the method 300, can be performed by the processing unit 1001. For example, in some implementations, the method 300 can be implemented as a computer software program tangibly embodied in a machine-readable medium, e.g., the storage unit 1008. In some implementations, part or all of the computer program can be loaded and / or installed on the device 1000 via the ROM 1002 and / or the communication unit 1009. When the computer program is loaded into the RAM 1003 and executed by the CPU 1001, one or more steps of the method 300 described above can be performed. Alternatively, in other implementations, the CPU 1001 can also be configured in any other appropriate manner to implement the processes / methods described above.
[0063] According to an example implementation of the present disclosure, a computer program product is provided, the computer program product being tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions for performing a method according to the present disclosure.
[0064] According to an example implementation of the present disclosure, a computer readable medium is provided. The computer readable medium has stored thereon machine executable instructions, which when executed by at least one processor, cause the at least one processor to implement a method according to the present disclosure.
[0065] The present disclosure can be a method, apparatus, system, and / or computer program product. The computer program product can include a computer-readable storage medium (or media) having computer readable program instructions thereon for performing various aspects of the present disclosure.
[0066] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a
[0067] The computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0068] Computer readable program instructions for carrying out operations of the present disclosure can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some implementations, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
[0069] Various aspects of the present disclosure can be described in the general context of method steps and / or blocks and / or procedures and / or algorithms, some of which can be implemented in software, others of which can be implemented in hardware, and others of which can be implemented in both software and hardware. The methods, steps and / or blocks and / or procedures can be better appreciated with reference to the flow charts and / or block diagrams of the figures. It will be appreciated that any feature or combination of features could be implemented as a machine-readable medium having stored thereon computer readable program instructions, which when executed by a machine (e.g., a processor) cause the machine to perform functions of the various aspects of the present disclosure.
[0070] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0071] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0072] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0073] The above-described implementations of this disclosure are illustrative and not exhaustive, and are not limited to the disclosed implementations. Numerous modifications and adaptations will be apparent to those skilled in the art without departing from the scope and spirit of the disclosed implementations. The choice of words in this document is intended to best explain the principles of the implementations, practical application, or improvement over the technology in the art, or to enable others skilled in the art to understand the implementations disclosed herein.
Claims
1. A method for backing up data in an Internet of Things (IoT) system, the IoT system comprising an IoT manager and a plurality of IoT devices, the method comprising: in response to receiving a registration request to register an IoT device of the plurality of IoT devices with the IoT manager, receiving, by the IoT manager, a signing public key from the IoT device, and generating, by the IoT manager, an encryption public key and an encryption private key and sending the encryption public key to the IoT device; receiving, by the IoT manager, atomic data associated with the IoT device, the atomic data being generated by the IoT device and comprising: a device ID identifying the IoT device; a timestamp specifying a time at which raw data is collected from the IoT device; encryption data generated by encrypting the raw data using the encryption public key, wherein the encryption public key is obtained by the IoT device from the IoT manager; a signature generated using the device ID, the timestamp, the encryption data, and a signing private key corresponding to the signing public key, wherein the signing public key and the signing private key are generated by the IoT device after receiving the encryption public key; verifying the signature based on the signing public key; in response to the signature being verified, storing the received atomic data in a cache of the IoT manager; in response to the atomic data in the cache reaching a predetermined amount, generating a backup data package for backup based on the atomic data; in response to the generated backup data package reaching a predetermined number, storing the backup data package to a backup device associated with the IoT system; in response to receiving a retrieval request for retrieving data associated with the IoT device, obtaining, from the backup device, backup data associated with the retrieval request, wherein the backup data is encrypted by the IoT device using the encryption public key; and decrypting the backup data based on the encryption private key to generate decrypted data. 2.The method of claim 1, wherein receiving the atomic data comprises at least one of: in response to determining that the IoT manager is connected with the IoT device, receiving the atomic data from the IoT device; and in response to determining that the IoT manager is not connected with the IoT device, receiving the atomic data via another IoT device connected with the IoT device. 3.The method of claim 1, further comprising: sending the decrypted data to the IoT device, the decrypted data being used to restore configuration information of the IoT device. 4.The method of claim 1, wherein receiving the retrieval request comprises at least one of: in response to determining that the IoT manager is connected with the IoT device, receiving the retrieval request from the IoT device; and in response to determining that the IoT manager is not connected with the IoT device, receiving the retrieval request via another IoT device connected with the IoT device.
5. The method of claim 1, further comprising: in response to the atomic data not being verified, providing an alert that the Internet of Things system is compromised.
6. An electronic device, the electronic device being an Internet of Things manager and comprising: at least one processor; volatile memory; and memory coupled with the at least one processor, the memory having instructions stored therein that, when executed by the at least one processor, cause the device to perform a method for backing up data in an Internet of Things system, the Internet of Things system comprising the Internet of Things manager and a plurality of Internet of Things devices, the method comprising: in response to receiving a registration request to register an Internet of Things device of the plurality of Internet of Things devices with the Internet of Things manager, receiving a signed public key from the Internet of Things device and generating, by the Internet of Things manager, an encryption public key and an encryption private key and sending the encryption public key to the Internet of Things device; receiving atomic data associated with the Internet of Things device, wherein the atomic data comprises: a device ID that identifies the Internet of Things device; a timestamp that specifies a time at which raw data is collected from the Internet of Things device; encryption data generated by encrypting the raw data using the encryption public key, wherein the encryption public key is obtained by the Internet of Things device from the Internet of Things manager; a signature generated using the device ID, the timestamp, the encryption data, and a signature private key corresponding to the signed public key, wherein the signed public key and the signature private key are generated by the Internet of Things device after receiving the encryption public key; verifying the signature based on the signed public key; in response to the signature being verified, storing the received atomic data in a cache of the Internet of Things manager; in response to the atomic data in the cache reaching a predetermined amount, generating a backup data package for backup based on the atomic data; in response to the generated backup data package reaching a predetermined number, storing the backup data package to a backup device associated with the Internet of Things system; in response to receiving a retrieval request to retrieve data associated with the Internet of Things device, obtaining, from the backup device, backup data associated with the retrieval request, wherein the backup data is encrypted using the encryption public key by the Internet of Things device; and decrypting the backup data based on the encryption private key to generate decrypted data.
7. The electronic device of claim 6, wherein receiving the atomic data comprises at least either of: in response to determining that the Internet of Things manager is connected with the Internet of Things device, receiving the atomic data from the Internet of Things device; and in response to determining that the Internet of Things manager is not connected with the Internet of Things device, receiving the atomic data via another Internet of Things device that is connected with the Internet of Things device.
8. The electronic device of claim 6, wherein the method further comprises: sending the decrypted data to the Internet of Things device, the decrypted data being used to restore configuration information of the Internet of Things device.
9. The electronic device of claim 6, wherein receiving the retrieval request comprises at least either of: in response to determining that the IoT manager is connected with the IoT device, receiving the retrieval request from the IoT device; and in response to determining that the IoT manager is not connected with the IoT device, receiving the retrieval request via another IoT device that is connected with the IoT device.
10. The electronic device of claim 6, wherein the method further comprises: in response to the atomic data not being verified, providing an alert that the IoT system is compromised.
11. A computer program product tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions for performing a method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Networking method and device, Internet of Things (IoT) equipment, control terminal and storage medium
CN108737528A
Big data analysis method and system based on IoT (Internet of Things)
CN108830088A
Internet of Things equipment safety communication method and system
CN112332975A
Secure data exchange network
US20210067328A1