WO2022083158A1 - 数据处理的方法、实例以及系统 - Google Patents

数据处理的方法、实例以及系统 Download PDF

Info

Publication number
WO2022083158A1
WO2022083158A1 PCT/CN2021/101797 CN2021101797W WO2022083158A1 WO 2022083158 A1 WO2022083158 A1 WO 2022083158A1 CN 2021101797 W CN2021101797 W CN 2021101797W WO 2022083158 A1 WO2022083158 A1 WO 2022083158A1
Authority
WO
WIPO (PCT)
Prior art keywords
instance
file system
layer
overlay file
data
Prior art date
Application number
PCT/CN2021/101797
Other languages
English (en)
French (fr)
Inventor
南俊杰
侯昌华
潘麒安
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2022083158A1 publication Critical patent/WO2022083158A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Definitions

  • the present application relates to the technical field of data processing, and more particularly, to a method, an example and a system for data processing.
  • the Linux operating system is a free-to-use and freely disseminated UNIX-like operating system whose kernel was first released in 1991 by Linus Benadict Torvalds. It is mainly inspired by the ideas of Minix and Unix. It is a multi-user, multi-tasking, multi-threading and multi-central processing unit (CPU) based on Portable Operating System Interface (POSIX) and Unix. operating system.
  • POSIX Portable Operating System Interface
  • the program or configuration of the system itself will only perform read and write operations when the system is upgraded. Otherwise, it will always be a read-only operation and cannot be modified. Moreover, application data and user data can only be saved on one instance, and cannot be migrated to other instances following the user.
  • the present application provides a data processing method, an instance, and a computing device, which can implement a user's data following across instances.
  • a data processing method comprising: obtaining a first layer of a first overlay file system by a second instance, the first overlay file system is a file system of the first instance, and the first overlay file system is the file system of the first instance.
  • the overlay file system is deployed on the Linux system of the first instance; the second instance mounts the first layer of the first overlay file system to the second overlay file system, and the second overlay file system is the the file system of the second instance, and the second overlay file system is deployed on the Linux system of the second instance.
  • the second instance can obtain the first overlay file system of the first instance, and mount the first overlay file system to its own second overlay file system, so as to implement cross-instance tracking of user data.
  • the first layer of the first overlay file system is an upper layer
  • the second instance mounts the upper layer of the first overlay file system to the second overlay file system The lower layer.
  • the method further includes: when the user logs in to the second instance, triggering the second instance to acquire the first layer of the first overlay file system.
  • the method further includes: when the user restarts the second instance, triggering the second instance to acquire the first layer of the first overlay file system.
  • the first layer of the first overlay file system includes first data
  • the first data includes any one or more of the following: the user is in the first instance data stored on the first instance, applications created by the user on the first instance, and modifications made by the user to the system configuration of the first instance.
  • the method further includes: acquiring, by the second instance, data of the application layer uploaded by an administrator; and, by the second instance, mounting the application layer to the second overlay file
  • the lower layer of the system, the lower layer of the second overlay file system includes the data of the application layer.
  • a data processing method comprising: obtaining a first layer of a first overlay file system by a first instance, where the first overlay file system is the file system of the first instance, and the The first overlay file system is deployed on the Linux system of the first instance; the first instance mounts the first layer of the first overlay file system to the second layer of the first overlay file system.
  • the first layer is an upper layer
  • the second layer is a lower layer
  • the method further includes: the first instance saves the first data in the upper layer of the first overlay file system; the first instance uploads the first overlay file The upper layer of the system.
  • the first data includes any one or more of the following: data stored on the first instance by the user, data created by the user on the first instance Modifications made by the application, the user to the system configuration of the first instance.
  • a data processing device comprising:
  • an acquisition module used for example to acquire the first layer of the first overlay file system
  • the first overlay file system is the file system of the first instance
  • the first overlay file system is deployed in the Linux system of the first instance
  • a processing module configured to mount the first layer of the first overlay file system into a second overlay file system, where the second overlay file system is the file system of the second instance, and the second overlay file The system is deployed on the Linux system of the second instance.
  • the first layer of the first overlay file system is an upper layer
  • the processing module is specifically configured to: mount the upper layer of the first overlay file system to the second layer The lower layer of the overlay file system.
  • the obtaining module is specifically configured to: when logging into the second instance, trigger the second instance to obtain the first layer of the first overlay file system.
  • the obtaining module is specifically configured to: when the second instance is restarted, trigger the second instance to obtain the first layer of the first overlay file system.
  • the first layer of the first overlay file system includes first data, and the first data includes any one or more of the following: on the first instance Stored data, applications created on the first instance, modifications to the system configuration of the first instance.
  • the obtaining module is further configured to obtain application layer data uploaded by an administrator; the processing module is further configured to mount the application layer to the second overlay file
  • the lower layer of the system, the lower layer of the second overlay file system includes the data of the application layer.
  • a data processing device comprising:
  • an acquisition module configured to acquire the first layer of the first overlay file system, where the first overlay file system is the file system of the first instance, and the first overlay file system is deployed on the Linux system of the first instance ;
  • a processing module configured to mount the first layer of the first overlay file system to the second layer of the first overlay file system.
  • the first layer is an upper layer
  • the second layer is a lower layer
  • processing module is further configured to: save the first data in the upper layer of the first overlay file system; upload the first data to the upper layer of the first overlay file system.
  • the first data includes any one or more of the following: data stored on the first instance, an application program created on the first instance, an Modifications made to the system configuration of the first instance.
  • a second instance comprising: a processor and a memory, the processor executes the instructions in the memory, so that the instance executes any one of the first aspect or the first aspect. The method steps performed in the implementation of .
  • a second instance comprising: a processor and a memory, the processor executes instructions in the memory, so that the instance executes any one of the third aspect or the third aspect.
  • the implementation of the data processing apparatus comprising: a processor and a memory, the processor executes instructions in the memory, so that the instance executes any one of the third aspect or the third aspect.
  • a second instance comprising: a processor and a memory, wherein the processor executes instructions in the memory, so that the instance executes any one of the second aspect or the second aspect. The method steps performed in the implementation of .
  • a second instance comprising: a processor and a memory, wherein the processor executes instructions in the memory, so that the instance executes any one of the fourth aspect or the fourth aspect.
  • the implementation of the data processing apparatus comprising: a processor and a memory, wherein the processor executes instructions in the memory, so that the instance executes any one of the fourth aspect or the fourth aspect.
  • a computer-readable storage medium comprising instructions; the instructions are used to implement the method steps performed in the first aspect or any possible implementation manner of the first aspect.
  • the above-mentioned storage medium may specifically be a non-volatile storage medium.
  • a computer-readable storage medium including instructions; the instructions are used to implement the data processing apparatus in the third aspect or any possible implementation manner of the third aspect.
  • the above-mentioned storage medium may specifically be a non-volatile storage medium.
  • a computer-readable storage medium comprising instructions; the instructions are used to implement the method steps performed in the second aspect or any possible implementation manner of the second aspect.
  • the above-mentioned storage medium may specifically be a non-volatile storage medium.
  • a twelfth aspect provides a computer-readable storage medium, including instructions; the instructions are used to implement the apparatus for data processing in the fourth aspect or any possible implementation manner of the fourth aspect.
  • the above-mentioned storage medium may specifically be a non-volatile storage medium.
  • a thirteenth aspect provides a chip, which obtains an instruction and executes the instruction to implement the first aspect and the method in any one of the implementation manners of the first aspect.
  • the chip includes a processor and a data interface
  • the processor reads the instructions stored in the memory through the data interface, and executes the first aspect and any one of the implementation manners of the first aspect.
  • the chip may further include a memory, the memory stores an instruction, the processor is used to execute the instruction stored on the memory, and when the instruction is executed, the processor is used to execute the first.
  • a fourteenth aspect provides a chip, which obtains an instruction and executes the instruction to implement the second aspect and the method in any one of the implementation manners of the second aspect.
  • the chip includes a processor and a data interface
  • the processor reads the instructions stored on the memory through the data interface, and executes the second aspect and any one of the implementation manners of the second aspect.
  • the chip may further include a memory, the memory stores an instruction, the processor is used to execute the instruction stored on the memory, and when the instruction is executed, the processor is used to execute the second.
  • the memory stores an instruction
  • the processor is used to execute the instruction stored on the memory
  • the processor is used to execute the second.
  • a fifteenth aspect provides a chip, which obtains an instruction and executes the instruction to implement the third aspect and the apparatus for data processing in any implementation manner of the third aspect.
  • the chip includes a processor and a data interface
  • the processor reads the instructions stored on the memory through the data interface, and executes the third aspect and any one of the implementation manners of the third aspect. device for data processing.
  • the chip may further include a memory, where an instruction is stored, the processor is configured to execute the instruction stored on the memory, and when the instruction is executed, the processor is configured to execute the third The apparatus for data processing in any one of the aspect and the third aspect.
  • a sixteenth aspect provides a chip, which obtains an instruction and executes the instruction to implement the fourth aspect and the apparatus for data processing in any implementation manner of the fourth aspect.
  • the chip includes a processor and a data interface
  • the processor reads the instructions stored in the memory through the data interface, and executes the fourth aspect and any one of the implementation manners of the fourth aspect. device for data processing.
  • the chip may further include a memory, the memory stores an instruction, the processor is used to execute the instruction stored on the memory, and when the instruction is executed, the processor is used to execute the fourth.
  • a seventeenth aspect provides a system, including a first instance and a second instance, wherein the first instance deploys the data processing apparatus in the third aspect and any one of the implementation manners of the third aspect, and the second instance deploys According to the fourth aspect and any one of the implementation manners of the fourth aspect, the data processing apparatus.
  • FIG. 1 is a schematic diagram of a possible application scenario applicable to the embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of an instance 100 provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of another data processing method provided by an embodiment of the present application.
  • FIG. 5 is a schematic block diagram of an apparatus 400 for data processing provided by an embodiment of the present application.
  • FIG. 6 is a schematic block diagram of an apparatus 500 for data processing provided by an embodiment of the present application.
  • the network architecture and service scenarios described in the embodiments of the present application are for the purpose of illustrating the technical solutions of the embodiments of the present application more clearly, and do not constitute limitations on the technical solutions provided by the embodiments of the present application.
  • the evolution of the architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
  • references in this specification to "one embodiment” or “some embodiments” and the like mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application.
  • appearances of the phrases “in one embodiment,” “in some embodiments,” “in other embodiments,” “in other embodiments,” etc. in various places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless specifically emphasized otherwise.
  • the terms “including”, “including”, “having” and their variants mean “including but not limited to” unless specifically emphasized otherwise.
  • At least one means one or more, and “plurality” means two or more.
  • And/or which describes the relationship of the associated objects, means that there can be three relationships, for example, A and/or B, which can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • At least one (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • VM Virtual machine
  • a virtual machine refers to a complete computer system with complete hardware system functions simulated by software and running in a completely isolated environment. Anything that can be done in a physical computer can be done in a virtual machine.
  • CMOS complementary metal-oxide-semiconductor
  • Each virtual machine has an independent complementary metal-oxide-semiconductor (CMOS), hard disk and operating system, and can operate the virtual machine as if it were a physical machine.
  • CMOS complementary metal-oxide-semiconductor
  • Virtual machine technology is a kind of virtualization technology, the so-called virtualization technology is to change things from one form to another.
  • the memory in the operating system can be virtualized.
  • the memory space required by the user during actual operation may be much larger than the memory size of the physical machine.
  • the user can virtualize a part of the hard disk into memory. It is transparent to the user.
  • virtual private network (VPN) technology can also be used to virtualize a secure and stable "tunnel" in the public network, and users feel as if they are using a private network.
  • a virtual system in a virtual machine is a brand-new virtual image generated by an existing operating system, which has exactly the same functions as a real existing operating system. After entering the virtual system, all operations will be carried out in this new independent virtual system. For example, you can install and run software independently, save data, and have your own independent desktop without any impact on the real system. Moreover, users can flexibly switch between existing systems and virtual images.
  • An operating system is a computer program that manages the hardware and software resources of a computing device.
  • the operating system needs to handle basic tasks such as managing and configuring memory, prioritizing the supply and demand of system resources, controlling input and output devices, operating the network, and managing the file system.
  • the operating system can also provide an interface for the user to interact with the system.
  • the operating system can be said to be very important for computing devices. From the perspective of users, the operating system can schedule various resource blocks of the system in the computing device, including software and hardware devices, data information, and so on. Using the operating system of the computing device can reduce the work intensity of manual resource allocation, reduce the user's intervention in computing operations, and greatly improve the intelligent work efficiency of the computing device. Secondly, in terms of resource management, if a system of computing devices is jointly managed by multiple users, there may be conflicts and contradictions in the information sharing between the two users.
  • the operating system can abstractly process various basic functions provided by computing system resources, and display the functions of the operating system to users in a visual way, reducing the difficulty of using computing equipment.
  • the Linux root directory contains many subdirectories (called first-level directories), such as bin, boot, dev, and so on.
  • first-level directories such as bin, boot, dev, and so on.
  • second-level directories such as /bin/bash, /bin/ed and so on.
  • the Linux file system directory generally presents a tree structure, and the root directory (/) is equivalent to the root of the tree.
  • the subdirectory is /home, and /home may also be referred to as the home directory (or referred to as a home directory) of a common user.
  • the home directory When creating a user, each user must have a default login and save their own data location, that is, the user's home directory.
  • the home directory of all ordinary users is to create a directory with the same user name under /home/.
  • the home directory of user liming is /home/liming.
  • the subdirectory is /unix software resources (unix software resource, usr), this directory is used to store system software resources. All system default software is stored in the /usr directory, and data for software products should reasonably be placed in various subdirectories of the /usr directory, rather than creating separate directories for their products.
  • Linux adopts a tree-shaped file management system, that is, in the Linux system, it can be said that there is no concept of partition.
  • a partition is just a file in Linux like any other device. To use a partition it must be mounted in the file system.
  • An overlay file system is a new type of union file system that contains two file systems, one is the upper (upper) file system and the other is the lower (lower) file system.
  • the data in the lower file system will not be modified, all modifications will take place in the upper file system. That is to say, the lower file system is read-only. No matter what operations are performed on the files or directories on the lower file system, the lower file system will not be changed. All operations are only performed in the upper file system.
  • the overlay file system can also include two empty directories: work and merged.
  • the work directory belongs to the operation process file, and the merged belongs to the overlay mount directory (that is, the mounted directory).
  • merged executes the mount command in the root directory.
  • An empty merged will include the content of the lower file system and the content of the upper file system.
  • FIG. 1 is a schematic diagram of a possible application scenario applicable to the embodiment of the present application.
  • the scenario may include at least two instances, and for the convenience of description, two instances are used for illustration in FIG. 1 .
  • the scene may include: a first instance and a second instance.
  • first and second instances may be computing devices (eg, servers), as another example, the first and second instances may be VMs or containers.
  • the first instance and the second instance respectively run the Linux operating system.
  • the program or configuration of the system itself will only perform read and write operations when the system is upgraded. Otherwise, it will always be a read-only operation and cannot be modified.
  • application data and user data can only be saved on one instance, and cannot be migrated to other instances following the user. For example, application data and user data on the first instance cannot be migrated to the second instance following the user. That is, when the user logs in or restarts the second instance, the second instance cannot read and write the program or configuration of the system itself, and the second instance cannot obtain the data saved by the user on the first instance.
  • the embodiment of the present application provides a data processing method
  • the user can modify the program or configuration of the system itself without upgrading the system, and user data can also be migrated to other instances following the user.
  • applications can be mounted on the instance, and applications can be quickly updated or deleted on the instance.
  • the data processing method provided by the embodiment of the present application can be applied to the above-mentioned first example/second example.
  • the first instance/second instance may be a computing device (for example, a server) or a virtual machine, which is not specifically limited in this application.
  • a computing device may also be referred to as a computer system, including a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer.
  • the hardware layer includes hardware such as processing unit, memory and memory control unit, and the function and structure of the hardware are described in detail later.
  • the operating system is any one or more computer operating systems that implement business processing through processes, such as a Linux operating system.
  • the application layer includes browsers, address books, word processing software, instant messaging software and other applications.
  • the computer system is a handheld device such as a smart phone, or a terminal device such as a personal computer, which is not particularly limited in the present application, as long as the method provided by the embodiment of the present application can be used.
  • the execution body of the data processing method provided by the embodiment of the present application may be a computer system, or a functional module in the computer system that can call a program and execute the program.
  • FIG. 2 is a schematic structural diagram of an instance 100 provided by an embodiment of the present application.
  • the instance 100 may be the first instance or the second instance described above.
  • the instance 100 shown in FIG. 2 includes: at least one processor 110 and a memory 120 .
  • the processor 110 executes the instructions in the memory 120, so that the instance 100 implements the data processing method provided in the present application, for example, implements the steps performed by the data processing apparatus.
  • the processor 110 executes the instructions in the memory 120, so that the instance 100 implements the data processing apparatus provided in the present application, for example, each functional module included in the data processing apparatus.
  • the instance 100 further includes a system bus, wherein the processor 110 and the memory 120 are respectively connected to the system bus.
  • the processor 110 can access the memory 120 through the system bus, for example, the processor 110 can read and write data or execute code in the memory 120 through the system bus.
  • the system bus is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
  • PCI peripheral component interconnect express
  • EISA extended industry standard architecture
  • the system bus is divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 2, but it does not mean that there is only one bus or one type of bus.
  • the function of the processor 110 is mainly to interpret the instructions (or code) of the computer program and process the data in the computer software.
  • the instructions of the computer program and the data in the computer software can be stored in the memory 120 or the cache 116 .
  • the processor 110 may be an integrated circuit chip with signal processing capability.
  • the processor 110 is a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) ) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • the general-purpose processor is a microprocessor or the like.
  • the processor 110 is a central processing unit (CPU).
  • each processor 110 includes at least one processing unit 112 and a memory control unit 114 .
  • the processing unit 112 also referred to as a core or core, is the most important component of the processor.
  • the processing unit 112 is manufactured from monocrystalline silicon by a certain production process, and all calculations, receiving commands, storing commands, and processing data of the processor are performed by the core.
  • the processing units run program instructions independently, and use the capability of parallel computing to speed up the running speed of the program.
  • Various processing units have fixed logical structures.
  • the processing units include logic units such as a first-level cache, a second-level cache, an execution unit, an instruction-level unit, and a bus interface.
  • the memory control unit 114 is used to control the data interaction between the memory 120 and the processing unit 112 . Specifically, the memory control unit 114 receives a memory access request from the processing unit 112 and controls access to the memory based on the memory access request.
  • the memory control unit is a device such as a memory management unit (memory management unit, MMU).
  • each memory control unit 114 performs addressing to the memory 120 through the system bus.
  • an arbiter (not shown in the figure) is configured in the system bus, and the arbiter is responsible for processing and coordinating the competing accesses of the multiple processing units 112 .
  • the processing unit 112 and the memory control unit 114 are communicatively connected through a connection line inside the chip, such as an address line, so as to realize the communication between the processing unit 112 and the memory control unit 114 .
  • each processor 110 also includes a cache 116, wherein the cache is a buffer (referred to as a cache) for data exchange.
  • the processing unit 112 wants to read data, it will first look up the required data from the cache, and if it is found, it will be executed directly, and if it cannot be found, it will be found in the memory. Since the cache runs much faster than the memory, the function of the cache is to help the processing unit 112 run faster.
  • a memory 120 can provide execution space for the processes in the instance 100, for example, the memory 120 holds a computer program (specifically, the code of the program) used to generate the process. After the computer program is run by the processor to generate a process, the processor allocates a corresponding storage space for the process in the memory 120 . Further, the above-mentioned storage space further includes a text segment, an initialization data segment, a bit initialization data segment, a stack segment, a heap segment, and the like. The memory 120 stores data generated during the running of the process, such as intermediate data, or process data, etc., in the storage space corresponding to the above-mentioned process.
  • the memory is also called internal memory, and its function is to temporarily store operation data in the processor 110 and data exchanged with an external memory such as a hard disk.
  • the processor 110 will transfer the data to be calculated into the memory for calculation, and the processing unit 112 will transmit the result after the calculation is completed.
  • memory 120 is volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • non-volatile memory is read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable Except programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory is random access memory (RAM), which acts as an external cache.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous DRAM
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link dynamic random access memory
  • direct rambus RAM direct rambus RAM
  • the structure of the example 100 listed above is only an exemplary illustration, and the present application is not limited thereto.
  • the example 100 includes various hardware in the computing system in the prior art.
  • the example 100 also includes other memories other than the memory 120, For example, disk storage, etc.
  • the example 100 may also include other components necessary to achieve normal operation.
  • the above example 100 may further include hardware devices that implement other additional functions.
  • the above-mentioned example 100 may also only include the necessary devices for implementing the embodiments of the present application, and does not necessarily include all the devices shown in FIG. 2 .
  • a data processing method provided by an embodiment of the present application will be described in detail below with reference to FIG. 3 .
  • the method can be executed by the instance 100 shown in FIG. 2 to implement the data processing method provided by the present application, for example, to implement the steps performed by the data processing apparatus.
  • FIG. 3 is a schematic flowchart of a data processing method provided by an embodiment of the present application. As shown in FIG. 3, the method may include steps 310-320, and the steps 310-320 will be described in detail below respectively.
  • Step 310 The second instance acquires the first layer of the first overlay file system.
  • the first overlay file system is the file system of the first instance.
  • the first overlay file system is deployed in the Linux system of the first instance.
  • Step 320 The second instance mounts the first layer of the first overlay file system into the second overlay file system.
  • the second overlay file system is the file system of the second instance, and the second overlay file system is deployed on the Linux system of the second instance.
  • the first layer of the first overlay file system is the upper layer
  • the second instance mounts the upper layer of the first overlay file system to the lower layer of the second overlay file system.
  • the second overlay file system may include data in the upper layer of the first overlay file system.
  • the data in the upper layer of the first overlay file system may include any one or more of the following: data stored by the user on the first instance, applications created by the user on the first instance A program, a modification made by the user to the system configuration of the first instance.
  • Second Example There are various specific implementation manners for mounting the first layer of the first overlay file system into the second overlay file system, which is not specifically limited in this application.
  • the second instance when the user restarts the second instance, the second instance is triggered to acquire the first layer of the first overlay file system.
  • the second instance when the user logs in to the second instance, the second instance is triggered to acquire the first layer of the first overlay file system.
  • the user can modify the program or configuration of the system itself without upgrading the system, and user data can also be migrated to other instances along with the user.
  • applications can be mounted on the instance, and applications can be quickly updated or deleted on the instance.
  • FIG. 4 is a schematic flowchart of another data processing method provided by an embodiment of the present application. As shown in FIG. 4 , the method may include steps 410-440, and the steps 410-440 will be described in detail below respectively.
  • Step 410 The administrator uploads the application data to the warehouse.
  • the administrator can package the data in the application folder that needs to be installed on the computing device and upload it to the warehouse.
  • Step 420 The user's VM1 obtains application data from the warehouse.
  • the user's VM1 can obtain the data in the application folder uploaded by the administrator from the warehouse, and mount the application folder as the lower layer of the overlay file system. It should be understood that VM1 may be the first instance above.
  • the user's VM1 can also save or synchronize its changes to the current system to the upper layer of the overlay file system.
  • the embodiments of the present application do not specifically limit the above modifications, which may include but are not limited to: modifications to the program or configuration of the system, personalized data of users, newly installed applications, applications to be deleted, and the like.
  • Step 430 The user's VM1 packages and uploads the data of the upper layer of the overlay file system to the warehouse.
  • Step 440 The user's VM2 obtains the application data and the data of the upper layer of the overlay file system from the warehouse.
  • the user's VM2 can obtain the data in the application folder uploaded by the administrator from the warehouse, and mount the application folder as the lower layer of the overlay file system. It should be understood that VM2 may be the second instance above.
  • the user's VM2 can also obtain the data of the upper layer of the overlay file system uploaded by the user's VM1 from the warehouse, and mount the data of the upper layer of the overlay file system as the lower layer of the overlay file system.
  • VM2 when the user restarts VM2, trigger the VM2 to obtain the data of the upper layer of the overlay file system uploaded by the user's VM1 from the warehouse, and use the data of the upper layer of the overlay file system as the overlay file.
  • the lower layer of the system is mounted.
  • the VM2 when the user logs in to the startup VM2, the VM2 is triggered to obtain the data of the upper layer of the overlay file system uploaded by the user's VM1 from the warehouse, and the data of the upper layer of the overlay file system is Data is mounted as the lower layer of the overlay file system.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, rather than the implementation process of the embodiments of the present application. constitute any limitation.
  • FIGS. 1 to 4 A data processing method is described in detail above with reference to FIGS. 1 to 4 , and the apparatus embodiments of the present application will be described in detail below with reference to FIGS. 5 to 6 .
  • FIG. 5 is a schematic block diagram of an apparatus 400 for data processing provided by an embodiment of the present application.
  • the apparatus 400 for data processing can execute each step of the method shown in FIG. 3 to FIG. 4 , and in order to avoid repetition, details are not described here.
  • the apparatus 400 for data processing includes: an acquisition module 410, a processing module 420,
  • the obtaining module 410 is used to obtain the first layer of the first overlay file system, where the first overlay file system is the file system of the first instance, and the first overlay file system is deployed on the Linux system of the first instance ;
  • a processing module 420 configured to mount the first layer of the first overlay file system into a second overlay file system, where the second overlay file system is the file system of the second instance, and the second overlay file system The file system is deployed on the Linux system of the second instance.
  • the first layer of the first overlay file system is the upper layer
  • the processing module 420 is specifically configured to: mount the upper layer of the first overlay file system to the second overlay file system lower layer.
  • the obtaining module 410 is specifically configured to: when logging into the second instance, trigger the second instance to obtain the first layer of the first overlay file system.
  • the obtaining module 410 is specifically configured to: when the second instance is restarted, trigger the second instance to obtain the first layer of the first overlay file system.
  • the first layer of the first overlay file system includes first data
  • the first data includes any one or more of the following: data stored on the first instance, The application program created on the first instance, and the modification to the system configuration of the first instance.
  • the obtaining module 410 is further configured to obtain the data of the application layer uploaded by the administrator; the processing module 420 is further configured to mount the application layer to the lower layer of the second overlay file system , the data of the application layer is included in the lower layer of the second overlay file system.
  • the apparatus 400 for data processing here may be embodied in the form of functional modules.
  • the term "module” here can be implemented in the form of software and/or hardware, which is not specifically limited.
  • a “module” may be a software program, a hardware circuit, or a combination of the two that implement the above-mentioned functions.
  • the hardware circuits may include application specific integrated circuits (ASICs), electronic circuits, processors for executing one or more software or firmware programs (eg, shared processors, proprietary processors, or group processors) etc.) and memory, merge logic and/or other suitable components to support the described functions.
  • ASICs application specific integrated circuits
  • processors for executing one or more software or firmware programs eg, shared processors, proprietary processors, or group processors
  • FIG. 6 is a schematic block diagram of an apparatus 500 for data processing provided by an embodiment of the present application.
  • the apparatus 500 for data processing can execute each step of the method shown in FIG. 4 , and in order to avoid repetition, details are not described here.
  • the apparatus 500 for data processing includes: an acquisition module 510, a processing module 520,
  • the obtaining module 510 is configured to obtain the first layer of the first overlay file system, where the first overlay file system is the file system of the first instance, and the first overlay file system is deployed on the Linux of the first instance system;
  • the processing module 520 is configured to mount the first layer of the first overlay file system to the second layer of the first overlay file system.
  • the first layer is an upper layer
  • the second layer is a lower layer
  • processing module 520 is further configured to: save the first data in the upper layer of the first overlay file system; upload the upper layer of the first overlay file system.
  • the first data includes any one or more of the following: data stored on the first instance, an application program created on the first instance, data stored on the first instance Modifications made to the system configuration.
  • the apparatus 500 for data processing here may be embodied in the form of functional modules.
  • the term "module” here can be implemented in the form of software and/or hardware, which is not specifically limited.
  • a “module” may be a software program, a hardware circuit, or a combination of the two that implement the above-mentioned functions.
  • the hardware circuits may include application specific integrated circuits (ASICs), electronic circuits, processors for executing one or more software or firmware programs (eg, shared processors, proprietary processors, or group processors) etc.) and memory, merge logic and/or other suitable components to support the described functions.
  • ASICs application specific integrated circuits
  • processors for executing one or more software or firmware programs eg, shared processors, proprietary processors, or group processors
  • the units of each example described in the embodiments of the present application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each particular application, but such implementations should not be considered beyond the scope of this application.
  • An embodiment of the present application further provides a chip, the chip obtains an instruction and executes the instruction to implement the above data processing method, or the instruction is used to implement the above data processing apparatus.
  • the chip includes a processor and a data interface, and the processor reads the instructions stored in the memory through the data interface, and executes the above data processing method.
  • the chip may also include a memory, in which an instruction is stored, the processor is used to execute the instruction stored on the memory, and when the instruction is executed, the processor is used to execute the above-mentioned data. method of processing.
  • An embodiment of the present application further provides a computer-readable storage medium, where the computer-readable storage medium stores an instruction, and the instruction is used for the data processing method in the foregoing method embodiment, or the instruction is used for implementing the foregoing data processing apparatus .
  • Embodiments of the present application further provide a computer program product including instructions, where the instructions are used to implement the data processing method in the above method embodiments, or the instructions are used to implement the above data processing apparatus.
  • the processor may be a central processing unit (CPU), the processor may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (application specific integrated circuits) circuit, ASIC), off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically programmable Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be random access memory (RAM), which acts as an external cache.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • enhanced SDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous connection dynamic random access memory Fetch memory
  • direct memory bus random access memory direct rambus RAM, DR RAM
  • plural means two or more.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • at least one item (a) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c may be single or multiple .
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, rather than the implementation process of the embodiments of the present application. constitute any limitation.
  • the functions, if implemented in the form of software functional units and sold or used as independent products, may be stored in a computer-readable storage medium.
  • the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution, and the computer software product is stored in a storage medium, including Several instructions are used to cause a computing device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .

Abstract

一种数据处理的方法、实例以及系统,该方法包括:第二实例获取第一overlay文件系统的第一层(S310),所述第一overlay文件系统为第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;所述第二实例将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中(S320),所述第二overlay文件系统为所述第二实例的文件系统,所述第二overlay文件系统部署在所述第二实例的Linux系统。该方法可以实现用户跨实例的数据跟随。

Description

数据处理的方法、实例以及系统 技术领域
本申请涉及数据处理技术领域,更具体地,涉及一种数据处理的方法、实例以及系统。
背景技术
Linux操作系统是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出。它主要受到Minix和Unix思想的启发,是一个基于可移植操作系统接口(portable operating system interface,POSIX)和Unix的多用户、多任务、支持多线程和多中央处理器(central processing unit,CPU)的操作系统。
Linux操作系统中,系统本身的程序或配置只有在系统升级的时候才会发生读写操作,否则一直为只读操作,不允许被修改。并且,应用数据以及用户数据只能被保存在一个实例上,无法跟随用户迁移到其他的实例上。
发明内容
本申请提供一种数据处理的方法、实例以及计算设备,可以实现用户跨实例的数据跟随。
第一方面,提供了一种数据处理的方法,该方法包括:第二实例获取第一overlay文件系统的第一层,所述第一overlay文件系统为第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;所述第二实例将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中,所述第二overlay文件系统为所述第二实例的文件系统,所述第二overlay文件系统部署在所述第二实例的Linux系统。
上述技术方案中,第二实例可以获取第一实例的第一overlay文件系统,并将第一overlay文件系统挂载到自己的第二overlay文件系统中,从而可以实现用户数据的跨实例跟随。
在一种可能的实现方式中,所述第一overlay文件系统的第一层为upper层,所述第二实例将所述第一overlay文件系统的upper层挂载到所述第二overlay文件系统的lower层。
在另一种可能的实现方式中,所述方法还包括:当用户登录所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
在另一种可能的实现方式中,所述方法还包括:当用户重启所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
在另一种可能的实现方式中,所述第一overlay文件系统的第一层中包括第一数据,所述第一数据包括以下中的任意一种或多种:用户在所述第一实例上存储的数据、所述用户在所述第一实例上创建的应用程序、所述用户对所述第一实例的系统配置进行的修改。
在另一种可能的实现方式中,所述方法还包括:所述第二实例获取管理员上传的应用层的数据;所述第二实例将所述应用层挂载到所述第二overlay文件系统的lower层,所述第二overlay文件系统的lower层中包括所述应用层的数据。
第二方面,提供了一种数据处理的方法,所述方法包括:第一实例获取第一overlay文件系统的第一层,所述第一overlay文件系统为所述第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;所述第一实例将所述第一overlay文件系统的第一层挂载到所述第一overlay文件系统的第二层。
在一种可能的实现方式中,所述第一层为upper层,所述第二层为lower层。
在另一种可能的实现方式中,所述方法还包括:所述第一实例将第一数据保存在所述第一overlay文件系统的upper层;所述第一实例上传所述第一overlay文件系统的upper层。
在另一种可能的实现方式中,所述第一数据包括以下中的任意一种或多种:用户在所述第一实例上存储的数据、所述用户在所述第一实例上创建的应用程序、所述用户对所述第一实例的系统配置进行的修改。
在上述第一方面中对相关内容的扩展、限定、解释、说明和效果也适用于第二方面中相同的内容。
第三方面,提供了一种数据处理的装置,包括:
获取模块,用于例获取第一overlay文件系统的第一层,所述第一overlay文件系统为第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
处理模块,用于将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中,所述第二overlay文件系统为所述第二实例的文件系统,所述第二overlay文件系统部署在所述第二实例的Linux系统。
在一种可能的实现方式中,所述第一overlay文件系统的第一层为upper层,所述处理模块具体用于:将所述第一overlay文件系统的upper层挂载到所述第二overlay文件系统的lower层。
在另一种可能的实现方式中,所述获取模块具体用于:当登录所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
在另一种可能的实现方式中,所述获取模块具体用于:当重启所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
在另一种可能的实现方式中,所述第一overlay文件系统的第一层中包括第一数据,所述第一数据包括以下中的任意一种或多种:在所述第一实例上存储的数据、在所述第一实例上创建的应用程序、对所述第一实例的系统配置进行的修改。
在另一种可能的实现方式中,所述获取模块,还用于获取管理员上传的应用层的数据;所述处理模块,还用于将所述应用层挂载到所述第二overlay文件系统的lower层,所述第二overlay文件系统的lower层中包括所述应用层的数据。
第四方面,提供了一种数据处理的装置,包括:
获取模块,用于获取第一overlay文件系统的第一层,所述第一overlay文件系统为所述第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
处理模块,用于将所述第一overlay文件系统的第一层挂载到所述第一overlay文件 系统的第二层。
在一种可能的实现方式中,所述第一层为upper层,所述第二层为lower层。
在另一种可能的实现方式中,所述处理模块还用于:将第一数据保存在所述第一overlay文件系统的upper层;上传所述第一overlay文件系统的upper层。
在另一种可能的实现方式中,所述第一数据包括以下中的任意一种或多种:在所述第一实例上存储的数据、在所述第一实例上创建的应用程序、对所述第一实例的系统配置进行的修改。
第五方面,提供了一种第二实例,包括:处理器和存储器,所述处理器运行所述存储器中的指令,使得所述实例执行如上述第一方面或第一方面的任意一种可能的实现方式中所执行的方法步骤。
第六方面,提供了一种第二实例,包括:处理器和存储器,所述处理器运行所述存储器中的指令,使得所述实例执行如上述第三方面或第三方面的任意一种可能的实现方式中的数据处理的装置。
第七方面,提供了一种第二实例,包括:处理器和存储器,所述处理器运行所述存储器中的指令,使得所述实例执行如上述第二方面或第二方面的任意一种可能的实现方式中所执行的方法步骤。
第八方面,提供了一种第二实例,包括:处理器和存储器,所述处理器运行所述存储器中的指令,使得所述实例执行如上述第四方面或第四方面的任意一种可能的实现方式中的数据处理的装置。
第九方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现如第一方面或第一方面的任意一种可能的实现方式中所执行的方法步骤。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第十方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现如第三方面或第三方面的任意一种可能的实现方式中的数据处理的装置。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第十一方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现如第二方面或第二方面的任意一种可能的实现方式中所执行的方法步骤。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第十二方面,提供了一种计算机可读存储介质,包括指令;所述指令用于实现如第四方面或第四方面的任意一种可能的实现方式中数据处理的装置。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第十三方面,提供一种芯片,该芯片获取指令并执行该指令来实现上述第一方面以及第一方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第一方面以及第一方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
第十四方面,提供一种芯片,该芯片获取指令并执行该指令来实现上述第二方面以及第二方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第二方面以及第二方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第二方面以及第二方面中的任意一种实现方式中的方法。
第十五方面,提供一种芯片,该芯片获取指令并执行该指令来实现上述第三方面以及第三方面的任意一种实现方式中数据处理的装置。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第三方面以及第三方面的任意一种实现方式中数据处理的装置。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第三方面以及第三方面中的任意一种实现方式中数据处理的装置。
第十六方面,提供一种芯片,该芯片获取指令并执行该指令来实现上述第四方面以及第四方面的任意一种实现方式中数据处理的装置。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第四方面以及第四方面的任意一种实现方式中数据处理的装置。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第四方面以及第四方面中的任意一种实现方式中数据处理的装置。
第十七方面,提供一种系统,包括第一实例和第二实例,其中,第一实例部署如第三方面以及第三方面中的任意一种实现方式中数据处理的装置,第二实例部署如第四方面以及第四方面中的任意一种实现方式中数据处理的装置。
附图说明
图1是适用于本申请实施例的一种可能的应用场景示意图。
图2是本申请实施例提供的一种实例100的架构示意图。
图3是本申请实施例提供的一种数据处理的方法的示意性流程图。
图4是本申请实施例提供的另一种数据处理的方法的示意性流程图。
图5是本申请实施例提供的数据处理的装置400的示意性框图。
图6是本申请实施例提供的数据处理的装置500的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。 应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
由于本申请实施例涉及大量的专业术语,为了便于理解,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
1、虚拟机(virtual machine,VM)
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)、硬盘和操作系统,并可以像使用实体机一样对虚拟机进行操作。
虚拟机技术是虚拟化技术的一种,所谓虚拟化技术是将事物从一种形式转变成另一种形式。一个示例,可以将操作系统中的内存虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。另一个示例,还可以利用虚拟专用网(virtual private network,VPN)技术在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。
虚拟机中的虚拟系统是通过现有操作系统生成的全新虚拟镜像,它具有真实现有操 作系统完全一样的功能。进入虚拟系统后,所有操作都会在这个全新的独立的虚拟系统里面进行。例如,可以独立安装运行软件、保存数据、拥有自己的独立桌面,而不会对真正的系统产生任何影响。而且,用户还可以在现有系统与虚拟镜像之间进行灵活切换。
2、操作系统(operation system,OS)
操作系统是管理计算设备的硬件与软件资源的计算机程序。操作系统需要处理例如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也可以提供一个让用户与系统交互的操作界面。
操作系统对于计算设备可以说是十分重要的,从使用者角度来说,操作系统可以对计算设备中系统的各项资源板块开展调度工作,其中包括软硬件设备、数据信息等。运用计算设备的操作系统可以减少人工资源分配的工作强度,使用者对于计算的操作干预程度减少,计算设备的智能化工作效率就可以得到很大的提升。其次在资源管理方面,如果由多个用户共同来管理一个计算设备的系统,那么可能就会有冲突矛盾存在于两个使用者的信息共享当中。为了更加合理的分配计算设备的各个资源板块,协调计算设备系统的各个组成部分,就需要充分发挥计算设备操作系统的职能,对各个资源板块的使用效率和使用程度进行一个最优的调整,使得各个用户的需求都能够得到满足。最后,操作系统在计算机程序的辅助下,可以抽象处理计算系统资源提供的各项基础职能,以可视化的手段来向使用者展示操作系统功能,减低计算设备的使用难度。
3、Linux操作系统
是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出。它主要受到Minix和Unix思想的启发,是一个基于可移植操作系统接口(portable operating system interface,POSIX)和Unix的多用户、多任务、支持多线程和多中央处理器(central processing unit,CPU)的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议,支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。作为示例,在Linux根目录(/)下包含很多的子目录(称为一级目录),例如bin、boot、dev等。同时,各一级目录下还含有很多子目录(称为二级目录),比如/bin/bash、/bin/ed等。Linux文件系统目录总体呈现树形结构,根目录(/)就相当于树根。
下面列举几种Linux根目录(/)下包含的子目录。
一个示例,子目录为/home,/home也可以称为普通用户的主目录(或称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,也就是用户的主目录。所有普通用户的主目录是在/home/下建立一个和用户名相同的目录。如用户liming的主目录就是/home/liming。
另一个示例,子目录为/unix软件资源(unix software resource,usr),此目录用于存储系统软件资源。所有系统默认的软件都存储在/usr目录下,软件产品的数据应该合理的放置在/usr目录下的各子目录中,而不是为他们的产品创建单独的目录。
Linux采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区就必须把它加载到文件系统中。
4、overlay文件系统(file system,FS)
一个overlay文件系统是一种新型的联合文件系统,其包含两个文件系统,一个是上面的(upper)文件系统,另一个是下方的(lower)文件系统。lower文件系统的数据不会被修改,所有的修改都发生在upper文件系统中。也就是说,lower文件系统是只读的,无论对lower文件系统上的文件或目录做任何操作都不会对lower文件系统做更改,所有的操作都只在upper文件系统中进行。
可选地,overlay文件系统中还可以包括2个空目录:work和merged。work目录属于操作过程文件,merged属于overlay挂载目录(即挂载后的目录)。merged在根目录下执行挂载命令,空的merged中会包括lower文件系统的内容以及upper文件系统的内容。
图1是适用于本申请实施例的一种可能的应用场景示意图。该场景中可以包括至少两个实例,为了便于描述,图1中以两个实例进行举例说明。如图1所示,该场景中可以包括:第一实例和第二实例。
其中,第一实例和第二实例的具体实现方式有多种,本申请对此不做具体限定。例如,该第一实例和第二实例可以是计算设备(例如服务器),又如,该第一实例和第二实例或者可以是VM或者容器。
本申请实施例中,第一实例和第二实例分别运行Linux操作系统。在Linux操作系统中,系统本身的程序或配置只有在系统升级的时候才会发生读写操作,否则一直为只读操作,不允许被修改。并且,应用数据以及用户数据只能被保存在一个实例上,无法跟随用户迁移到其他的实例上。例如,第一实例上的应用数据以及用户数据无法跟随用户迁移到第二实例上。也就是说,当用户登录或重启第二实例时,第二实例无法对系统本身的程序或配置进行读写操作,第二实例也无法获取用户保存在第一实例上的数据。
有鉴于此,本申请实施例提供了一种数据处理的方法,用户可以在不对系统进行升级的情况下,对系统本身的程序或配置进行修改,用户数据也可以跟随用户迁移到其他实例上。并且,基于overlay文件系统对实例挂载应用,还可以对实例进行快速的更新应用或删除应用。
本申请实施例提供的数据处理的方法可应用于上述第一实例/第二实例。第一实例/第二实例可以是计算设备(例如服务器)或者虚拟机,本申请对此不做具体限定。计算设备也可以被称为计算机系统,包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括处理单元、内存和内存控制单元等硬件,随后对该硬件的功能和结构进行详细说明。该操作系统是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用程序。并且,可选地,该计算机系统是智能手机等手持设备,或个人计算机等终端设备,本申请并未特别限定,只要能够通过本申请实施例提供的方法即可。本申请实施例提供的数据处理的方法的执行主体可以是计算机系统,或者,是计算机系统中能够调用程序并执行程序的功能模块。
下面结合图2,对本申请实施例提供的一种实例的结构进行详细描述。
图2是本申请实施例提供的一种实例100的架构示意图。该实例100可以是上述第一实例或第二实例。图2所示的实例100包括:至少一个处理器110和内存120。
处理器110执行内存120中的指令,使得实例100实现本申请提供的数据处理的方法,例如实现由数据处理的装置执行的步骤。或者,处理器110执行内存120中的指令,使得实例100实现本申请提供的数据处理的装置,例如实现数据处理的装置包括的各功能模块。
可选地,实例100还包括系统总线,其中,处理器110和内存120分别与系统总线连接。处理器110能够通过系统总线访问内存120,例如,处理器110能够通过系统总线在内存120中进行数据读写或代码执行。该系统总线是快捷外设部件互连标准(peripheral component interconnect express,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述系统总线分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
一种可能的实现方式,处理器110的功能主要是解释计算机程序的指令(或者说,代码)以及处理计算机软件中的数据。其中,该计算机程序的指令以及计算机软件中的数据能够保存在内存120或者缓存116中。
可选地,处理器110可能是集成电路芯片,具有信号的处理能力。作为示例而非限定,处理器110是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,通用处理器是微处理器等。例如,该处理器110是中央处理单元(central processing unit,CPU)。
可选地,每个处理器110包括至少一个处理单元112和内存控制单元114。
可选地,处理单元112也称为核心(core)或内核,是处理器最重要的组成部分。处理单元112是由单晶硅以一定的生产工艺制造出来的,处理器所有的计算、接受命令、存储命令、处理数据都由核心执行。处理单元分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。各种处理单元都具有固定的逻辑结构,例如,处理单元包括例如,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元。
一种实现举例,内存控制单元114用于控制内存120与处理单元112之间的数据交互。具体地说,内存控制单元114从处理单元112接收内存访问请求,并基于该内存访问请求控制针对内存的访问。作为示例而非限定,内存控制单元是内存管理单元(memory management unit,MMU)等器件。
一种实现举例,各内存控制单元114通过系统总线进行针对内存120的寻址。并且在系统总线中配置仲裁器(图中未示出),该仲裁器负责处理和协调多个处理单元112的竞争访问。
一种实现举例,处理单元112和内存控制单元114通过芯片内部的连接线,例如地址线,通信连接,从而实现处理单元112和内存控制单元114之间的通信。
可选地,每个处理器110还包括缓存116,其中,缓存是数据交换的缓冲区(称作cache)。当处理单元112要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助处理单元112更快地运行。
内存(memory)120能够为实例100中的进程提供运行空间,例如,内存120中保 存用于生成进程的计算机程序(具体地说,是程序的代码)。计算机程序被处理器运行而生成进程后,处理器在内存120中为该进程分配对应的存储空间。进一步的,上述存储空间进一步包括文本段、初始化数据段、位初始化数据段、栈段、堆段等等。内存120在上述进程对应的存储空间中保存进程运行期间产生的数据,例如,中间数据,或过程数据等等。
可选地,内存也称为内存储器,其作用是用于暂时存放处理器110中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,处理器110就会把需要运算的数据调到内存中进行运算,当运算完成后处理单元112再将结果传送出来。
作为示例而非限定,内存120是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的内存120旨在包括但不限于这些和任意其它适合类型的存储器。
以上列举的实例100的结构仅为示例性说明,本申请并未限定于此,实例100包括现有技术中计算系统中的各种硬件,例如,实例100还包括除内存120以外的其他存储器,例如,磁盘存储器等。本领域的技术人员应当理解,实例100还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,上述实例100还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述实例100也可仅仅包括实现本申请实施例所必须的器件,而不必包括图2中所示的全部器件。
下面结合图3,对本申请实施例提供的一种数据处理的方法进行详细的介绍。该方法可以由图2所示的实例100执行,以实现本申请提供的数据处理的方法,例如实现由数据处理的装置执行的步骤。
图3是本申请实施例提供的一种数据处理的方法的示意性流程图。如图3所示,该方法可以包括步骤310-320,下面分别对步骤310-320进行详细描述。
步骤310:第二实例获取第一overlay文件系统的第一层。
其中,第一overlay文件系统为第一实例的文件系统。第一overlay文件系统部署在所述第一实例的Linux系统中。
步骤320:第二实例将第一overlay文件系统的第一层挂载到第二overlay文件系统中。
其中,第二overlay文件系统为第二实例的文件系统,第二overlay文件系统部署在第二实例的Linux系统。
一个示例,第一overlay文件系统的第一层为upper层,第二实例将第一overlay文件系统的upper层挂载到第二overlay文件系统的lower层。这样,第二overlay文件系统中可以包括第一overlay文件系统的upper层中的数据。
例如,第一overlay文件系统的upper层中的数据可以包括以下中的任意一种或多种:用户在所述第一实例上存储的数据、所述用户在所述第一实例上创建的应用程序、所述用户对所述第一实例的系统配置进行的修改。
第二实例将第一overlay文件系统的第一层挂载到第二overlay文件系统中的具体实现方式有多种,本申请对此不做具体限定。一种可能的实现方式中,当用户重启所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。另一种可能的实现方式中,当用户登录所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
上述技术方案中,用户可以在不对系统进行升级的情况下,对系统本身的程序或配置进行修改,用户数据也可以跟随用户迁移到其他实例上。并且,基于overlay文件系统对实例挂载应用,还可以对实例进行快速的更新应用或删除应用。
下面结合图4中具体的例子,对数据处理的方法的一种具体实现方式进行描述。应理解,图4的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于图4的具体数值或具体场景。本领域技术人员根据所给出的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图4是本申请实施例提供的另一种数据处理的方法的示意性流程图。如图4所示,该方法可以包括步骤410-440,下面分别对步骤410-440进行详细描述。
步骤410:管理员将应用数据上传到仓库。
管理员可以基于将计算设备需要安装的应用文件夹中的数据打包,并上传到仓库。
步骤420:用户的VM1从仓库中获取应用数据。
用户的VM1可以从仓库中获取管理员上传的应用文件夹中的数据,并将该应用文件夹作为overlay文件系统的lower层进行挂载。应理解,VM1可以是上文中的第一实例。
用户的VM1还可以将其对当前系统的修改保存或同步到overlay文件系统的upper层。本申请实施例对上述修改不做具体限定,可以包括但不限于:对系统的程序或配置的修改、用户的个性化数据、安装的新建应用、需要删除的应用等。
步骤430:用户的VM1将overlay文件系统的upper层的数据打包上传至仓库。
步骤440:用户的VM2从仓库中获取应用数据以及overlay文件系统的upper层的数据。
用户的VM2可以从仓库中获取管理员上传的应用文件夹中的数据,并将该应用文件夹作为overlay文件系统的lower层进行挂载。应理解,VM2可以是上文中的第二实例。
用户的VM2还可以从仓库中获取用户的VM1上传的overlay文件系统的upper层的数据,并将overlay文件系统的upper层的数据作为overlay文件系统的lower层进行挂载。
一种可能的实现方式中,当用户重启VM2时,触发所述VM2获取从仓库中获取用户的VM1上传的overlay文件系统的upper层的数据,并将overlay文件系统的upper层的数据作为overlay文件系统的lower层进行挂载。
另一种可能的实现方式中,当用户登录所述启VM2时,触发所述VM2获取从仓库 中获取用户的VM1上传的overlay文件系统的upper层的数据,并将overlay文件系统的upper层的数据作为overlay文件系统的lower层进行挂载。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文结合图1至图4,详细描述了一种数据处理的方法,下面将结合图5-图6,详细描述本申请的装置实施例。
图5是本申请实施例提供的数据处理的装置400的示意性框图。
数据处理的装置400能够执行图3至图4所示的方法的各个步骤,为了避免重复,此处不再详述。数据处理的装置400包括:获取模块410,处理模块420,
获取模块410,用于例获取第一overlay文件系统的第一层,所述第一overlay文件系统为第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
处理模块420,用于将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中,所述第二overlay文件系统为所述第二实例的文件系统,所述第二overlay文件系统部署在所述第二实例的Linux系统。
可选地,所述第一overlay文件系统的第一层为upper层,所述处理模块420具体用于:将所述第一overlay文件系统的upper层挂载到所述第二overlay文件系统的lower层。
可选地,所述获取模块410具体用于:当登录所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
可选地,所述获取模块410具体用于:当重启所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
可选地,所述第一overlay文件系统的第一层中包括第一数据,所述第一数据包括以下中的任意一种或多种:在所述第一实例上存储的数据、在所述第一实例上创建的应用程序、对所述第一实例的系统配置进行的修改。
可选地,所述获取模块410,还用于获取管理员上传的应用层的数据;所述处理模块420,还用于将所述应用层挂载到所述第二overlay文件系统的lower层,所述第二overlay文件系统的lower层中包括所述应用层的数据。
这里的数据处理的装置400可以以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
图6是本申请实施例提供的数据处理的装置500的示意性框图。
数据处理的装置500能够执行图4所示的方法的各个步骤,为了避免重复,此处不再详述。数据处理的装置500包括:获取模块510,处理模块520,
获取模块510,用于获取第一overlay文件系统的第一层,所述第一overlay文件系 统为所述第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
处理模块520,用于将所述第一overlay文件系统的第一层挂载到所述第一overlay文件系统的第二层。
可选地,所述第一层为upper层,所述第二层为lower层。
可选地,所述处理模块520还用于:将第一数据保存在所述第一overlay文件系统的upper层;上传所述第一overlay文件系统的upper层。
可选地,所述第一数据包括以下中的任意一种或多种:在所述第一实例上存储的数据、在所述第一实例上创建的应用程序、对所述第一实例的系统配置进行的修改。
这里的数据处理的装置500可以以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供了一种芯片,该芯片获取指令并执行该指令来实现上述数据处理的方法,或者该指令用于实现上述数据处理的装置。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述数据处理的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述数据处理的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有指令,该指令用于上述方法实施例中数据处理的方法,或者该指令用于实现上述数据处理的装置。
本申请实施例还提供了一种包含指令的计算机程序产品,该指令用于实现上述方法实施例中数据处理的方法,或者该指令用于实现上述数据处理的装置。
一种实现举例,处理器可以为中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
一种实现举例,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory, ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (25)

  1. 一种数据处理的方法,其特征在于,所述方法包括:
    第二实例获取第一overlay文件系统的第一层,所述第一overlay文件系统为第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
    所述第二实例将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中,所述第二overlay文件系统为所述第二实例的文件系统,所述第二overlay文件系统部署在所述第二实例的Linux系统。
  2. 根据权利要求1所述的方法,其特征在于,所述第一overlay文件系统的第一层为upper层,
    所述第二实例将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中,包括:
    所述第二实例将所述第一overlay文件系统的upper层挂载到所述第二overlay文件系统的lower层。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    当用户登录所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
  4. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    当用户重启所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述第一overlay文件系统的第一层中包括第一数据,所述第一数据包括以下中的任意一种或多种:用户在所述第一实例上存储的数据、所述用户在所述第一实例上创建的应用程序、所述用户对所述第一实例的系统配置进行的修改。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
    所述第二实例获取管理员上传的应用层的数据;
    所述第二实例将所述应用层挂载到所述第二overlay文件系统的lower层,所述第二overlay文件系统的lower层中包括所述应用层的数据。
  7. 一种数据处理的方法,其特征在于,所述方法包括:
    第一实例获取第一overlay文件系统的第一层,所述第一overlay文件系统为所述第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
    所述第一实例将所述第一overlay文件系统的第一层挂载到所述第一overlay文件系统的第二层。
  8. 根据权利要求7所述的方法,其特征在于,所述第一层为upper层,所述第二层为lower层。
  9. 根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
    所述第一实例将第一数据保存在所述第一overlay文件系统的upper层;
    所述第一实例上传所述第一overlay文件系统的upper层。
  10. 根据权利要求7至9中任一项所述的方法,其特征在于,所述第一数据包括以下中的任意一种或多种:用户在所述第一实例上存储的数据、所述用户在所述第一实例 上创建的应用程序、所述用户对所述第一实例的系统配置进行的修改。
  11. 一种数据处理的装置,其特征在于,包括:
    获取模块,用于例获取第一overlay文件系统的第一层,所述第一overlay文件系统为第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
    处理模块,用于将所述第一overlay文件系统的第一层挂载到第二overlay文件系统中,所述第二overlay文件系统为所述第二实例的文件系统,所述第二overlay文件系统部署在所述第二实例的Linux系统。
  12. 根据权利要求11所述的装置,其特征在于,所述第一overlay文件系统的第一层为upper层,
    所述处理模块具体用于:将所述第一overlay文件系统的upper层挂载到所述第二overlay文件系统的lower层。
  13. 根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
    当登录所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
  14. 根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
    当重启所述第二实例,触发所述第二实例获取所述第一overlay文件系统的第一层。
  15. 根据权利要求11至14中任一项所述的装置,其特征在于,所述第一overlay文件系统的第一层中包括第一数据,所述第一数据包括以下中的任意一种或多种:在所述第一实例上存储的数据、在所述第一实例上创建的应用程序、对所述第一实例的系统配置进行的修改。
  16. 根据权利要求11至15中任一项所述的装置,其特征在于,
    所述获取模块,还用于获取管理员上传的应用层的数据;
    所述处理模块,还用于将所述应用层挂载到所述第二overlay文件系统的lower层,所述第二overlay文件系统的lower层中包括所述应用层的数据。
  17. 一种数据处理的装置,其特征在于,包括:
    获取模块,用于获取第一overlay文件系统的第一层,所述第一overlay文件系统为所述第一实例的文件系统,所述第一overlay文件系统部署在所述第一实例的Linux系统;
    处理模块,用于将所述第一overlay文件系统的第一层挂载到所述第一overlay文件系统的第二层。
  18. 根据权利要求17所述的装置,其特征在于,所述第一层为upper层,所述第二层为lower层。
  19. 根据权利要求17或18所述的装置,其特征在于,所述处理模块还用于:
    将第一数据保存在所述第一overlay文件系统的upper层;
    上传所述第一overlay文件系统的upper层。
  20. 根据权利要求17至19中任一项所述的装置,其特征在于,所述第一数据包括以下中的任意一种或多种:在所述第一实例上存储的数据、在所述第一实例上创建的应用程序、对所述第一实例的系统配置进行的修改。
  21. 一种第二实例,其特征在于,包括处理器和存储器;所述处理器运行所述存储器中的指令,使得所述实例执行如权利要求1至6中任一项所述的方法。
  22. 一种第一实例,其特征在于,包括处理器和存储器;所述处理器运行所述存储 器中的指令,使得所述实例执行如权利要求7至10中任一项所述的方法。
  23. 一种系统,其特征在于,包括第一实例和第二实例;
    所述第一实例部署如权利要求11至16中任一项所述的数据处理的装置;
    所述第二实例部署如权利要求17至20中任一项所述的数据处理的装置。
  24. 一种计算机可读存储介质,其特征在于,包括指令;所述指令用于实现如权利要求1至6中任一项所述的方法。
  25. 一种计算机可读存储介质,其特征在于,包括指令;所述指令用于实现如权利要求7至10中任一项所述的方法。
PCT/CN2021/101797 2020-10-22 2021-06-23 数据处理的方法、实例以及系统 WO2022083158A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011137289.3 2020-10-22
CN202011137289.3A CN114461290A (zh) 2020-10-22 2020-10-22 数据处理的方法、实例以及系统

Publications (1)

Publication Number Publication Date
WO2022083158A1 true WO2022083158A1 (zh) 2022-04-28

Family

ID=81291492

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/101797 WO2022083158A1 (zh) 2020-10-22 2021-06-23 数据处理的方法、实例以及系统

Country Status (2)

Country Link
CN (1) CN114461290A (zh)
WO (1) WO2022083158A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909998A (zh) * 2023-09-12 2023-10-20 海马云(天津)信息技术有限公司 overlay文件系统下文件的处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170004131A1 (en) * 2015-07-01 2017-01-05 Weka.IO LTD Virtual File System Supporting Multi-Tiered Storage
CN107590272A (zh) * 2017-09-26 2018-01-16 天津麒麟信息技术有限公司 一种基于Overlay文件系统的操作系统快照实现方法
CN108509435A (zh) * 2017-02-24 2018-09-07 海马云(天津)信息技术有限公司 实例系统挂载远程文件的方法和装置
CN108804034A (zh) * 2018-05-22 2018-11-13 无锡辰云科技股份有限公司 一种基于读写分离的云终端处理方法及系统
CN110427248A (zh) * 2019-07-12 2019-11-08 中国人民解放军国防科技大学 一种基于容器的轻量级用户环境构建方法、系统及介质
CN111414231A (zh) * 2020-03-18 2020-07-14 上海云轴信息科技有限公司 一种虚拟机镜像与容器镜像相互转换的方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170004131A1 (en) * 2015-07-01 2017-01-05 Weka.IO LTD Virtual File System Supporting Multi-Tiered Storage
CN108509435A (zh) * 2017-02-24 2018-09-07 海马云(天津)信息技术有限公司 实例系统挂载远程文件的方法和装置
CN107590272A (zh) * 2017-09-26 2018-01-16 天津麒麟信息技术有限公司 一种基于Overlay文件系统的操作系统快照实现方法
CN108804034A (zh) * 2018-05-22 2018-11-13 无锡辰云科技股份有限公司 一种基于读写分离的云终端处理方法及系统
CN110427248A (zh) * 2019-07-12 2019-11-08 中国人民解放军国防科技大学 一种基于容器的轻量级用户环境构建方法、系统及介质
CN111414231A (zh) * 2020-03-18 2020-07-14 上海云轴信息科技有限公司 一种虚拟机镜像与容器镜像相互转换的方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116909998A (zh) * 2023-09-12 2023-10-20 海马云(天津)信息技术有限公司 overlay文件系统下文件的处理方法和装置
CN116909998B (zh) * 2023-09-12 2023-12-12 海马云(天津)信息技术有限公司 overlay文件系统下文件的处理方法和装置

Also Published As

Publication number Publication date
CN114461290A (zh) 2022-05-10

Similar Documents

Publication Publication Date Title
AU2014311463B2 (en) Virtual machine monitor configured to support latency sensitive virtual machines
US10191759B2 (en) Apparatus and method for scheduling graphics processing unit workloads from virtual machines
CA2933712C (en) Resource processing method, operating system, and device
US10176007B2 (en) Guest code emulation by virtual machine function
US20180349194A1 (en) Accelerated data operations
WO2018004927A1 (en) Techniques for persistent memory virtualization
US10565131B2 (en) Main memory including hardware accelerator and method of operating the same
US11048447B2 (en) Providing direct data access between accelerators and storage in a computing environment, wherein the direct data access is independent of host CPU and the host CPU transfers object map identifying object of the data
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
US11188365B2 (en) Memory overcommit by speculative fault
US10140214B2 (en) Hypervisor translation bypass by host IOMMU with virtual machine migration support
US10102022B2 (en) System and method for configuring a virtual device
CN108139937B (zh) 多根i/o虚拟化系统
CN113778612A (zh) 基于微内核机制的嵌入式虚拟化系统实现方法
CN108292233B (zh) 开启虚拟机的应用处理器
US10255203B2 (en) Technologies for zero-copy inter-virtual-machine data movement
US20160321116A1 (en) Translating operating system processes
WO2022083158A1 (zh) 数据处理的方法、实例以及系统
US11900142B2 (en) Improving memory access handling for nested virtual machines
US20230185593A1 (en) Virtual device translation for nested virtual machines
US11748136B2 (en) Event notification support for nested virtual machines
US20230043929A1 (en) Storage snapshots for nested virtual machines
US20210109757A1 (en) Deterministic execution replay for multicore systems
CN114237814A (zh) 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备
Pinto et al. A zero-copy shared memory framework for host-guest data sharing in KVM

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21881578

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21881578

Country of ref document: EP

Kind code of ref document: A1