CN110569043A - Multi-user kbroker distributed operating system and multi-user management system - Google Patents

Multi-user kbroker distributed operating system and multi-user management system Download PDF

Info

Publication number
CN110569043A
CN110569043A CN201910843892.4A CN201910843892A CN110569043A CN 110569043 A CN110569043 A CN 110569043A CN 201910843892 A CN201910843892 A CN 201910843892A CN 110569043 A CN110569043 A CN 110569043A
Authority
CN
China
Prior art keywords
user
app
application program
kbroker
module
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201910843892.4A
Other languages
Chinese (zh)
Other versions
CN110569043B (en
Inventor
程延辉
程耀辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201910843892.4A priority Critical patent/CN110569043B/en
Publication of CN110569043A publication Critical patent/CN110569043A/en
Application granted granted Critical
Publication of CN110569043B publication Critical patent/CN110569043B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The invention provides an improved scheme aiming at the situation that multiple users operate different distributed Kbrooker operating systems simultaneously on the basis of the distributed Kbrooker operating system, so that the distributed Kbrooker operating systems can be provided for the multiple users simultaneously as cloud services, the utilization rate of server resources is obviously improved, and the cost and the difficulty of independently deploying and maintaining the distributed Kbrooker operating systems by the users are reduced.

Description

multi-user kbroker distributed operating system and multi-user management system
Technical Field
the invention relates to the field of software development and operation and maintenance systems of a server side, in particular to a multi-user kbroker distributed operating system and a multi-user management system.
background
although the operation and maintenance cost of the kbroker distributed operating system is relatively low, each company needs to purchase a server and rent a machine room to place the server when each company deploys one set, and the operation and maintenance cost is still a little troublesome for the company, especially when the access amount is increased sharply, the resources of the server and the machine room may be insufficient, and the resources of the server may be idle after the peak. Cloud services help to reduce the operational difficulty of companies and the cost expenditure for coping with peak access, which is also a reason for the popularity of cloud services.
The original distributed operating system of the kbroker aims at a single user and does not support a plurality of users to use simultaneously, the distributed operating system of the kbroker can support a large-scale server cluster, a conventional user can not absolutely use the large server cluster from the cluster scale, a plurality of users can be completely used simultaneously, the resources of the server cluster can be more effectively utilized by the users, and the rising of the used resources of the single user in the access peak can be more effectively responded.
After the kbroker distributed operating system is reformed to support multiple users to use simultaneously, the charging statistical function is added to provide the cloud service of server less for the users, the users can be concentrated on the service by the cloud service, the problems of server resources and load are not considered at all, a large-scale server program can be developed simply by using a conventional development mode, and the cloud service is the cloud service which is really urgently needed by the users.
Disclosure of Invention
In view of the above-mentioned shortcomings of the prior art, the present invention aims to provide a multi-user kbroker distributed operating system and a multi-user management system, which are used for solving the problems in the prior art:
first, the original kbroker distributed system does not support simultaneous use by multiple users.
second, the original kbroker distributed system cannot provide billing statistics for simultaneous usage by multiple users.
In order to solve the technical problem, the invention is realized as follows: a distributed operating system for a plurality of servers, comprising:
the system comprises a kbroker _ super module, a system application program number management module and a user application program number management module, wherein the kbroker _ super module is used for mapping a user application program to a system application program and managing the corresponding relation of the system application program number app _ id, the user number user _ id and the user application program number user _ app _ id; each user corresponds to a user number user _ id; each user can execute a plurality of user application programs, and one user application program corresponds to one user application program number user _ app _ id in the kbroker distributed system used by the user;
The service layer module is used for realizing the mutual conversion of the user application program number user _ app _ id and the system application program number app _ id of the service layer in the message transmission process between the service layer and the kbroker distributed operating system; the user application program number user _ app _ id corresponds to the system application program number app _ id one by one;
The kbroker _ server module is used for isolating message transmission of different user program processes;
the container module is used for isolating and limiting the upper limit of the server resources used by the process for running each user application program, and counting the server resources consumed by the container module; and the container module and the kbroker _ server module realize communication connection through interprocess communication.
further, the container module provides independent running environments for the programs running in the container module, and the running environments comprise a public environment and a private environment;
The public environment is provided by a distributed operating system of the kbroker, and comprises all library files provided by the distributed operating system of the kbroker, library files which are realized by a hook mode and used for calling the collaborative system of the blocking type and a bash operation command;
The private environment is provided by a software package of each application program, and comprises library files, execution programs and configuration files used by the application programs; the application program of the private environment related to the storage type resource comprises corresponding disk space configuration;
A rootfs file system is generated by running a public running environment and a private running environment, the rootfs file system is mounted as a root directory after a container module is started, files in the rootfs file system are read-only for an application program, and a disk space used by a storage type resource is created and mounted when a corresponding program is started.
Furthermore, the container module provides an isolation limiting function for the business layer program, and the container module realizes isolation among the programs through namespace of the linux system; and the limitation on the upper limit of the program use resource and the statistics on the server resource consumption are realized through the cgroup of the linux system.
Further, the kbroker _ super module manages the incidence relation between the user application program number user _ app _ id and the system application program number app _ id; the method comprises the steps that a kbroker _ super module provides a management interface for a user application program to apply for registration, parameters of the management interface comprise a user number user _ id and a user application program number user _ app _ id, the kbroker _ super module distributes a system application program number app _ id for the user application program number user _ app _ id to bind, and the association relation is stored.
Further, the kbroker _ server module realizes the message passing for isolating different user program processes,
The method comprises the steps that a kbroker _ server module stores all system application program number app _ ids used by each user, and stores the corresponding relation between each program process managed by the kbroker _ server module and the user number user _ id of the user to which the program process belongs;
When the program process managed by the program process sends data to the kbroker _ server module for forwarding, the kbroker _ server module analyzes the program number program _ id and the operation command of the target program process corresponding to the data; when the operation command is a specific operation command special for the system, allowing to forward and access data of the kbroker _ super module and the kbroker _ server module; and under other conditions, forwarding the system application program number app _ id corresponding to the target process number program _ id and the process number program _ id of the sender when the system application program number app _ id is the same user, otherwise, alarming and discarding.
Further, the app _ service module manages the mutual conversion between the system application number app _ id and the user application number user _ app _ id,
the app _ object of the business layer operation is uniquely determined by the user application number user _ app _ id and the object number object _ id of the app _ object;
The route cache of the app _ service module caches based on the user application program number user _ app _ id and the object number object _ id of the app _ object;
when a request of an app _ object running on the app _ service module is received, the app _ service module acquires a system application program number app _ id from a process number program _ id of a sender, acquires a user application program number user _ app _ id from the system application program number app _ id, and then delivers the user application program number user _ app _ id to a target app _ object for processing;
when the business layer sends data to the outside, the app _ service module acquires the corresponding system application number app _ id according to the user application number user _ app _ id of the target object, and then sends the data by using the system application number app _ id and the object number object _ id of the target object.
further, the business layer program is run in the container module,
the container module comprises a conventional isolation limiting function and is matched with a dynamic link library of the app _ service module to provide an operation frame for the business layer program, and the container module loads the dynamic link library of the business layer program to operate the business layer logic after the container module environment is configured;
The container module includes different types of implementations corresponding to the app _ service module, and the application selects the container module by configuration.
further, the container module is implemented with the aid of an open source program.
furthermore, the invention also provides a multi-user management system, which comprises the above-mentioned kbroker distributed operating system and a service layer management background;
the service layer management background provides a function of user registration;
when a user registers a new application program through the service layer management background, applying for registration of the application program through an interface provided by the kbroker distributed system, and storing the application program after successful registration;
When a user submits a software package of an application program through the service layer management background, the service layer management background acquires a system application program number app _ id of the application program in the distributed operating system of the kbroker corresponding to the application program, and submits the software package to an online storage website by using the system application program number app _ id as a parameter to provide a kbroker _ server module for network downloading through the system application program number app _ id;
The business layer management background provides functions of inquiring and managing application programs of the user;
And the service layer management background provides an interface to receive server resource consumption statistics reported by the kbroker _ server module, and stores and calculates the use cost of the user.
as described above, the multi-user kbroker distributed operating system and the multi-user management system according to the present invention provide an improved scheme for multiple users to simultaneously operate multiple different systems on the basis of the kbroker distributed operating system, so that the system can be used as a cloud service to simultaneously provide respective kbroker distributed operating systems for multiple users, thereby significantly improving the utilization rate of server resources and reducing the cost and difficulty of users to separately deploy and maintain the kbroker distributed operating system.
drawings
Fig. 1 is a schematic block diagram illustrating a multi-user kbroker distributed operating system and a multi-user management system according to an embodiment of the present invention.
Detailed Description
The embodiments of the present invention are described below with reference to specific embodiments, and other advantages and effects of the present invention will be easily understood by those skilled in the art from the disclosure of the present specification. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention. It is to be noted that the features in the following embodiments and examples may be combined with each other without conflict.
It should be noted that the drawings provided in the following embodiments are only for illustrating the basic idea of the present invention, and the components related to the present invention are only shown in the drawings rather than drawn according to the number, shape and size of the components in actual implementation, and the type, quantity and proportion of the components in actual implementation may be changed freely, and the layout of the components may be more complicated.
As shown in fig. 1, the present invention provides a multi-user kbroker distributed operating system, which includes a kbroker _ server module, a service layer module, a container module, and a kbroker _ super module.
The system comprises a kbroker _ server module, a user number user _ id module and a distributed operating system application program number application program id module, wherein the kbroker _ server module is used for storing the incidence relation between the user number user _ id and the application program number app _ id of an application program system in the kbroker distributed operating system; the isolation of message transmission among different users is realized by checking the program _ id of the target process when the data sent by the program managed by the user is forwarded, and the statistics of resource consumption of the management program are collected and reported. The method provides a distributed system of the kbroker for a plurality of users to use simultaneously, the core problem needing attention is isolation among user programs, and two aspects are needed to realize isolation: firstly, the user programs cannot interfere with each other in the running process, and the user programs are put into a container module for execution; and secondly, the data communication of different users can not interfere with each other, which is realized by checking whether the messages belong to the program of the same user or not in the message forwarding process.
The service layer module is used for realizing the mutual conversion of the user application program number user _ app _ id and the system application program number app _ id of the service layer in the message transmission process between the service layer and the kbroker distributed operating system; and the user application program number user _ app _ id corresponds to the system application program number app _ id one by one. The app _ service module stores the association relationship between the app _ id of the application program number of the distributed operating system of the kbroker and the user application program number user _ app _ id of the user to which the app _ id belongs, and performs mutual conversion between the app _ id of the application program number of the system and the user application program number user _ app _ id of the user. In order to realize the conversion, the kbroker _ super module is responsible for managing the corresponding relation between the user application program number user _ app _ id and the system application program number app _ id, the specific conversion is mainly performed in the app _ service module, the app _ service module converts the system application program number app _ id into the user application program number user _ app _ id and then transmits the user application program number user _ app _ id to the service layer, and then transmits the external message transmission of the service layer from the user application program number user _ app _ id into the system application program number app _ id and then transmits the system application program number app _ id.
The container module is used for isolating and limiting the upper limit of the server resource used by the process for running each user application program; each service layer program runs in an independent container module, and provides support for charging through statistics of server resources consumed by the container module; and the container module and the kbroker _ server module realize communication connection through interprocess communication.
The system comprises a kbroker _ super module, a system application program number management module and a user application program number management module, wherein the kbroker _ super module is used for mapping a user application program to a system application program and managing the corresponding relation of the system application program number app _ id, the user number user _ id and the user application program number user _ app _ id; each user corresponds to a user number user _ id; each user can execute a plurality of user application programs, and one user application program corresponds to one user application program number user _ app _ id in the kbroker distributed system used by the user.
The programs of the user are all placed in the container module to run, memory and cpu resources consumed by running of each program are counted, then the total memory and cpu resources used by the user are obtained after combination, and charging is carried out on the basis of the total memory and cpu resources.
The original business layer management background is expanded, user registration is supported, and management of application programs owned by the user is achieved, so that a cloud service system used by multiple users is achieved.
the environment of the container module is mainly dynamic link library file, program execution file and configuration. The container module provides independent operation environments for programs operated in the container module, and the operation environments comprise a public environment and a private environment.
the public environment is provided by a distributed operating system of the kbroker, and comprises all library files provided by the distributed operating system of the kbroker, library files which are realized by a hook mode and used for calling the blocking system to be stylized, and a bash operation command. The dynamic link library file provided by the kbroker distributed operating system in the public environment is a basic library file which is needed by everyone, is provided by the system for safety, and cannot be covered by the library file configured in the container. The library file for realizing the negotiation of the blocking system call by using the hook mode is a file named libkbroker _ hook.
The private environment is provided by a software package of each application program, and comprises library files, execution programs and configuration files used by the application programs; the application program of the private environment related to the storage type resource comprises the corresponding disk space configuration. The private environment is configured by a user, can specify that some programs or library files are installed in a system installation mode, can also be configured to generate some programs and library files through source file compiling, and can also directly provide the programs and the library files under the condition that the system is the same. Because the cloud service of the server based on the linux system is realized, the system installation mode is preferentially recommended to be used, the system installation mode is directly provided, and the system installation mode is provided by using the compiling mode finally, so that the user complexity is reduced.
a rootfs file system is generated through a public operating environment and a private operating environment, the rootfs file system is mounted as a root directory after a container module is started, files in the rootfs file system are read-only for an application program, and a disk space used by a storage type resource is created and mounted when a specific program is started.
the container module provides an isolation limiting function for the business layer program, and the container module realizes isolation among programs through namespace of the linux system; and the limitation on the upper limit of the program use resource and the statistics on the server resource consumption are realized through the cgroup of the linux system. The isolation limiting function of the container module is somewhat similar to that of lxc and docker in terms of using namespace and cgroup to realize the isolation limiting function, but compared with lxc and docker, the function of the container module is more focused on isolation limiting and charging statistics, complex management functions are abandoned, and the method is simpler and lighter.
the container module is started through a root account of the system, after the configuration of the environment of the container module is completed, the container module switches the root account into a common user, and then the common user is used for executing the logic of the service layer program.
The container module realizes the isolation of account number authority to the application program through a user module of namespace; the container module is started through a root account of the system, and the configuration of the container module environment is completed; and the container module switches the root account into a common user, and the common user starts the application program after setting the root account in the container module.
The container module realizes network isolation on the application program through a network module of namespace; the app _ service program of the application program comprises an extranet communication required mode and an extranet communication not required mode; configuring a bridge, forwarding and routing rules for external network communication mode after isolation to communicate externally; the external network communication mode is not needed, and only the network is manually started after the isolation.
The container module realizes file system isolation on an application program through a mount module of namespace, and mounts a rootfs folder of a container environment as a root directory; and defining a directory used by the storage type resource under a/var directory, configuring the specified directory and directory size through the container module, and creating a file and mounting the file.
the container module realizes the statistics of resource limitation and resource consumption on the application program through cgroup: limiting resource consumption of the cpu by the program in the container module through a cpu subsystem of the cgroup; limiting the usable memory upper limit of the program in the container module through a memory subsystem of the cgroup, and providing statistics of the memory usage amount; limiting the access of programs in a container module to a disk and realizing the statistics of disk resources through a cgroup blkio system; the cpu utilization condition of the program in the container module is counted by a cpu acct subsystem of the cgroup.
Due to the unique advantage that the kbroker distributed system carries out logic programming based on the app _ object, the resource upper limit settings of all containers are consistent, the system can adjust the allocation of the app _ object objects according to the running condition without the need of configuring by the user, the only configuration needed is the size of the disk space of the storage type resource used by the user, the size has a uniform default value, and the user can also adjust the size according to the needs. The design can make the user only care about logic and not about system resource problem to the maximum extent.
The kbroker _ super module manages the incidence relation between the user application program number user _ app _ id of the user application program and the system application program number app _ id of the system application program; the method comprises the steps that a Kbroker _ super module provides a management interface for a user application program to apply for registration, parameters of the management interface comprise a user number user _ id and a user application program number user _ app _ id, the Kbroker _ super module distributes a system application program number app _ id for the user application program to bind, and the incidence relation is stored.
The kbroker _ server module stores the system application program number app _ id of all the system application programs used by each user, and stores the corresponding relation between each program managed by the kbroker _ server module and the user number user _ id of the user. When a program managed by the program sends data to the kbroker _ server module for forwarding, the kbroker _ server module analyzes a program _ id and an operation command of a target process number corresponding to the data; when the operation command is a specific operation command special for the system, allowing to forward and access data of the kbroker _ super module and the kbroker _ server module; and under other conditions, forwarding the system application program number app _ id corresponding to the target process number program _ id and the process number program _ id of the sender when the system application program number app _ id is the same user, otherwise, alarming and discarding.
The app _ service module manages the mutual conversion between the system application number app _ id and the user application number user _ app _ id, and the app _ object of the business layer operation is uniquely determined by the user application number user _ app _ id and the object number object _ id of the app _ object. The route cache of the app _ service module caches based on the user application number user _ app _ id and the object number object _ id of the app _ object. When a request of an app _ object running on the app _ service module is received, the app _ service module acquires a system application number app _ id from a process number program _ id of a sender, acquires a user application number user _ app _ id from the system application number app _ id, and then hands the user application number user _ app _ id to a target app _ object for processing. When the business layer sends data to the outside, the app _ service module acquires the corresponding system application number app _ id according to the user application number user _ app _ id of the target object, and then sends the data by using the system application number app _ id and the object number object _ id of the target object.
When the routing information of an app _ object of a certain business layer is obtained, the user application program number user _ app _ id of the app _ object of the business layer is used for obtaining the system application program number app _ id, and the routing information is obtained through the main kbroker _ allocator module corresponding to the system application program number app _ id. And after the routing information is obtained, obtaining a user application program number user _ app _ id through the system application program number app _ id in the routing information, and caching the routing information through the user application program number user _ app _ id.
The invention also relates to a multi-user management system which comprises a service layer management background, wherein the service layer management background provides the function of user registration. When a user registers a new application program through the service layer management background, the service layer management background applies for registration of the application program through an interface provided by the kbroker distributed system, and the application program is stored after the registration is successful. When a user submits a software package of an application program through a service layer management background, the service layer management background acquires a system application program number app _ id of the application program in the distributed operating system of the kbroker corresponding to the application program, and submits the software package to an online storage website by using the system application program number app _ id as a parameter to provide a kbroker _ server module for network downloading through the system application program number app _ id. The service layer management background provides functions of inquiring and managing the application programs of the user. And the service layer management background provides an interface to receive the server resource consumption statistics reported by the kbroker _ server module, and stores and calculates the use cost of the user.
The method comprises the steps that a service layer program is operated in a container module, the container module comprises a conventional isolation limiting function and is matched with a dynamic link library of an app _ service module to provide an operation frame for the service layer program, and the container module loads the dynamic link library of the service layer program to operate a service layer logic after the container module is configured with a container module environment; the container module includes different types of implementations corresponding to the app _ service module, and the application selects the container module by configuration.
The container module of the cloud service is only used for isolating an original independently-operated program, a complex management function does not need to be set for a container, the final form is close to the original independent program to be better operated on the premise of completing isolation and resource consumption statistics, and therefore a method for operating a business layer program by loading a dynamic link library is adopted
when a certain program of an application program is started, a proper container module type is selected according to configuration, then the container module is responsible for completing the configuration of a container environment and is connected to the kbroker _ server module in an unix socket mode, then an unsharee function of a linux system is used for placing the container module in the container, and then a dynamic link library file of a corresponding business layer program is loaded for running.
the method comprises the steps that a management interface which is originally applied and registered by an application program is replaced by an interface which is applied and registered by a user application program through a kbroker _ super module, the corresponding relation between the system application program number app _ id and a user application program number user _ id service layer management background and the user application program number user _ app _ id is newly added to the replaced function on the basis that a new system application program number app _ id is originally generated, and an internal interface is provided for a kbroker _ server module to be used for inquiring the corresponding relation.
the kbroker _ server module needs to keep the association relationship between the system application program number app _ id and the user number user _ id, and examines the message according to the association relationship when the message is forwarded; when the program is started, the logic is changed to start the container module firstly; the kbroker _ server module is also responsible for counting the consumption of the management program to the resources and reporting to the background for charging.
The app _ service module stores the correlation between the user application program number user _ app _ id and the system application program number app _ id owned by the user to which the app _ service module belongs, and the places where the user application program number user _ app _ id and the system application program number app _ id need to be converted by the core are as follows: in the aspects of route caching and service layer interfaces of the system application program number app _ id, the system application program number app _ id is replaced by a user application program number user _ app _ id corresponding to the system application program number app _ id; when a routing request is sent to the outside, the user application program number user _ app _ id transmitted by the service layer is converted into the system application program number app _ id, and then the system application program number app _ id is sent to the main app _ allocator module corresponding to the system application program number app _ id to request.
The container function is relatively mature, lxc and docker are on the market for reference, isolation limitation function implementation does not have problems, the invention is not innovative in this respect, and what we do is only simplified according to our needs, so that the container can simply implement isolation limitation and statistical functions on the basis as far as possible, and complex configuration management functions are eliminated, and the method is close to the single operation of the original program to the greatest extent. Therefore, the container module program does not run the program in the container environment after the configuration of the conventional container to the container environment is realized, the container module program is switched into the container environment by unshare, and then the dynamic link library of the program is loaded, so that the direct running of the original program is approached to the maximum extent.
The container module can also be realized by the aid of open source programs such as lxc, docker and the like. For example, the container module may be implemented with the aid of lxc, and the service layer executive program is directly run in the container generated by the container module without using a dynamic link library, and the generated program is directly connected to the kbroker _ server module on the same server, only because of the possibility of bridge configuration and some performance consumption.
In summary, the present invention provides an improved scheme for multiple users to simultaneously operate multiple different systems based on a kbroker distributed operating system, so that the system can be used as a cloud service to simultaneously provide respective kbroker distributed operating systems for multiple users, thereby significantly improving the utilization rate of server resources and reducing the cost and difficulty of users to separately deploy and maintain the kbroker distributed operating system.
Therefore, the present invention effectively overcomes various disadvantages of the prior art and has high industrial utilization value.
the foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical spirit of the present invention be covered by the claims of the present invention.

Claims (9)

1. A multi-user kbroker distributed operating system, comprising:
The system comprises a kbroker _ super module, a system application program number management module and a user application program number management module, wherein the kbroker _ super module is used for mapping a user application program to a system application program and managing the corresponding relation of the system application program number app _ id, the user number user _ id and the user application program number user _ app _ id; each user corresponds to a user number user _ id; each user can execute a plurality of user application programs, and one user application program corresponds to one user application program number user _ app _ id in the kbroker distributed system used by the user;
the service layer module is used for realizing the mutual conversion of the user application program number user _ app _ id and the system application program number app _ id of the service layer in the message transmission process between the service layer and the kbroker distributed operating system; the user application program number user _ app _ id corresponds to the system application program number app _ id one by one;
The kbroker _ server module is used for isolating message transmission of different user program processes;
The container module is used for isolating and limiting the upper limit of the server resources used by the process for running each user application program, and counting the server resources consumed by the container module; and the container module and the kbroker _ server module realize communication connection through interprocess communication.
2. The multi-user kbroker distributed operating system of claim 1 wherein the container module provides separate runtime environments for programs running therein, the runtime environments including a public environment and a private environment;
The public environment is provided by a distributed operating system of the kbroker, and comprises all library files provided by the distributed operating system of the kbroker, library files which are realized by a hook mode and used for calling the collaborative system of the blocking type and a bash operation command;
the private environment is provided by a software package of each application program, and comprises library files, execution programs and configuration files used by the application programs; the application program of the private environment related to the storage type resource comprises corresponding disk space configuration;
A rootfs file system is generated by running a public running environment and a private running environment, the rootfs file system is mounted as a root directory after a container module is started, files in the rootfs file system are read-only for an application program, and a disk space used by a storage type resource is created and mounted when a corresponding program is started.
3. The multi-user kbroker distributed operating system according to claim 1, wherein the container module provides an isolation restriction function for the business layer program, and the container module realizes isolation between programs through namespace of the linux system; and the limitation on the upper limit of the program use resource and the statistics on the server resource consumption are realized through the cgroup of the linux system.
4. The multi-user kbroker distributed operating system according to claim 1, wherein the kbroker _ super module manages an association relationship between a user application number user _ app _ id and a system application number app _ id; the method comprises the steps that a kbroker _ super module provides a management interface for a user application program to apply for registration, parameters of the management interface comprise a user number user _ id and a user application program number user _ app _ id, the kbroker _ super module distributes a system application program number app _ id for the user application program number user _ app _ id to bind, and the association relation is stored.
5. The multi-user kbroker distributed operating system of claim 1 wherein the kbroker _ server module implements message passing that isolates different user program processes,
the method comprises the steps that a kbroker _ server module stores all system application program number app _ ids used by each user, and stores the corresponding relation between each program process managed by the kbroker _ server module and the user number user _ id of the user to which the program process belongs;
when the program process managed by the program process sends data to the kbroker _ server module for forwarding, the kbroker _ server module analyzes the program number program _ id and the operation command of the target program process corresponding to the data; when the operation command is a specific operation command special for the system, allowing to forward and access data of the kbroker _ super module and the kbroker _ server module; and under other conditions, forwarding the system application program number app _ id corresponding to the target process number program _ id and the process number program _ id of the sender when the system application program number app _ id is the same user, otherwise, alarming and discarding.
6. the multi-user kbroker distributed operating system according to claim 1, wherein the app _ service module manages the inter-conversion between the system application number app _ id and the user application number user _ app _ id,
The app _ object of the business layer operation is uniquely determined by the user application number user _ app _ id and the object number object _ id of the app _ object;
The route cache of the app _ service module caches based on the user application program number user _ app _ id and the object number object _ id of the app _ object;
When a request of an app _ object running on the app _ service module is received, the app _ service module acquires a system application program number app _ id from a process number program _ id of a sender, acquires a user application program number user _ app _ id from the system application program number app _ id, and then delivers the user application program number user _ app _ id to a target app _ object for processing;
When the business layer sends data to the outside, the app _ service module acquires the corresponding system application number app _ id according to the user application number user _ app _ id of the target object, and then sends the data by using the system application number app _ id and the object number object _ id of the target object.
7. the multi-user kbroker distributed operating system of claim 1 wherein the business layer program is run in a container module,
The container module comprises a conventional isolation limiting function and is matched with a dynamic link library of the app _ service module to provide an operation frame for the business layer program, and the container module loads the dynamic link library of the business layer program to operate the business layer logic after the container module environment is configured;
The container module includes different types of implementations corresponding to the app _ service module, and the application selects the container module by configuration.
8. The multi-user kbroker distributed operating system of claim 1 wherein the container module is implemented with the assistance of an open source program.
9. a multi-user management system, comprising the kbroker distributed operating system according to any one of claims 1 to 8 and a business layer management back-end;
the service layer management background provides a function of user registration;
When a user registers a new application program through the service layer management background, applying for registration of the application program through an interface provided by the kbroker distributed system, and storing the application program after successful registration;
When a user submits a software package of an application program through the service layer management background, the service layer management background acquires a system application program number app _ id of the application program in the distributed operating system of the kbroker corresponding to the application program, and submits the software package to an online storage website by using the system application program number app _ id as a parameter to provide a kbroker _ server module for network downloading through the system application program number app _ id;
The business layer management background provides functions of inquiring and managing application programs of the user;
And the service layer management background provides an interface to receive server resource consumption statistics reported by the kbroker _ server module, and stores and calculates the use cost of the user.
CN201910843892.4A 2019-09-06 2019-09-06 Multi-user kbook distributed operating system and multi-user management system Active CN110569043B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910843892.4A CN110569043B (en) 2019-09-06 2019-09-06 Multi-user kbook distributed operating system and multi-user management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910843892.4A CN110569043B (en) 2019-09-06 2019-09-06 Multi-user kbook distributed operating system and multi-user management system

Publications (2)

Publication Number Publication Date
CN110569043A true CN110569043A (en) 2019-12-13
CN110569043B CN110569043B (en) 2023-04-25

Family

ID=68778446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910843892.4A Active CN110569043B (en) 2019-09-06 2019-09-06 Multi-user kbook distributed operating system and multi-user management system

Country Status (1)

Country Link
CN (1) CN110569043B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104162A (en) * 2019-12-18 2020-05-05 程延辉 Kbrooker distributed operating system with new and old codes running together
CN111240752A (en) * 2019-12-31 2020-06-05 北京元心科技有限公司 Operating system self-adaption method and system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789392A (en) * 2012-06-21 2012-11-21 中国电力科学研究院 Method for constructing power system distributed platform
CN105187500A (en) * 2015-08-07 2015-12-23 浪潮(北京)电子信息产业有限公司 Container-based distributed storage system deployment method
US20160323377A1 (en) * 2015-05-01 2016-11-03 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US9578088B2 (en) * 2005-09-15 2017-02-21 Ca, Inc. Globally distributed utility computing cloud
CN106487596A (en) * 2016-10-26 2017-03-08 宜人恒业科技发展(北京)有限公司 Distributed Services follow the tracks of implementation method
CN108924217A (en) * 2018-06-29 2018-11-30 中山大学 A kind of distribution cloud system Automation arranging method
CN109062655A (en) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 A kind of containerization cloud platform and server
CN109600439A (en) * 2018-12-13 2019-04-09 北京百度网讯科技有限公司 The dispositions method and PaaS platform of PaaS platform based on micro services
CN109684822A (en) * 2018-12-30 2019-04-26 深圳开立生物医疗科技股份有限公司 Multi-user access environment configurations method, apparatus, equipment and multi-line system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9578088B2 (en) * 2005-09-15 2017-02-21 Ca, Inc. Globally distributed utility computing cloud
CN102789392A (en) * 2012-06-21 2012-11-21 中国电力科学研究院 Method for constructing power system distributed platform
US20160323377A1 (en) * 2015-05-01 2016-11-03 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
CN105187500A (en) * 2015-08-07 2015-12-23 浪潮(北京)电子信息产业有限公司 Container-based distributed storage system deployment method
CN106487596A (en) * 2016-10-26 2017-03-08 宜人恒业科技发展(北京)有限公司 Distributed Services follow the tracks of implementation method
CN109062655A (en) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 A kind of containerization cloud platform and server
CN108924217A (en) * 2018-06-29 2018-11-30 中山大学 A kind of distribution cloud system Automation arranging method
CN109600439A (en) * 2018-12-13 2019-04-09 北京百度网讯科技有限公司 The dispositions method and PaaS platform of PaaS platform based on micro services
CN109684822A (en) * 2018-12-30 2019-04-26 深圳开立生物医疗科技股份有限公司 Multi-user access environment configurations method, apparatus, equipment and multi-line system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HENGCHANG LIU: "An Automatic, Robust, and Efficient Multi-User Breadcrumb System for Emergency Response Applications", 《IEEE TRANSACTIONS ON MOBILE COMPUTING》 *
宋红杰: "基于Service Broker的分布式系统的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
张晓杰: "基于HDFS的可信分布式文件系统研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
莘建浦: "基于Docker容器的网络安全实训平台的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104162A (en) * 2019-12-18 2020-05-05 程延辉 Kbrooker distributed operating system with new and old codes running together
WO2021120693A1 (en) * 2019-12-18 2021-06-24 程延辉 Kbroker distributed operating system with new and old codes running together
CN111104162B (en) * 2019-12-18 2023-03-24 程延辉 Kbrooker distributed operating system with new and old codes running together
CN111240752A (en) * 2019-12-31 2020-06-05 北京元心科技有限公司 Operating system self-adaption method and system

Also Published As

Publication number Publication date
CN110569043B (en) 2023-04-25

Similar Documents

Publication Publication Date Title
CN107426034B (en) Large-scale container scheduling system and method based on cloud platform
CN113596110B (en) Cloud primary micro-service platform oriented to heterogeneous cloud
WO2015165095A1 (en) Method for creating virtual base station, and base station cloud device
CN110113185A (en) Method, system, storage medium and the device of a kind of rapid deployment alliance chain
CN106161537A (en) The processing method of remote procedure call, device, system and electronic equipment
CN105103506A (en) Network function virtualization method and device
CN105262837A (en) Tri-network integration application terminal accessing device based on cloud computing and realization method
CN106686140A (en) Network virtualization storage method, equipment and system
CN106293847B (en) Method for supporting service of virtualization platform
CN110837418A (en) High-concurrency web system based on container and implementation method
CN110569043A (en) Multi-user kbroker distributed operating system and multi-user management system
CN103546571A (en) Platform-as-a-service (PaaS) realizing method and device
WO2022160872A1 (en) Service processing method and device
CN109314721A (en) The management of multiple clusters of distributed file system
CN103036917B (en) The implementation method of client platform and client platform
WO2016095524A1 (en) Resource allocation method and apparatus
CN102611754A (en) Management method of client in cloud storage based on iSCSI (internet small computer system interface)
CN106412030B (en) A kind of selection storage resource method, apparatus and system
CN111092921A (en) Data acquisition method, device and storage medium
Aversa et al. The cloud@ home project: Towards a new enhanced computing paradigm
JP2022550402A (en) Network resource management method, system, network equipment and readable storage medium
CN110543315B (en) Distributed operating system of kbroker, storage medium and electronic equipment
CN104571930A (en) Management method and management system of security domain storage spaces as well as multi-application open platform device
CN105404530A (en) System and method for realizing simple deployment and using private cloud
CN110795202B (en) Resource allocation method and device of virtualized cluster resource management system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant