CN108182114B - Resource allocation method, terminal and computer readable storage medium - Google Patents

Resource allocation method, terminal and computer readable storage medium Download PDF

Info

Publication number
CN108182114B
CN108182114B CN201711448553.3A CN201711448553A CN108182114B CN 108182114 B CN108182114 B CN 108182114B CN 201711448553 A CN201711448553 A CN 201711448553A CN 108182114 B CN108182114 B CN 108182114B
Authority
CN
China
Prior art keywords
resource
resources
terminal
resource management
management process
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.)
Active
Application number
CN201711448553.3A
Other languages
Chinese (zh)
Other versions
CN108182114A (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.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201711448553.3A priority Critical patent/CN108182114B/en
Publication of CN108182114A publication Critical patent/CN108182114A/en
Application granted granted Critical
Publication of CN108182114B publication Critical patent/CN108182114B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the invention discloses a resource allocation method, a terminal and a computer readable storage medium, which can reduce the overhead of the terminal, and the method can comprise the following steps: when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time; when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process; and when the allocation duration reaches the preset allocation duration, releasing the use permission of the resources to be used in the second process so as to carry out the process of applying for the resources to be used in the next round.

Description

Resource allocation method, terminal and computer readable storage medium
Technical Field
The present invention relates to the field of computers, and in particular, to a resource allocation method, a terminal, and a computer-readable storage medium.
Background
Along with the rapid development of intelligent terminals, a large number of applications are integrated on the terminals to provide corresponding services for users, meanwhile, in order to improve the intelligence of the terminals, various applications can be simultaneously operated on the terminals, for example, short messages are sent while listening to songs, when a plurality of processes on the terminals are simultaneously operated, when loop waiting states are generated when a plurality of processes apply for using resources, the problem of terminal deadlock can be generated, and therefore the use experience of the users is influenced.
In the prior art, before a terminal allocates resources, the application amount of a process to the resources is acquired, whether the existing resources of a system can meet the application amount is judged, when the existing resources of the system meet the application amount, the resources are allocated according to the application amount, otherwise, allocation is postponed, so that each process which successfully applies for the resources is in a safe state, and deadlock cannot be generated in the safe state.
However, in the prior art, the terminal needs to set a plurality of data structures to perform the processes of application amount determination, deferred allocation and the like, which results in high terminal overhead.
Disclosure of Invention
In order to solve the foregoing technical problems, embodiments of the present invention desirably provide a resource allocation method, a terminal, and a computer-readable storage medium, which can reduce overhead of the terminal.
The embodiment of the invention provides a resource allocation method, which comprises the following steps:
when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time;
when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process;
and when the allocation duration reaches a preset allocation duration, releasing the use permission of the second process on the resources to be used so as to carry out the process of applying for the resources to be used in the next round.
In the above method, after the resource to be used carried by the first use request is obtained, before the second process and the allocation duration corresponding to the resource to be used are obtained from the resource management process, the method further includes:
searching the use mark value of the resource to be used from the resource management process;
when the use flag value is a first preset value, judging that the resources to be used are allocated;
and when the use flag value is a second preset value, judging that the resource to be used is not allocated.
In the above method, the obtaining a second process and an allocation duration corresponding to the resource to be used from the resource management process includes:
searching the use bit of the resource to be used from the resource management process;
acquiring a second process number corresponding to the second process from the use bit;
determining a set duration for setting the use flag value to the second preset value by using the resource management process;
and determining the set time length as the distribution time length.
In the above method, after the releasing of the usage right of the resource to be used by the second process, the method further includes:
changing the use flag value to the second preset value;
setting the use bit to null.
In the above method, after the obtaining of the resource to be used carried by the first usage request, the method further includes:
when the resource to be used is not allocated, allocating the use permission of the resource to be used for the first process;
adding a first process number corresponding to the first process to the use bit;
and setting the use flag value as the first preset value.
An embodiment of the present invention provides a terminal, where the terminal includes: the processor is used for executing the running program stored in the memory so as to realize the following steps:
when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time; when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process; and when the allocation duration reaches a preset allocation duration, releasing the use permission of the second process on the resources to be used so as to carry out the process of applying for the resources to be used in the next round.
In the above terminal, the processor is further configured to search for a usage flag value of the resource to be used from the resource management process; when the use flag value is a first preset value, judging that the resources to be used are allocated; and when the use flag value is a second preset value, judging that the resource to be used is not allocated.
In the above terminal, the processor is further configured to search the usage bit of the resource to be used from the resource management process; acquiring a second process number corresponding to the second process from the use bit; determining a set duration for setting the use flag value to the second preset value by using the resource management process; determining the set time length as the distribution time length; changing the use flag value to the second preset value; setting the use bit to null.
In the above terminal, the processor is further configured to allocate the usage right of the resource to be used to the first process when the resource to be used is not allocated; adding a first process number corresponding to the first process to the use bit; and setting the use flag value as the first preset value.
An embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, and the computer program is applied to a terminal, and when being executed by a processor, the computer program implements the resource allocation method according to any one of the above.
The embodiment of the invention provides a resource allocation method, a terminal and a computer readable storage medium, wherein the method comprises the following steps: when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time; when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process; and when the allocation duration reaches the preset allocation duration, releasing the use permission of the resources to be used in the second process so as to carry out the process of applying for the resources to be used in the next round. By adopting the scheme, the terminal establishes the resource management process which manages the resources to be used, when the first process applies for using the resources to be used which are already allocated to the second process, the terminal judges whether the allocation duration of the resources to be used reaches the preset allocation duration by using the resource management process, when the allocation duration reaches the preset allocation duration, the terminal releases the use permission of the resources to be used by the second process and directly performs the next application process of applying for the resources to be used, the terminal does not need to establish a plurality of data structures to perform the processes of judging the application amount, delaying allocation and the like, and the expense of the terminal can be reduced.
Drawings
Fig. 1 is a schematic diagram of a hardware structure of a mobile terminal implementing various embodiments of the present invention;
fig. 2 is a diagram of a communication network system architecture according to an embodiment of the present invention;
fig. 3 is a first flowchart of a resource allocation method according to an embodiment of the present invention;
FIG. 4 is a diagram illustrating an exemplary storage format of an R1 resource in a resource management process according to an embodiment of the present invention;
fig. 5 is a flowchart of a resource allocation method according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In the following description, suffixes such as "module", "component", or "unit" used to denote elements are used only for facilitating the explanation of the present invention, and have no specific meaning in itself. Thus, "module", "component" or "unit" may be used mixedly.
The terminal may be implemented in various forms. For example, the terminal described in the present invention may include a mobile terminal such as a mobile phone, a tablet computer, a notebook computer, a palmtop computer, a Personal Digital Assistant (PDA), a Portable Media Player (PMP), a navigation terminal, a wearable device, a smart band, a pedometer, and the like, and a fixed terminal such as a Digital TV, a desktop computer, and the like.
The following description will be given by way of example of a mobile terminal, and it will be understood by those skilled in the art that the construction according to the embodiment of the present invention can be applied to a fixed type terminal, in addition to elements particularly used for mobile purposes.
Referring to fig. 1, which is a schematic diagram of a hardware structure of a mobile terminal for implementing various embodiments of the present invention, the mobile terminal 100 may include: RF (Radio Frequency) unit 101, WIreless FIdelity (WI-FI) module 102, audio output unit 103, a/V (audio/video) input unit 104, sensor 105, display unit 106, user input unit 107, interface unit 108, memory 109, processor 110, and power supply 111. Those skilled in the art will appreciate that the mobile terminal architecture shown in fig. 1 is not intended to be limiting of mobile terminals, which may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
The following describes each component of the mobile terminal in detail with reference to fig. 1:
the radio frequency unit 101 may be configured to receive and transmit signals during information transmission and reception or during a call, and specifically, receive downlink information of a base station and then process the downlink information to the processor 110; in addition, the uplink data is transmitted to the base station. Typically, radio frequency unit 101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency unit 101 can also communicate with a network and other devices through wireless communication. The wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System for Mobile communications), GPRS (General Packet Radio Service), CDMA2000(Code Division Multiple Access 2000), WCDMA (Wideband Code Division Multiple Access), TD-SCDMA (Time Division-Synchronous Code Division Multiple Access), FDD-LTE (Frequency Division duplex Long Term Evolution), and TDD-LTE (Time Division duplex Long Term Evolution).
WI-FI belongs to short distance wireless transmission technology, and the mobile terminal can help the user to receive and send e-mail, browse web pages, access streaming media and the like through the WI-FI module 102, and provides wireless broadband internet access for the user. Although fig. 1 illustrates WI-FI module 102, it is understood that it does not belong to the essential components of the mobile terminal, and may be omitted entirely as needed within the scope not changing the essence of the invention.
The audio output unit 103 may convert audio data received by the radio frequency unit 101 or the WI-FI module 102 or stored in the memory 109 into an audio signal and output as sound when the mobile terminal 100 is in a call signal reception mode, a call mode, a recording mode, a voice recognition mode, a broadcast reception mode, or the like. Also, the audio output unit 103 may also provide audio output related to a specific function performed by the mobile terminal 100 (e.g., a call signal reception sound, a message reception sound, etc.). The audio output unit 103 may include a speaker, a buzzer, and the like.
The a/V input unit 104 is used to receive audio or video signals. The a/V input Unit 104 may include a Graphics Processing Unit (GPU) 1041 and a microphone 1042, and the Graphics Processing Unit 1041 processes image data of still pictures or videos obtained by an image capturing terminal (e.g., a camera) in a video capturing mode or an image capturing mode. The processed image frames may be displayed on the display unit 106. The image frames processed by graphics processor 1041 may be stored in memory 109 (or other storage medium) or transmitted via radio unit 101 or WI-FI module 102. The microphone 1042 may receive sounds (audio data) via the microphone 1042 in a phone call mode, a recording mode, a voice recognition mode, or the like, and may be capable of processing such sounds into audio data. The processed audio (voice) data may be converted into a format output transmittable to a mobile communication base station via the radio frequency unit 101 in case of a phone call mode. The microphone 1042 may implement various types of noise cancellation (or suppression) algorithms to cancel (or suppress) noise or interference generated in the course of receiving and transmitting audio signals.
The mobile terminal 100 also includes at least one sensor 105, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor that can adjust the brightness of the display panel 1061 according to the brightness of ambient light, and a proximity sensor that can turn off the display panel 1061 and/or a backlight when the mobile terminal 100 is moved to the ear. As one of the motion sensors, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally, three axes), can detect the magnitude and direction of gravity when stationary, and can be used for applications of recognizing the posture of a mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer and tapping), and the like; as for other sensors such as a fingerprint sensor, a pressure sensor, an iris sensor, a molecular sensor, a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which can be configured on the mobile phone, further description is omitted here.
The display unit 106 is used to display information input by a user or information provided to the user. The Display unit 106 may include a Display panel 1061, and the Display panel 1061 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like.
The user input unit 107 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the mobile terminal. Specifically, the user input unit 107 may include a touch panel 1071 and other input devices 1072. The touch panel 1071, also referred to as a touch screen, may collect a touch operation performed by a user on or near the touch panel 1071 (e.g., an operation performed by the user on or near the touch panel 1071 using a finger, a stylus pen, or any other suitable object or accessory), and drive a corresponding connection terminal according to a preset program. The touch panel 1071 may include two parts of a touch detection terminal and a touch controller. The touch detection terminal detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing terminal, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 110, and can receive and execute commands sent by the processor 110. In addition, the touch panel 1071 may be implemented in various types, such as a resistive type, a capacitive type, an infrared ray, and a surface acoustic wave. In addition to the touch panel 1071, the user input unit 107 may include other input devices 1072. In particular, other input devices 1072 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like, and are not limited to these specific examples.
Further, the touch panel 1071 may cover the display panel 1061, and when the touch panel 1071 detects a touch operation thereon or nearby, the touch panel 1071 transmits the touch operation to the processor 110 to determine the type of the touch event, and then the processor 110 provides a corresponding visual output on the display panel 1061 according to the type of the touch event. Although the touch panel 1071 and the display panel 1061 are shown in fig. 1 as two separate components to implement the input and output functions of the mobile terminal, in some embodiments, the touch panel 1071 and the display panel 1061 may be integrated to implement the input and output functions of the mobile terminal, and is not limited herein.
The interface unit 108 serves as an interface through which at least one external terminal is connected to the mobile terminal 100. For example, the external terminal may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a terminal having an identification module, an audio input/output (I/O) port, a video I/O port, an earphone port, and the like. The interface unit 108 may be used to receive input (e.g., data information, power, etc.) from an external terminal and transmit the received input to one or more elements within the mobile terminal 100 or may be used to transmit data between the mobile terminal 100 and the external terminal.
The memory 109 may be used to store software programs as well as various data. The memory 109 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. Further, the memory 109 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The processor 110 is a control center of the mobile terminal, connects various parts of the entire mobile terminal using various interfaces and lines, and performs various functions of the mobile terminal and processes data by operating or executing software programs and/or modules stored in the memory 109 and calling data stored in the memory 109, thereby performing overall monitoring of the mobile terminal. Processor 110 may include one or more processing units; preferably, the processor 110 may integrate an application processor, which mainly handles operating systems, user interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated into the processor 110.
The mobile terminal 100 may further include a power supply 111 (e.g., a battery) for supplying power to various components, and preferably, the power supply 111 may be logically connected to the processor 110 via a power management system, so as to manage charging, discharging, and power consumption management functions via the power management system.
Although not shown in fig. 1, the mobile terminal 100 may further include a bluetooth module or the like, which is not described in detail herein.
In order to facilitate understanding of the embodiments of the present invention, a communication network system on which the mobile terminal of the present invention is based is described below.
Referring to fig. 2, fig. 2 is an architecture diagram of a communication Network system according to an embodiment of the present invention, where the communication Network system is an LTE system of a universal mobile telecommunications technology, and the LTE system includes a UE (User Equipment) 201, an E-UTRAN (Evolved UMTS Terrestrial Radio Access Network) 202, an EPC (Evolved Packet Core) 203, and an IP service 204 of an operator, which are in communication connection in sequence.
Specifically, the UE201 may be the terminal 100 described above, and is not described herein again.
The E-UTRAN202 includes eNodeB2021 and other eNodeBs 2022, among others. Among them, the eNodeB2021 may be connected with other eNodeB2022 through backhaul (e.g., X2 interface), the eNodeB2021 is connected to the EPC203, and the eNodeB2021 may provide the UE201 access to the EPC 203.
The EPC203 may include an MME (Mobility Management Entity) 2031, an HSS (Home Subscriber Server) 2032, other MMEs 2033, an SGW (Serving gateway) 2034, a PGW (PDN gateway) 2035, and a PCRF (Policy and Charging Rules Function) 2036, and the like. The MME2031 is a control node that handles signaling between the UE201 and the EPC203, and provides bearer and connection management. HSS2032 is used to provide registers to manage functions such as home location register (not shown) and holds subscriber specific information about service characteristics, data rates, etc. All user data may be sent through SGW2034, PGW2035 may provide IP address assignment for UE201 and other functions, and PCRF2036 is a policy and charging control policy decision point for traffic data flow and IP bearer resources, which selects and provides available policy and charging control decisions for a policy and charging enforcement function (not shown).
The IP services 204 may include the internet, intranets, IMS (IP Multimedia Subsystem), or other IP services, among others.
Although the LTE system is described as an example, it should be understood by those skilled in the art that the present invention is not limited to the LTE system, but may also be applied to other wireless communication systems, such as GSM, CDMA2000, WCDMA, TD-SCDMA, and future new network systems.
Based on the above mobile terminal hardware structure and communication network system, the present invention provides various embodiments of the method.
The conditions for deadlock generation are: the processes P1, P2 and P3 respectively apply for three resources R1, R2 and R3 simultaneously, but the three processes are already allocated to the resources R3, R1 and R2 respectively, so that the situation that the process P1 needs to wait for the P2 process when applying for R1, the process P2 needs to wait for R3 process when applying for R2, and the process P3 needs to wait for the P1 process when applying for R3, so that the three processes wait for each other, and a loop waiting state occurs, and deadlock is generated.
Example one
An embodiment of the present invention provides a resource allocation method, as shown in fig. 3, the method may include:
s101, when a first use request is received through a first process, resources to be used carried by the first use request are obtained, and the resources to be used are distributed to the process at the same time.
The resource allocation method provided by the embodiment of the invention is suitable for a scene that a process applies for using mutually exclusive resources.
In the embodiment of the invention, when a first process in the terminal applies for the resource to be used, the terminal receives a first use request through the first process, and at the moment, the terminal acquires the resource to be used carried by the first use request.
In the embodiment of the invention, the terminal registers the first process number corresponding to the first process and the resource to be used in the resource management process.
In the embodiment of the invention, the resource management process is a resident process for managing the mutually exclusive resources, and the storage format in the resource management process is as follows: application bits, usage bits, and usage flag values.
In the embodiment of the invention, the resource management adds the first process number to the application bit of the resource to be used, and sets the use flag value as the second preset value.
In the embodiment of the invention, the use flag value comprises a first preset value and a second preset value, wherein the first preset value represents that the resource to be used is not allocated, and the second preset value represents that the resource to be used is allocated.
Illustratively, the process P1 applies for using the resource R1, the terminal registers the resource R1 with the resource manager W, the resource management process W adds P1 to the application bit of R1, and the value of the use flag of R1 is set to 0.
In the embodiment of the present invention, the terminal includes a computer, a terminal and other terminals that need to perform resource allocation, and the selection is specifically performed according to an actual situation, which is not specifically limited in the embodiment of the present invention.
In the embodiment of the invention, the resource to be used can only be allocated to one process at the same time and cannot be shared by a plurality of processes, namely, the resource to be used is a mutually exclusive resource.
S102, when the resource management process is used for judging that the resources to be used are distributed, a second process and distribution duration corresponding to the resources to be used are obtained from the resource management process.
After the terminal acquires the resource to be used, the terminal judges whether the resource to be used is allocated by using the resource management process, and after the terminal judges that the resource to be used is allocated, the terminal acquires a second process and allocation duration corresponding to the resource to be used from the resource management process.
In the embodiment of the invention, the terminal determines the use mark value of the resource to be used from the resource management process, and when the use mark value is a first preset value, the terminal judges that the resource to be used is distributed; and when the use flag value is the second preset value, the terminal judges that the resource to be used is not allocated.
Illustratively, when the value of the use flag is 1, the resource to be used is characterized to be allocated; when the value of the use flag is 0, the resource to be used is not allocated.
In the embodiment of the invention, when the terminal judges that the resources to be used are distributed, the terminal acquires the second process with the use permission of the resources to be used and the distribution duration distributed to the use permission of the second process from the resource management process.
In the embodiment of the invention, the terminal acquires the second process number corresponding to the second process from the use position of the resource to be used, determines the set time length for setting the use flag value as the second preset value by using the resource management process, and determines the set time length as the allocation time length for allocating the resource to be used by the second process.
Further, when the terminal determines that the resource to be used is not allocated, the terminal allocates the usage right of the resource to be used to the first process.
S103, when the allocation duration reaches the preset allocation duration, releasing the use permission of the resources to be used in the second process so as to carry out the process of applying for the resources to be used in the next round.
When the terminal determines the second process and the allocation duration, the terminal compares the allocation duration with the preset allocation duration, when the allocation duration reaches the preset allocation duration, the terminal judges that the system is deadlocked, at the moment, the terminal releases the use permission of the second process to the resources to be used, and the process of applying for the resources to be used in the next round is carried out.
In the embodiment of the invention, the terminal stores the preset allocation duration, when the terminal determines the allocation duration, the terminal compares the allocation duration with the preset allocation duration, and when the allocation duration reaches the preset allocation duration, the terminal releases the use permission of the resource to be used by the second process, at this time, the terminal does not allow any process to hold the resource to be used, and applies for and calculates the resource to be used again.
In the embodiment of the invention, the resource management process sets the use bit of the resource to be used to be null and changes the use flag value to the second preset value.
Further, when the terminal judges that the allocation duration does not reach the preset allocation duration, the terminal indicates the first process to wait for the resource to be used, and detects whether the allocation duration reaches the preset allocation duration in real time.
Illustratively, as shown in fig. 4, the process R1 applies for using the P1 resource, at this time, the usage flag value of P1 is 1, the current usage process is shown as R2 in the usage bit of P1, and when the terminal determines that the allocation duration of the usage flag value of 1 is longer than the preset allocation duration, the terminal sets the usage bit to null and sets the usage flag value to 0.
It can be understood that the terminal establishes a resource management process, the process manages resources to be used, when the first process applies for using the resources to be used which are already allocated to the second process, the terminal judges whether the allocation duration of the resources to be used reaches the preset allocation duration by using the resource management process, when the allocation duration reaches the preset allocation duration, the terminal releases the use permission of the resources to be used by the second process, and directly performs the next application process of applying for the resources to be used, the terminal does not need to establish a plurality of data structures to perform the processes of determining the application amount, postponing allocation and the like, and the overhead of the terminal can be reduced.
Example two
An embodiment of the present invention provides a resource allocation method, as shown in fig. 5, the method may include:
s201, when a first use request is received through a first process, a terminal obtains resources to be used carried by the first use request, and the resources to be used are distributed to the process at the same time.
The resource allocation method provided by the embodiment of the invention is suitable for a scene that a process applies for using mutually exclusive resources.
In the embodiment of the invention, when a first process in the terminal applies for the resource to be used, the terminal receives a first use request through the first process, and at the moment, the terminal acquires the resource to be used carried by the first use request.
In the embodiment of the invention, the terminal registers the first process number corresponding to the first process and the resource to be used in the resource management process.
In the embodiment of the invention, the resource management process is a resident process for managing the mutually exclusive resources, and the storage format in the resource management process is as follows: application bits, usage bits, and usage flag values.
In the embodiment of the invention, the resource management adds the first process number to the application bit of the resource to be used, and sets the use flag value as the second preset value.
In the embodiment of the invention, the use flag value comprises a first preset value and a second preset value, wherein the first preset value represents that the resource to be used is not allocated, and the second preset value represents that the resource to be used is allocated.
Illustratively, the process P1 applies for using the resource R1, the terminal registers the resource R1 with the resource manager W, the resource management process W adds P1 to the application bit of R1, and the value of the use flag of R1 is set to 0.
In the embodiment of the present invention, the terminal includes a computer, a terminal and other terminals that need to perform resource allocation, and the selection is specifically performed according to an actual situation, which is not specifically limited in the embodiment of the present invention.
In the embodiment of the invention, the resource to be used can only be allocated to one process at the same time and cannot be shared by a plurality of processes, namely, the resource to be used is a mutually exclusive resource.
S202, the terminal searches the use mark value of the resource to be used from the resource management process.
After the terminal acquires the resource to be used, the terminal searches the use flag value of the resource to be used from the resource management process.
In the embodiment of the invention, the terminal searches the resources to be used from the resource management process and acquires the use mark values of the resources to be used.
In the embodiment of the invention, the use flag value comprises a first preset value and a second preset value.
Further, when the terminal does not find the resource to be used from the resource management process, the resource to be used is represented as being added to the resource management process for the first time, and at this time, the terminal directly allocates the resource to be used to the first process.
S203, when the use flag value is the second preset value, the terminal judges that the resource to be used is not allocated.
After the terminal acquires the usage flag value, the terminal determines that the specific value of the usage flag value is taken. And when the use flag value is the second preset value, the terminal judges that the resource to be used is not allocated.
In the embodiment of the invention, when the terminal judges that the use flag value is the second preset value, the terminal judges that the resources to be used are not distributed.
In the embodiment of the invention, the second preset value is the initial preset value of the resource to be used, and when the use flag value of the resource to be used is the second preset value, the representation that the resource to be used is not allocated or released
And S204, when the resource to be used is not distributed, the terminal distributes the use permission of the resource to be used for the first process.
When the terminal judges that the resource to be used is not allocated, the terminal allocates the use permission of the resource to be used for the first process.
In the embodiment of the invention, when the terminal judges that the resource to be used is not allocated, the terminal allocates the use permission of the resource to be used for the first process.
In the embodiment of the invention, when the terminal judges that the resource to be used is not allocated, the representation that no process has the use permission of the resource to be used is carried out, and at the moment, the terminal allocates the use permission of the resource to be used for the first process.
S205, the terminal adds the first process number corresponding to the first process to the use bit.
After the terminal allocates the use permission to the first process, the terminal adds a first process number corresponding to the first process to the use bit of the resource to be used.
In the embodiment of the invention, the terminal adds the process number of the first process in the use bit of the resource to be used. The characterizing resource to be used is allocated to the first process.
S206, the terminal sets the use flag value as a first preset value.
After the terminal adds the first process number to the usage bit, the terminal sets the usage identification value to the first preset value to indicate that the resource to be used has been allocated to the first process.
In the embodiment of the invention, the terminal sets the use flag value of the resource to be used as the first preset value, and at the moment, the terminal starts to record the duration set as the first preset value.
And S207, when the use flag value is the first preset value, the terminal judges that the resource to be used is allocated.
After the terminal acquires the usage flag value, the terminal determines that the specific value of the usage flag value is taken. And when the use flag value is the first preset value, the terminal judges that the resource to be used is allocated.
In the embodiment of the invention, when the terminal determines that the use mark value is the first preset value, the resource to be used is represented to be allocated.
S208, when the resource to be used is judged to be distributed, the terminal searches the use bit of the resource to be used from the resource management process.
When the terminal judges that the resource to be used is allocated, the terminal searches the use position of the resource to be used from the resource management process.
In the embodiment of the invention, when the terminal judges that the resources to be used are distributed, the terminal searches the use bits of the resources to be used from the resource management process.
S209, the terminal acquires a second process number corresponding to the second process from the use bit.
After the terminal finds the use position of the resource to be used from the resource management process, the terminal acquires the second process number corresponding to the second process from the use position.
In the embodiment of the invention, the terminal acquires the second process number with the use authority from the use bit.
S210, the terminal determines the setting duration for setting the use flag value as the second preset value by utilizing the resource management process.
After the terminal acquires the second process number corresponding to the second process, the terminal determines that the setting time length for setting the use flag value to the second preset value is long by using the resource management process.
In the embodiment of the invention, the terminal determines the setting time length for setting the use flag value as the second preset value in the resource management process.
S211, the terminal determines the set time length as the distribution time length.
When the terminal determines the set duration, the terminal determines the set duration as the allocated duration.
And S212, when the distribution duration reaches the preset distribution duration, the terminal releases the use permission of the resource to be used by the second process.
When the resource determining terminal determines the set time length as the allocation time length, the terminal compares the allocation time length with the preset allocation time length, and when the allocation time length reaches the preset allocation time length, the terminal releases the use permission of the resource to be used by the second process.
In the embodiment of the invention, the terminal is provided with the preset distribution time length, the terminal compares the distribution time length with the preset distribution time length, when the distribution time length reaches the preset distribution time length, the terminal judges that the system is deadlocked, and at the moment, the terminal releases the use permission of the resource to be used in the second process.
And S213, the terminal changes the use mark value into a second preset value.
After the terminal releases the usage right of the resource to be used by the second process, the terminal changes the usage flag value of the resource to be used to the second preset value.
In the embodiment of the invention, the terminal changes the use mark value of the resource to be used into the second preset value to represent that the resource to be used is released at the moment.
And S214, the terminal sets the use bit to be null.
When the terminal changes the value of the flag of the resource to be used to the second preset value, the terminal sets the use bit of the resource to be used to null.
In the embodiment of the invention, the terminal clearly uses the second process number on the bit and sets the using bit to be null.
S203-S206 and S207-S214 are two parallel steps after S202, which are specifically selected according to actual situations, and the embodiment of the present invention is not specifically limited.
It can be understood that the terminal establishes a resource management process, the process manages resources to be used, when the first process applies for using the resources to be used which are already allocated to the second process, the terminal judges whether the allocation duration of the resources to be used reaches the preset allocation duration by using the resource management process, when the allocation duration reaches the preset allocation duration, the terminal releases the use permission of the resources to be used by the second process, and directly performs the next application process of applying for the resources to be used, the terminal does not need to establish a plurality of data structures to perform the processes of determining the application amount, postponing allocation and the like, and the overhead of the terminal can be reduced.
EXAMPLE III
Fig. 6 is a schematic diagram of a composition structure of a terminal according to an embodiment of the present invention, and in practical application, based on the same inventive concept of the first embodiment and the second embodiment, as shown in fig. 6, a terminal 1 according to an embodiment of the present invention includes: a processor 10, a memory 11, and a communication bus 12. In a Specific embodiment, the Processor 10 may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing terminal (DSPD), a Programmable Logic terminal (PLD), a Field Programmable Gate Array (FPGA), a CPU, a controller, a microcontroller, and a microprocessor. It will be appreciated that the electronic devices used to implement the processor functions described above may be other devices, and embodiments of the present invention are not limited in particular.
In the embodiment of the present invention, the communication bus 12 is used for realizing connection communication between the processor 10 and the memory 11; the processor 10 is configured to execute the operating program stored in the memory 11 to implement the following steps:
the processor 10 is configured to, when a first usage request is received through a first process, acquire a resource to be used carried by the first usage request, where the resource to be used is allocated to one process at the same time; when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process; and when the allocation duration reaches a preset allocation duration, releasing the use permission of the second process on the resources to be used so as to carry out the process of applying for the resources to be used in the next round.
In this embodiment of the present invention, further, the processor 10 is further configured to search a use flag value of the resource to be used from the resource management process; when the use flag value is a first preset value, judging that the resources to be used are allocated; and when the use flag value is a second preset value, judging that the resource to be used is not allocated.
In this embodiment of the present invention, further, the processor 10 is further configured to search the use bit of the resource to be used from the resource management process; acquiring a second process number corresponding to the second process from the use bit; determining a set duration for setting the use flag value to the second preset value by using the resource management process; and determining the set time length as the distribution time length.
In an embodiment of the present invention, further, the processor 10 is further configured to change the value of the usage flag to the second preset value; setting the use bit to null.
In this embodiment of the present invention, further, the processor 10 is further configured to allocate the usage right of the resource to be used to the first process when the resource to be used is not allocated; adding a first process number corresponding to the first process to the use bit; and setting the use flag value as the first preset value.
According to the terminal provided by the embodiment of the invention, when a first use request is received through a first process, resources to be used carried by the first use request are obtained, and the resources to be used are allocated to one process at the same time; when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process; and when the allocation duration reaches the preset allocation duration, releasing the use permission of the resources to be used in the second process so as to carry out the process of applying for the resources to be used in the next round. Therefore, the terminal provided by the embodiment of the invention establishes the resource management process, the process manages the resources to be used, when the first process applies for using the resources to be used which are already allocated to the second process, the terminal judges whether the allocation duration of the resources to be used reaches the preset allocation duration by using the resource management process, when the allocation duration reaches the preset allocation duration, the terminal releases the use permission of the resources to be used by the second process and directly performs the next application process of applying for the resources to be used, the terminal does not need to establish a plurality of data structures to perform the processes of judging the application amount, delaying allocation and the like, and the expense of the terminal can be reduced.
The embodiment of the invention provides a computer-readable storage medium, wherein one or more programs are stored in the computer-readable storage medium, the one or more programs can be executed by one or more processors, and when the program is executed by the processors in an application terminal, the method according to the first embodiment and the second embodiment is implemented.
Specifically, the program instructions corresponding to a resource allocation method in the embodiment are read or executed by an electronic device, and include the following steps:
when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time;
when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process;
and when the allocation duration reaches a preset allocation duration, releasing the use permission of the second process on the resources to be used so as to carry out the process of applying for the resources to be used in the next round.
In this embodiment of the present invention, further, after obtaining the to-be-used resource carried in the first use request, before obtaining a second process and an allocation duration corresponding to the to-be-used resource from the resource management process, the one or more programs are executed by the one or more processors, and the following steps are specifically implemented:
searching the use mark value of the resource to be used from the resource management process;
when the use flag value is a first preset value, judging that the resources to be used are allocated;
and when the use flag value is a second preset value, judging that the resource to be used is not allocated.
In an embodiment of the present invention, further, a second process and an allocation duration corresponding to the resource to be used are obtained from the resource management process, and the one or more programs are executed by the one or more processors, and specifically implement the following steps:
searching the use bit of the resource to be used from the resource management process;
acquiring a second process number corresponding to the second process from the use bit;
determining a set duration for setting the use flag value to the second preset value by using the resource management process;
and determining the set time length as the distribution time length.
In this embodiment of the present invention, further, after the usage right of the resource to be used is released by the second process, the one or more programs are executed by the one or more processors, and the following steps are also implemented:
changing the use flag value to the second preset value;
setting the use bit to null.
In this embodiment of the present invention, further, after obtaining the resource to be used carried by the first usage request, the one or more programs are executed by the one or more processors, and the following steps are also implemented:
when the resource to be used is not allocated, allocating the use permission of the resource to be used for the first process;
adding a first process number corresponding to the first process to the use bit;
and setting the use flag value as the first preset value.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (10)

1. A method for resource allocation, the method comprising:
when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time;
when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process, wherein the storage format in the resource management process comprises the following steps: the resource allocation method comprises the steps of applying bits, using bits and using mark values, wherein the applying bits are used for identifying processes applying for using corresponding resources, the using bits are used for identifying current using processes of the corresponding resources, and the using mark values are used for identifying whether the corresponding resources are allocated or not;
and when the allocation duration reaches a preset allocation duration, releasing the use permission of the second process on the resources to be used so as to carry out the process of applying for the resources to be used in the next round.
2. The method according to claim 1, wherein after the obtaining of the to-be-used resource carried by the first usage request, before the obtaining of the second process and the allocation duration corresponding to the to-be-used resource from the resource management process, the method further comprises:
searching the use mark value of the resource to be used from the resource management process;
when the use flag value is a first preset value, judging that the resources to be used are allocated;
and when the use flag value is a second preset value, judging that the resource to be used is not allocated.
3. The method according to claim 2, wherein the obtaining the second process and the allocation duration corresponding to the resource to be used from the resource management process includes:
searching the use bit of the resource to be used from the resource management process;
acquiring a second process number corresponding to the second process from the use bit;
determining a set duration for setting the use flag value to the second preset value by using the resource management process;
and determining the set time length as the distribution time length.
4. The method according to claim 2 or 3, wherein after the releasing the usage right of the resource to be used by the second process, the method further comprises:
changing the use flag value to the second preset value;
setting the use bit to null.
5. The method according to claim 2, wherein after obtaining the resource to be used carried by the first usage request, the method further comprises:
when the resource to be used is not allocated, allocating the use permission of the resource to be used for the first process;
adding a first process number corresponding to the first process to the use bit;
and setting the use flag value as the first preset value.
6. A terminal, characterized in that the terminal comprises: the processor is used for executing the running program stored in the memory so as to realize the following steps:
when a first use request is received through a first process, obtaining resources to be used carried by the first use request, wherein the resources to be used are distributed to the process at the same time; when the resource management process is used for judging that the resources to be used are distributed, acquiring a second process and distribution duration corresponding to the resources to be used from the resource management process, wherein the storage format in the resource management process comprises the following steps: the resource allocation method comprises the steps of applying bits, using bits and using mark values, wherein the applying bits are used for identifying processes applying for using corresponding resources, the using bits are used for identifying current using processes of the corresponding resources, and the using mark values are used for identifying whether the corresponding resources are allocated or not; and when the allocation duration reaches a preset allocation duration, releasing the use permission of the second process on the resources to be used so as to carry out the process of applying for the resources to be used in the next round.
7. The terminal of claim 6,
the processor is further configured to search the use flag value of the resource to be used from the resource management process; when the use flag value is a first preset value, judging that the resources to be used are allocated; and when the use flag value is a second preset value, judging that the resource to be used is not allocated.
8. The terminal of claim 7,
the processor is further configured to search the use bit of the resource to be used from the resource management process; acquiring a second process number corresponding to the second process from the use bit; determining a set duration for setting the use flag value to the second preset value by using the resource management process; determining the set time length as the distribution time length; changing the use flag value to the second preset value; setting the use bit to null.
9. The terminal of claim 7,
the processor is further configured to allocate the usage right of the resource to be used to the first process when the resource to be used is not allocated; adding a first process number corresponding to the first process to the use bit; and setting the use flag value as the first preset value.
10. A computer-readable storage medium, on which a computer program is stored, for application to a terminal, characterized in that the computer program, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN201711448553.3A 2017-12-27 2017-12-27 Resource allocation method, terminal and computer readable storage medium Active CN108182114B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711448553.3A CN108182114B (en) 2017-12-27 2017-12-27 Resource allocation method, terminal and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711448553.3A CN108182114B (en) 2017-12-27 2017-12-27 Resource allocation method, terminal and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN108182114A CN108182114A (en) 2018-06-19
CN108182114B true CN108182114B (en) 2021-04-16

Family

ID=62547781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711448553.3A Active CN108182114B (en) 2017-12-27 2017-12-27 Resource allocation method, terminal and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN108182114B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655125A (en) * 2004-02-12 2005-08-17 华为技术有限公司 Flag register and method for avoiding resource access conflict between multiple processes
CN1806228A (en) * 2003-06-10 2006-07-19 索尼爱立信移动通信日本株式会社 Resource management method and device, resource management program, and storage medium
CN103761182A (en) * 2013-12-26 2014-04-30 上海华为技术有限公司 Method and device for deadlock detection
CN105389226A (en) * 2015-10-23 2016-03-09 上海斐讯数据通信技术有限公司 System and method for accessing to abnormality of shared memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7594234B1 (en) * 2004-06-04 2009-09-22 Sun Microsystems, Inc. Adaptive spin-then-block mutual exclusion in multi-threaded processing
US7593911B1 (en) * 2005-10-12 2009-09-22 At&T Corp. System and method for applying rule sets and rule interactions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1806228A (en) * 2003-06-10 2006-07-19 索尼爱立信移动通信日本株式会社 Resource management method and device, resource management program, and storage medium
CN1655125A (en) * 2004-02-12 2005-08-17 华为技术有限公司 Flag register and method for avoiding resource access conflict between multiple processes
CN103761182A (en) * 2013-12-26 2014-04-30 上海华为技术有限公司 Method and device for deadlock detection
CN105389226A (en) * 2015-10-23 2016-03-09 上海斐讯数据通信技术有限公司 System and method for accessing to abnormality of shared memory

Also Published As

Publication number Publication date
CN108182114A (en) 2018-06-19

Similar Documents

Publication Publication Date Title
CN112004173B (en) Bluetooth headset switching method, mobile terminal and computer readable storage medium
CN107967322B (en) File classification display method, mobile terminal and computer readable storage medium
CN107688607A (en) The method and mobile terminal of a kind of database access, computer-readable recording medium
CN109195143B (en) Network access method, mobile terminal and readable storage medium
CN108768775B (en) Information processing method, electronic device, and computer storage medium
CN107862217B (en) Position information acquisition method, mobile terminal and computer storage medium
CN108833690B (en) Authority control method, terminal and computer readable storage medium
CN107832032B (en) Screen locking display method and mobile terminal
CN108011937B (en) Message pushing method, server, intelligent terminal and computer readable storage medium
CN110187925B (en) Desktop pre-starting control method, device and computer readable storage medium
CN107124466B (en) Method and device for preventing cache from penetrating and computer readable storage medium
CN110020386B (en) Application page sharing method, mobile terminal and computer readable storage medium
CN109445945B (en) Memory allocation method of application program, mobile terminal, server and storage medium
CN109522276B (en) Application icon management method, terminal and computer-readable storage medium
CN108040116B (en) Message pushing method, router and computer readable storage medium
CN111970738B (en) Network switching control method, device and computer readable storage medium
CN109062688B (en) Memory allocation method, server and mobile terminal
CN109462829B (en) Call transfer method, device and computer readable storage medium
CN109889660B (en) Temporary information recording method, storage medium and mobile terminal
CN108900696B (en) Data processing method, terminal and computer readable storage medium
CN108040330B (en) WiFi directional transmission method, mobile terminal and readable storage medium
CN108037959B (en) Intelligent interface merging method, mobile terminal and computer readable storage medium
CN108183833B (en) Response processing method and device and computer readable storage medium
CN107222933B (en) Communication method, terminal and computer readable storage medium
CN109740374B (en) Hiding method, mobile terminal and computer readable storage medium

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