CN116579585A - Resource allocation method, device, computer equipment and storage medium - Google Patents

Resource allocation method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN116579585A
CN116579585A CN202310847992.0A CN202310847992A CN116579585A CN 116579585 A CN116579585 A CN 116579585A CN 202310847992 A CN202310847992 A CN 202310847992A CN 116579585 A CN116579585 A CN 116579585A
Authority
CN
China
Prior art keywords
developer
candidate
target
developers
determining
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
CN202310847992.0A
Other languages
Chinese (zh)
Other versions
CN116579585B (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.)
Taiping Finance Technology Services Shanghai Co ltd
Original Assignee
Taiping Finance Technology Services Shanghai 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 Taiping Finance Technology Services Shanghai Co ltd filed Critical Taiping Finance Technology Services Shanghai Co ltd
Priority to CN202310847992.0A priority Critical patent/CN116579585B/en
Publication of CN116579585A publication Critical patent/CN116579585A/en
Application granted granted Critical
Publication of CN116579585B publication Critical patent/CN116579585B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application relates to a resource allocation method, a resource allocation device, computer equipment and a storage medium. The method comprises the following steps: acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed; according to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database; and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers. The method can improve the allocation rationality when the development tasks are allocated.

Description

Resource allocation method, device, computer equipment and storage medium
Technical Field
The present application relates to the field of computer software management, and in particular, to a method and apparatus for allocating resources, a computer device, and a storage medium.
Background
With the increasing demands of users, the functions of the service system also need to be updated with the demands of users. A developer is required to compile a corresponding code program when the business system is updated. Therefore, different development tasks need to be assigned to different developers when updating the business system.
In the conventional technology, when a developer is assigned with a development task, the developer is assigned with a corresponding development task mainly through a manager. However, the conventional allocation method may have a problem of unreasonable allocation.
Disclosure of Invention
In view of the above, it is desirable to provide a resource allocation method, apparatus, computer device, and storage medium that can improve the rationality in allocating development tasks to developers.
In a first aspect, the present application provides a resource allocation method. The method comprises the following steps:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
According to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In one embodiment, determining the target developer from the candidate developers according to the demand time, the allocation levels and the available time of the candidate developers comprises:
according to the demand time and the adjusting coefficient corresponding to each distribution level, determining the demand time corresponding to each distribution level;
traversing each distribution level according to the distribution sequence of each distribution level, and determining whether the available time of each candidate developer of the distribution level meets the demand time corresponding to the distribution level;
if yes, determining a target developer from the candidate developers of the distribution level;
if not, determining the target developer from all the candidate developers of the distribution level.
In one embodiment, determining the target developer from the candidate developers of the assigned level includes:
Determining the highest allocation level as a first target allocation level, and executing iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level;
if yes, determining target developers from all candidate developers of the first target allocation level;
if not, determining the next distribution level as a new first target distribution level, and returning to execute iterative operation until all distribution levels are traversed, and determining target developers from candidate developers of the first target distribution level.
In one embodiment, determining the target developer from all of the assigned level candidate developers includes:
determining whether the sum of the available times of all candidate developers of the highest allocation level meets the demand time;
if yes, determining all candidate developers with the highest allocation level as target developers;
if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
In one embodiment, determining the target developer from all candidate developers of the highest allocation level and candidate developers other than all candidate developers of the highest allocation level includes:
obtaining the difference value between the sum of the available time and the demand time of all candidate developers of the highest allocation level, determining the next allocation level as a second target allocation level, and executing iterative operation; the iterative operation includes: determining the adjusted demand time according to the difference value and the adjusting coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time;
if yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers;
if not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level.
In one embodiment, determining a plurality of candidate developers corresponding to the task to be developed and allocation levels of the candidate developers from an information database according to the type of the task to be developed, the service information and the proficiency information, includes:
according to the type of the task to be developed, the service information and the proficiency, determining a plurality of candidate developers corresponding to the task to be developed from an information database;
and determining the distribution grade of each candidate developer according to the service information processed by each candidate developer and the proficiency information of each candidate developer in processing the service.
In one embodiment, the method further comprises:
generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer;
displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset conditions are used for representing whether the available time of the target developer is matched with the actual available time of the target developer;
receiving feedback information triggered by a user based on an initial developer allocation table;
And determining whether to adjust the initial developer allocation table according to the feedback information.
In one embodiment, determining whether to adjust the initial developer allocation table based on the feedback information includes:
if the feedback information characterizes that the initial developer allocation table meets the preset condition, determining a target developer allocation table from the initial developer allocation table;
if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, the initial developer allocation table is adjusted based on the feedback information, and the adjusted developer allocation table is determined to be the target developer allocation table.
In one embodiment, the method further comprises:
acquiring new service information processed by each developer in a preset time interval adjacent to the current moment;
and updating the proficiency information of each developer in processing the service according to the new service information.
In one embodiment, the method further comprises:
acquiring a code program of a task to be developed, which is generated by a target developer;
determining an object code program according to the code program and an original code program corresponding to a task to be developed; the target code program is a program adjusted relative to the original code program;
And generating a program increment package corresponding to the task to be developed based on the target code program.
In a second aspect, the application further provides a resource allocation device. The device comprises:
the acquisition module is used for acquiring the requirement information of the task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
the screening module is used for determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from the information database according to the type of the task to be developed, the service information and the proficiency information;
and the determining module is used for determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory storing a computer program and a processor which when executing the computer program performs the steps of:
Acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
according to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
According to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In a fifth aspect, the present application also provides a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the steps of:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
according to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
According to the resource allocation method, the device, the computer equipment and the storage medium, the preset information database comprises the available time of a plurality of developers, the service information processed by each developer and the proficiency information of each developer in processing the service, so that the available time of each developer in the information database, the service information processed by each developer and the proficiency information of each developer in processing the service can be considered, the required time of each developer in processing the service can be considered, the allocation grade of a plurality of candidate developers and the allocation grade of each candidate developer corresponding to the to-be-developed task can be determined from the information database, and further, the target developer can be accurately determined from the candidate developers according to the required time of each to-be-developed task, the allocation grade of each candidate developer and the available time of each candidate developer.
Drawings
FIG. 1 is an application environment diagram of a resource allocation method in one embodiment;
FIG. 2 is a flow chart of a method of resource allocation in one embodiment;
FIG. 3 is a flow chart illustrating a method of allocating resources according to another embodiment;
FIG. 4 is a flow chart of a method for allocating resources according to another embodiment;
FIG. 5 is a flow chart of a method for allocating resources according to another embodiment;
FIG. 6 is a flow chart of a method for allocating resources according to another embodiment;
FIG. 7 is a flow chart of a method for allocating resources according to another embodiment;
FIG. 8 is a block diagram of a resource allocation device in one embodiment;
FIG. 9 is a block diagram illustrating a resource allocation device according to another embodiment;
FIG. 10 is a block diagram illustrating a resource allocation device according to another embodiment;
FIG. 11 is a block diagram illustrating a resource allocation device according to another embodiment;
FIG. 12 is a block diagram showing the construction of a resource allocation apparatus according to another embodiment;
FIG. 13 is a block diagram showing the construction of a resource allocation apparatus according to another embodiment;
fig. 14 is a block diagram showing the construction of a resource allocation apparatus according to another embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
The resource allocation method provided by the embodiment of the application can be applied to the computer equipment shown in the figure 1. The computer device comprises a processor, a memory, and a computer program stored in the memory, wherein the processor is connected through a system bus, and when executing the computer program, the processor can execute the steps of the method embodiments described below. Optionally, the computer device may further comprise a network interface, a display screen and an input means. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium, which stores an operating system and a computer program, an internal memory. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. Optionally, the computer device may be a server, a personal computer, a personal digital assistant, other terminal devices, such as a tablet computer, a mobile phone, etc., or a cloud or remote server, and the embodiment of the present application does not limit a specific form of the computer device.
In one embodiment, as shown in fig. 2, a resource allocation method is provided, and the method is applied to the computer device in fig. 1 for illustration, and includes the following steps:
s201, acquiring requirement information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information includes the type of task to be developed and the demand time.
Specifically, in the present embodiment, the requirement information of the task to be developed includes the type and the requirement time of the task to be developed; the preset information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer in processing the service. It can be understood that in this embodiment, the requirement information of the task to be developed and the preset information database are used as the basis of resource allocation, so as to allocate resources.
It can be understood that the proficiency information of the developer in processing the service can be determined according to the frequency of the related service processed by the developer, and if the developer processes the related service, the proficiency is improved; if the developer does not process the related business for a preset time, the proficiency will be reduced.
Alternatively, the requirement information of the task to be developed may be directly input into the computer device, or the requirement information of the task to be developed may be imported into the computer device through other files. For example, in this embodiment, the requirement information of the task to be developed may be input into a preset table file, the table file is used as a preset file, and the requirement information of the task to be developed is obtained through the preset file.
Alternatively, in this embodiment, a preset information database may be established based on the information of the development task handled by each developer in the historical period, and the available time of each developer in the information database may be updated in real time according to the available time of each developer.
S202, determining a plurality of candidate developers corresponding to the task to be developed and allocation grades of the candidate developers from an information database according to the type of the task to be developed, the business information and the proficiency information.
Optionally, in this embodiment, candidate developers capable of processing the task to be developed may be determined from the information database according to the type of the task to be developed and service information processed by each developer in the information database, and then the allocation level of each candidate developer may be determined according to the proficiency information of each developer in the information database. It will be appreciated that the higher the proficiency of a candidate developer, the higher the level of assignment of the candidate developer. For example, if the determined candidate developers include A, B, C, D, E, F six persons whose proficiency is a > b=c > D > e=f, the determined six candidate developers may be divided into four allocation ranks, where the candidate developer corresponding to the first allocation rank is a, the candidate developers corresponding to the second allocation rank are B and C, the candidate developer corresponding to the third allocation rank is D, and the candidate developer corresponding to the fourth allocation rank is E and F.
S203, determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
Alternatively, the determined target developer in the present embodiment may be one of the candidate developers, or may be a plurality of the candidate developers. Optionally, the computer device may determine the target developer from the candidate developers with the same allocation level according to the demand time of the task to be developed and the available time of each candidate developer, or may determine the target developer from a plurality of candidate developers with different allocation levels.
In the resource allocation method, the preset information database comprises the available time of a plurality of developers, the service information processed by each developer and the proficiency information of each developer in processing the service, so that the target developer can be accurately determined from the candidate developers according to the available time of the to-be-developed task, the allocation grade of each candidate developer and the available time of each candidate developer, and the allocation rationality of the to-be-developed task is improved through the determination process because the available time of each developer, the service information processed by each developer and the proficiency information of each developer in processing the service are considered in the information database and the demand time of each developer in processing the service are considered in the process.
On the basis of the above-described embodiments, the present embodiment will explain the detailed process of determining a target developer from among candidate developers according to the demand time, the allocation levels, and the available time of each candidate developer. In one embodiment, as shown in fig. 3, S203 above includes:
s301, determining the demand time corresponding to each distribution level according to the demand time and the adjustment coefficient corresponding to each distribution level.
In this embodiment, the demand time of the task to be developed and the adjustment coefficient corresponding to each allocation level may be multiplied to obtain the demand time corresponding to each allocation level. The adjustment coefficients corresponding to the distribution levels are different, the adjustment coefficient corresponding to the distribution level is larger after the distribution level is different, for example, the demand time of a task to be developed is 10 days, if the adjustment coefficient corresponding to the first distribution level is 1, the demand time corresponding to the first distribution level is 10 days, if the adjustment coefficient corresponding to the second distribution level is 1.2, the demand time corresponding to the second distribution level is 12 days, and if the adjustment coefficient corresponding to the third distribution level is 1.8, the demand time corresponding to the third distribution level is 18 days.
S302, traversing each distribution level according to the distribution sequence of each distribution level, and determining whether the available time of each candidate developer of the distribution level meets the corresponding demand time of the distribution level.
Specifically, in this embodiment, the computer device may traverse each allocation level from the first allocation level according to the allocation order of each allocation level, and according to whether the available time of the candidate developer corresponding to each allocation level meets the demand time corresponding to the allocation level where it is located. For example, if the demand time corresponding to the first allocation level is 10 days, and the available time of a candidate developer in the first allocation level is 10 days, or if the sum of available times of candidate developers in the first allocation level is 10 days, it may be determined that the available time of candidate developers in the first allocation level satisfies the demand time corresponding to the first allocation level; if the sum of the available time of each candidate developer in the first allocation level is 8 days, it may be determined that the available time of each candidate developer in the first allocation level does not satisfy the demand time corresponding to the first allocation level. Optionally, if manpower cannot be arranged within a preset time, the system can be adjusted according to the priority of the requirement.
S303, if so, determining a target developer from the candidate developers of the distribution level.
In this embodiment, if each allocation level is traversed, it is determined that the available time of each candidate developer of each allocation level satisfies the demand time corresponding to the corresponding allocation level, and as an alternative implementation, the computer device may determine the target developer from each candidate developer of the allocation level by: and determining the highest allocation level as a first target allocation level, and executing iterative operation, wherein the iterative operation comprises determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level, if the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level, determining the target developer from each candidate developer of the first target allocation level, and if the available time of each candidate developer of the first target allocation level does not meet the demand time corresponding to the first target allocation level, determining the next allocation level as a new first target allocation level, and returning to execute the iterative operation until all allocation levels are traversed, and determining the target developer from each candidate developer of the first target allocation level.
Illustratively, assuming that the determined candidate developer includes A, B, C, D, E, F six people, the candidate developer corresponding to the first allocation level is a, the candidate developer corresponding to the second allocation level is B and C, the candidate developer corresponding to the third allocation level is D, the candidate developer corresponding to the fourth allocation level is E and F, the computer device first determines whether the available time of the candidate developer corresponding to the first allocation level satisfies the demand time corresponding to the first allocation level, if yes, determines the candidate developer a as a target developer, if no, the computer device determines whether the available time of the candidate developers B and C corresponding to the second allocation level satisfies the demand time corresponding to the second allocation level, if the available time of the candidate developer B satisfies the demand time corresponding to the second allocation level, determines the candidate developer B as a target developer, if the available time of the candidate developer C satisfies the demand time corresponding to the second allocation level, determines that the available time of the candidate developer B and C does not satisfy the demand time corresponding to the second allocation level, and if the available time of the candidate developer B and C does not satisfy the demand time corresponding to the second allocation level, and traversing the candidate developer until the total demand time and the available time of the candidate B and the second allocation level is satisfied, and if the available time of the candidate developer is not satisfied.
S304, if not, determining target developers from all candidate developers of the distribution level.
In this embodiment, if each allocation level is traversed, it is determined that the available time of each candidate developer of each allocation level does not meet the demand time corresponding to the corresponding allocation level, as an alternative implementation manner, the computer device may determine the target developer from all candidate developers of the allocation level, and it may be understood that the number of target developers is determined to be not less than 2 from all candidate developers of the allocation level, and when a plurality of developers are arranged to develop the fragmentation time, it is necessary to consider the communication cost of the development of the plurality of developers, and the actual workload within a certain period of time is less than the ideal workload. For example, the available time of Zhang three is 1 day, the available time of Lifour is 2 days, the available time of Wang five is 3 days, the available time of 6 days is taken into consideration to complete the development task, and the available time of 6 days can be actually taken into consideration in consideration of the communication cost of multi-personnel developmentDay workload.
Alternatively, as an alternative embodiment, determining the target developer from all candidate developers of the distribution level may be determined by: first, determining whether the sum of the available times of all candidate developers of the highest allocation level meets the demand time; if yes, determining all candidate developers with the highest allocation level as target developers; if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
Alternatively, further, determining the target developer from among all candidate developers of the highest allocation level and candidate developers other than all candidate developers of the highest allocation level may include the steps of: obtaining the difference value between the sum of the available time and the demand time of all candidate developers of the highest allocation level, determining the next allocation level as a second target allocation level, and executing iterative operation; the iterative operation includes: determining the adjusted demand time according to the difference value and the adjusting coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time; if yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers; if not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level. Illustratively, assuming that the determined candidate developers include A, B, C, D, E, F six persons, the candidate developer corresponding to the first allocation level is a, the candidate developers corresponding to the second allocation level are B and C, the candidate developer corresponding to the third allocation level is D, and the candidate developer corresponding to the fourth allocation level is E and F, the determined target developer may include the candidate developer a of the first allocation level, the candidate developers B and C of the second allocation level, or the determined target developer may include the candidate developer a of the first allocation level, the candidate developers B and C of the second allocation level, and the candidate developer D of the third allocation level.
In this embodiment, according to the demand time of the task to be developed and the adjustment coefficient corresponding to each allocation level, the demand time corresponding to each allocation level can be quickly determined, so that each allocation level can be traversed according to the allocation sequence of each allocation level, whether the available time of each candidate developer of the allocation level meets the demand time corresponding to the allocation level can be quickly determined, one or more target developers can be quickly determined therefrom, and the development efficiency of the task to be developed is further improved.
In the above scenario of determining a plurality of candidate developers corresponding to the task to be developed and the allocation level of each candidate developer from the information database according to the type of the task to be developed, each business information, and each proficiency information, in one embodiment, as shown in fig. 4, S202 includes:
s401, determining a plurality of candidate developers corresponding to the task to be developed from an information database according to the type of the task to be developed, the service information and the proficiency.
Optionally, according to the type of the task to be developed and the service information processed by each developer in the information database, determining the developer capable of processing the task to be developed from the information database, and further determining the developer with the front proficiency of the determined developer capable of processing the task to be developed as the candidate developer according to the determined proficiency of the developer capable of processing the task to be developed.
S402, determining the distribution grade of each candidate developer according to the business information processed by each candidate developer and the proficiency information of each candidate developer in processing business.
Alternatively, in this embodiment, the number of times each candidate developer processes the same task as the task to be developed and the proficiency information of the task may be determined according to the service information processed by each candidate developer, where the number of times each candidate developer processes the same task as the task to be developed is earlier, and the allocation level of the candidate developer with higher proficiency information of the task to be developed is determined as the earlier allocation level. For example, the allocation level of the candidate developer having the highest proficiency in processing the task, which is the same as the task to be developed, may be determined as the first allocation level, and so on.
It will be appreciated that, because the working capacity of each level of candidate developer is different for the current development task, the time for completing the development task is different, and the higher the level, the higher the adaptation degree with the current task to be developed, and the shorter the required task processing completion time. The number of the allocation grades of the candidate developers is formulated according to the number of the candidate developers, and the number of the allocation grades of the candidate developers is formulated according to other factors in the task allocation process. Alternatively, in this embodiment, the allocation levels of the candidate developers may be divided into a first level, a second level, and a third level, where the first level is the highest level.
In this embodiment, according to the type of the task to be developed, the service information and the proficiency of each developer, a plurality of candidate persons corresponding to the task to be developed can be determined from the information database, further, according to the service information processed by each candidate developer and the proficiency information processed by each candidate developer, the allocation level of each candidate developer can be determined, the accuracy of the determined allocation level of each candidate person is improved, and the rationality of allocating the development task is further improved.
In the scenario of determining the target developer from the candidate developers according to the demand time, the allocation levels, and the available time of the candidate developers, in one embodiment, as shown in fig. 5, the method further includes:
s501, generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer.
In this embodiment, an initial developer allocation table corresponding to the task to be developed may be generated according to the requirement information of the task to be developed and the determined target developer.
S502, displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset condition is used to characterize whether the availability time of the target developer matches the actual availability time of the target developer.
Specifically, in this embodiment, in the actual application process, there may be a case that the available time of the target developer does not match the available time of the target developer due to untimely information update, so the generated initial developer allocation table may be displayed to the user, so that the user determines whether the available time of the target developer in the initial developer allocation table matches the available time of the target developer.
S503, receiving feedback information triggered by the user based on the initial developer allocation table.
In this embodiment, if the available time of the target developer is not matched with the actual available time of the target developer, the target developer triggers the feedback information to fail to complete the task to be developed; if the available time of the target developer is matched with the actual available time of the target developer, the target developer triggers feedback information to complete the task to be developed.
S504, determining whether to adjust the initial developer allocation table according to the feedback information.
Optionally, in this embodiment, if the feedback information is that the task to be developed cannot be completed, it may be determined that the initial developer allocation table needs to be adjusted according to the feedback information; if the feedback information is that the task to be developed can be completed, the initial developer allocation table is not adjusted.
Optionally, in this embodiment, if the feedback information characterizes that the initial developer allocation table meets a preset condition, determining the target developer allocation table from the initial developer allocation table; if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, the initial developer allocation table is adjusted based on the feedback information, and the adjusted developer allocation table is determined to be the target developer allocation table.
In this embodiment, an initial developer allocation table corresponding to a task to be developed is generated according to the information of the person in need and the target developer, and the initial developer allocation table is displayed to the user, and whether to adjust the initial developer allocation table is determined according to feedback information by receiving feedback information triggered by the user based on the initial developer allocation table, so that a manager knows the development progress and timely adjusts and reasonably arranges development resources.
In the above scenario of obtaining the requirement information of the task to be developed and the service information processed by each developer, and the proficiency level information of each developer in processing the service, in one embodiment, as shown in fig. 6, the method further includes:
s601, acquiring new service information processed by each developer in a preset time interval adjacent to the current moment.
In this embodiment, new service information processed by the developer in a preset time interval adjacent to the current time is acquired. Alternatively, the preset time interval may be determined according to an average demand time of the development task, for example, in this embodiment, the preset time interval may be a month before the current time.
S602, according to the new business information, the proficiency information of each developer in processing business is updated.
Alternatively, in this embodiment, if the developer processes the related service, the proficiency of the developer may be expressed as:the method comprises the steps of carrying out a first treatment on the surface of the If the developer does not process the related business within one month, the proficiency of the developer is reduced by 0.05, and the proficiency of the developer can be expressed as:the increase and decrease of the proficiency are all based on the existing proficiencyAnd (5) performing row operation. In this embodiment, the proficiency information of each developer in processing the service may be updated by acquiring new service information processed by each developer in a preset time interval adjacent to the current time.
In this embodiment, the proficiency information of each developer in processing the service is updated according to the new service information processed by each developer in the preset time interval adjacent to the current time. After the developer processes the new business, the proficiency information is updated in time, so that the influence on the accuracy of the distribution level of each candidate person due to untimely information updating is avoided.
In the scenario of determining the target developer from the candidate developers according to the demand time, the allocation levels, and the available time of the candidate developers, in one embodiment, as shown in fig. 7, the method further includes:
s701, acquiring a code program of a task to be developed, which is generated by a target developer.
The server includes a development branch server, a production branch server, a management server, a backup server, and a packaging server. The development branch server aims at the developer to use and access the code for pulling the branches and uploading the code by the developer; the production branch server is used for storing production application codes (the part of codes are consistent with the application codes of the current production deployment), the machine is managed by a production code version manager (an authorized person can pull the codes but has no uploading authority), and meanwhile, the production code version manager completes packaging of a production release package on the machine; the code stored by the management server is the code of the current test environment (a test code version manager pulls a branch from the machine to a development server to establish a development branch), and meanwhile, the developer pulls a substitution code from the development server to be combined on the management server to form a new test environment code; the packing server is used for packing the incremental release package of the test code (which is responsible for a test code version manager); backup servers are typically used to backup test environment code from the previous day. The five server developers can only use the development branch server, and the rest of the machines are only processed by version management staff.
In this embodiment, after the target developer completes the task to be developed, the code program of the task to be developed generated by the target developer may be uploaded to the development branch server.
S702, determining an object code program according to the code program and an original code program corresponding to a task to be developed; the object code program is a program that has been adjusted relative to the original code program.
In this embodiment, the code program of the task to be developed generated by the target developer includes an original code program and an object code program adjusted relative to the original code program, and the code program may be compared with the original code program corresponding to the task to be developed to determine the object code program generated by the target developer.
S703, generating a program increment package corresponding to the task to be developed based on the target code program.
In this embodiment, the code is managed using a Real-Time Clock (RTC) +redmine+ distributed version control system (git), which is used for code management, the RTC manages the development requirements, the redmine manages the status of the development and test requirements. Each development branch corresponds to a requirement during development, and development states of the requirements are managed through the redmine, and the branch codes are merged at the git only when the requirements on the redmine are completed. Meanwhile, when the test finds the defect, the tester submits a defect requirement on the redmine again, and the version manager pulls a new development branch correction bug. Before merging the codes, the codes needing merge each time are compared with the original codes through a third-party text comparison tool, and a list (containing the modified java files, contents and corresponding demands and branches and catalogues of the files) is generated at the same time, so that the later use is facilitated. A class file is compiled from this portion of the file by the written shell using an ant, which is the incrementally published portion (the remaining configuration file modifications are manually added to the publishing package).
In this embodiment, the code program of the task to be developed and the original code program corresponding to the task to be developed, which are generated by the target developer, are used to determine the target code program, so as to generate the program increment package corresponding to the task to be developed, and improve the security and purity of the code program.
Embodiments of the present disclosure are described below in connection with a particular resource allocation scenario, the method comprising the steps of:
s1, acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information includes the type of task to be developed and the demand time.
S2, determining a plurality of candidate developers corresponding to the task to be developed and allocation grades of the candidate developers from an information database according to the type of the task to be developed, the service information and the proficiency information.
S3, determining the demand time corresponding to each distribution level according to the demand time and the adjusting coefficient corresponding to each distribution level.
And S4, traversing each distribution grade according to the distribution sequence of each distribution grade, and determining whether the available time of each candidate developer of the distribution grade meets the demand time corresponding to the distribution grade.
S5, if the available time of each candidate developer meets the demand time corresponding to the allocation grade, determining the highest allocation grade as a first target allocation grade, and executing iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level; if yes, determining target developers from all candidate developers of the first target allocation level; if not, determining the next distribution level as a new first target distribution level, and returning to execute iterative operation until all distribution levels are traversed, and determining target developers from candidate developers of the first target distribution level.
S6, if the available time of each candidate developer does not meet the demand time corresponding to the allocation level, determining whether the sum of the available time of all candidate developers with the highest allocation level meets the demand time; if yes, determining all candidate developers with the highest allocation level as target developers; if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
S7, generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer.
S8, displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset condition is used to characterize whether the availability time of the target developer matches the actual availability time of the target developer.
S9, receiving feedback information triggered by a user based on the initial developer allocation table.
S10, if the feedback information characterizes that the initial developer allocation table meets the preset condition, determining a target developer allocation table from the initial developer allocation table; if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, the initial developer allocation table is adjusted based on the feedback information, and the adjusted developer allocation table is determined to be the target developer allocation table.
S11, acquiring new service information processed by each developer in a preset time interval adjacent to the current moment; and updating the proficiency information of each developer in processing the service according to the new service information.
S12, acquiring a code program of a task to be developed, which is generated by a target developer; determining an object code program according to the code program and an original code program corresponding to a task to be developed; the target code program is a program adjusted relative to the original code program; and generating a program increment package corresponding to the task to be developed based on the target code program.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a resource allocation device for realizing the above-mentioned resource allocation method. The implementation of the solution provided by the apparatus is similar to the implementation described in the above method, so the specific limitation in the embodiments of one or more resource allocation apparatus provided below may refer to the limitation of the resource allocation method hereinabove, and will not be repeated here.
In one embodiment, as shown in fig. 8, there is provided a resource allocation apparatus including: a first acquisition module 10, a screening module 11 and a first determination module 12, wherein:
the first obtaining module 10 is configured to obtain requirement information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information includes the type of task to be developed and the demand time.
And the screening module 11 is used for determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from the information database according to the type of the task to be developed, the service information and the proficiency information.
The first determining module 12 is configured to determine a target developer from the candidate developers according to the demand time, the allocation levels, and the available time of the candidate developers.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, as shown in fig. 9, the first determining module 12 includes: a first determination unit 121, a second determination unit 122, a third determination unit 123, and a fourth determination unit 124, wherein:
The first determining unit 121 is configured to determine a demand time corresponding to each allocation level according to the demand time and an adjustment coefficient corresponding to each allocation level.
The second determining unit 122 is configured to traverse each allocation level according to the allocation order of each allocation level, and determine whether the available time of each candidate developer of the allocation level meets the demand time corresponding to the allocation level.
And a third determining unit 123 for determining a target developer from among the candidate developers of the assigned class.
And a fourth determining unit 124 for determining a target developer from among all the candidate developers of the allocation level.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, the third determining unit 123 is specifically configured to determine the highest allocation level as the first target allocation level, and perform an iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level; if yes, determining target developers from all candidate developers of the first target allocation level; if not, determining the next distribution level as a new first target distribution level, and returning to execute iterative operation until all distribution levels are traversed, and determining target developers from candidate developers of the first target distribution level.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, the fourth determining unit 124 is specifically configured to determine whether the sum of the available times of all candidate developers with the highest allocation level meets the demand time; if yes, determining all candidate developers with the highest allocation level as target developers; if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, the fourth determining unit 124 is specifically configured to obtain a difference between the sum of the available times and the demand time of all candidate developers of the highest allocation level, determine the next allocation level as the second target allocation level, and perform an iterative operation; the iterative operation includes: determining the adjusted demand time according to the difference value and the adjusting coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time; if yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers; if not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, as shown in fig. 10, the screening module 11 includes: a fifth determination unit 111 and a sixth determination unit 112, wherein:
and a fifth determining unit 111, configured to determine, from the information database, a plurality of candidate developers corresponding to the task to be developed according to the type of the task to be developed, each piece of business information, and each piece of proficiency.
A sixth determining unit 112, configured to determine the allocation level of each candidate developer according to the service information handled by each candidate developer and the proficiency level of each candidate developer in handling the service.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, as shown in fig. 11, the apparatus further includes: a generating module 13, a presenting module 14, a receiving module 15 and a second determining module 16, wherein:
and the generating module 13 is used for generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer.
The display module 14 is configured to display the initial developer allocation table to a user, so that the user determines whether the target developer in the initial developer allocation table meets a preset condition; the preset condition is used to characterize whether the availability time of the target developer matches the actual availability time of the target developer.
And the receiving module 15 is used for receiving feedback information triggered by the user based on the initial developer allocation table.
A second determining module 16, configured to determine whether to adjust the initial developer allocation table according to the feedback information.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, as shown in fig. 12, the second determining module 16 includes: a seventh determination unit 161 and an adjustment unit 162, wherein:
the seventh determining unit 161 is configured to determine the initial developer allocation table to be the target developer allocation table if the feedback information indicates that the initial developer allocation table meets a preset condition.
And the adjusting unit 162 is configured to adjust the initial developer allocation table based on the feedback information if the feedback information indicates that the initial developer allocation table does not meet the preset condition, and determine the adjusted developer allocation table as the target developer allocation table.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, as shown in fig. 13, the apparatus further includes: a second acquisition module 17 and an update module 18, wherein:
a second obtaining module 17, configured to obtain new service information processed by each developer in a preset time interval adjacent to the current time.
And an updating module 18, configured to update proficiency information of each developer in processing the service according to the new service information.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
In one embodiment, as shown in fig. 14, the apparatus further includes: a third acquisition module 19, a third determination module 20 and a second generation module 21, wherein:
and a third obtaining module 19, configured to obtain a code program of a task to be developed generated by the target developer.
A third determining module 20, configured to determine an object code program according to an original code program corresponding to the code program and the task to be developed; the object code program is a program that has been adjusted relative to the original code program.
The second generating module 21 is configured to generate a program increment package corresponding to the task to be developed based on the object code program.
The resource allocation device provided in this embodiment may execute the above method embodiment, and its implementation principle and technical effects are similar, and are not described herein again.
The respective modules in the above-described resource allocation apparatus may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided comprising a memory and a processor, the memory having stored therein a computer program, the processor when executing the computer program performing the steps of:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
According to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In one embodiment, the processor when executing the computer program further performs the steps of:
according to the demand time and the adjusting coefficient corresponding to each distribution level, determining the demand time corresponding to each distribution level;
traversing each distribution level according to the distribution sequence of each distribution level, and determining whether the available time of each candidate developer of the distribution level meets the demand time corresponding to the distribution level;
if yes, determining a target developer from the candidate developers of the distribution level;
if not, determining the target developer from all the candidate developers of the distribution level.
In one embodiment, the processor when executing the computer program further performs the steps of:
determining the highest allocation level as a first target allocation level, and executing iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level;
If yes, determining target developers from all candidate developers of the first target allocation level;
if not, determining the next distribution level as a new first target distribution level, and returning to execute iterative operation until all distribution levels are traversed, and determining target developers from candidate developers of the first target distribution level.
In one embodiment, the processor when executing the computer program further performs the steps of:
determining whether the sum of the available times of all candidate developers of the highest allocation level meets the demand time;
if yes, determining all candidate developers with the highest allocation level as target developers;
if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
In one embodiment, the processor when executing the computer program further performs the steps of:
obtaining the difference value between the sum of the available time and the demand time of all candidate developers of the highest allocation level, determining the next allocation level as a second target allocation level, and executing iterative operation; the iterative operation includes: determining the adjusted demand time according to the difference value and the adjusting coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time;
If yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers;
if not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level.
In one embodiment, the processor when executing the computer program further performs the steps of:
according to the type of the task to be developed, the service information and the proficiency, determining a plurality of candidate developers corresponding to the task to be developed from an information database;
and determining the distribution grade of each candidate developer according to the service information processed by each candidate developer and the proficiency information of each candidate developer in processing the service.
In one embodiment, the processor when executing the computer program further performs the steps of:
Generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer;
displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset conditions are used for representing whether the available time of the target developer is matched with the actual available time of the target developer;
receiving feedback information triggered by a user based on an initial developer allocation table;
and determining whether to adjust the initial developer allocation table according to the feedback information.
In one embodiment, the processor when executing the computer program further performs the steps of:
if the feedback information characterizes that the initial developer allocation table meets the preset condition, determining a target developer allocation table from the initial developer allocation table;
if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, the initial developer allocation table is adjusted based on the feedback information, and the adjusted developer allocation table is determined to be the target developer allocation table.
In one embodiment, the processor when executing the computer program further performs the steps of:
Acquiring new service information processed by each developer in a preset time interval adjacent to the current moment;
and updating the proficiency information of each developer in processing the service according to the new service information.
In one embodiment, the processor when executing the computer program further performs the steps of:
acquiring a code program of a task to be developed, which is generated by a target developer;
determining an object code program according to the code program and an original code program corresponding to a task to be developed; the target code program is a program adjusted relative to the original code program;
and generating a program increment package corresponding to the task to be developed based on the target code program.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
according to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
And determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the demand time and the adjusting coefficient corresponding to each distribution level, determining the demand time corresponding to each distribution level;
traversing each distribution level according to the distribution sequence of each distribution level, and determining whether the available time of each candidate developer of the distribution level meets the demand time corresponding to the distribution level;
if yes, determining a target developer from the candidate developers of the distribution level;
if not, determining the target developer from all the candidate developers of the distribution level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining the highest allocation level as a first target allocation level, and executing iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level;
if yes, determining target developers from all candidate developers of the first target allocation level;
If not, determining the next distribution level as a new first target distribution level, and returning to execute iterative operation until all distribution levels are traversed, and determining target developers from candidate developers of the first target distribution level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining whether the sum of the available times of all candidate developers of the highest allocation level meets the demand time;
if yes, determining all candidate developers with the highest allocation level as target developers;
if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
obtaining the difference value between the sum of the available time and the demand time of all candidate developers of the highest allocation level, determining the next allocation level as a second target allocation level, and executing iterative operation; the iterative operation includes: determining the adjusted demand time according to the difference value and the adjusting coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time;
If yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers;
if not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the type of the task to be developed, the service information and the proficiency, determining a plurality of candidate developers corresponding to the task to be developed from an information database;
and determining the distribution grade of each candidate developer according to the service information processed by each candidate developer and the proficiency information of each candidate developer in processing the service.
In one embodiment, the computer program when executed by the processor further performs the steps of:
Generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer;
displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset conditions are used for representing whether the available time of the target developer is matched with the actual available time of the target developer;
receiving feedback information triggered by a user based on an initial developer allocation table;
and determining whether to adjust the initial developer allocation table according to the feedback information.
In one embodiment, the computer program when executed by the processor further performs the steps of:
if the feedback information characterizes that the initial developer allocation table meets the preset condition, determining a target developer allocation table from the initial developer allocation table;
if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, the initial developer allocation table is adjusted based on the feedback information, and the adjusted developer allocation table is determined to be the target developer allocation table.
In one embodiment, the computer program when executed by the processor further performs the steps of:
Acquiring new service information processed by each developer in a preset time interval adjacent to the current moment;
and updating the proficiency information of each developer in processing the service according to the new service information.
In one embodiment, the computer program when executed by the processor further performs the steps of:
acquiring a code program of a task to be developed, which is generated by a target developer;
determining an object code program according to the code program and an original code program corresponding to a task to be developed; the target code program is a program adjusted relative to the original code program;
and generating a program increment package corresponding to the task to be developed based on the target code program.
In one embodiment, a computer program product is provided comprising a computer program which, when executed by a processor, performs the steps of:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of each developer for processing the service; the demand information comprises the type and demand time of the task to be developed;
according to the type of the task to be developed, the business information and the proficiency information, determining a plurality of candidate developers corresponding to the task to be developed and the allocation grade of each candidate developer from an information database;
And determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the demand time and the adjusting coefficient corresponding to each distribution level, determining the demand time corresponding to each distribution level;
traversing each distribution level according to the distribution sequence of each distribution level, and determining whether the available time of each candidate developer of the distribution level meets the demand time corresponding to the distribution level;
if yes, determining a target developer from the candidate developers of the distribution level;
if not, determining the target developer from all the candidate developers of the distribution level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining the highest allocation level as a first target allocation level, and executing iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the demand time corresponding to the first target allocation level;
if yes, determining target developers from all candidate developers of the first target allocation level;
If not, determining the next distribution level as a new first target distribution level, and returning to execute iterative operation until all distribution levels are traversed, and determining target developers from candidate developers of the first target distribution level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining whether the sum of the available times of all candidate developers of the highest allocation level meets the demand time;
if yes, determining all candidate developers with the highest allocation level as target developers;
if not, determining target developers from all candidate developers with the highest allocation level and candidate developers except for all candidate developers with the highest allocation level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
obtaining the difference value between the sum of the available time and the demand time of all candidate developers of the highest allocation level, determining the next allocation level as a second target allocation level, and executing iterative operation; the iterative operation includes: determining the adjusted demand time according to the difference value and the adjusting coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time;
If yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers;
if not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the type of the task to be developed, the service information and the proficiency, determining a plurality of candidate developers corresponding to the task to be developed from an information database;
and determining the distribution grade of each candidate developer according to the service information processed by each candidate developer and the proficiency information of each candidate developer in processing the service.
In one embodiment, the computer program when executed by the processor further performs the steps of:
Generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer;
displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset conditions are used for representing whether the available time of the target developer is matched with the actual available time of the target developer;
receiving feedback information triggered by a user based on an initial developer allocation table;
and determining whether to adjust the initial developer allocation table according to the feedback information.
In one embodiment, the computer program when executed by the processor further performs the steps of:
if the feedback information characterizes that the initial developer allocation table meets the preset condition, determining a target developer allocation table from the initial developer allocation table;
if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, the initial developer allocation table is adjusted based on the feedback information, and the adjusted developer allocation table is determined to be the target developer allocation table.
In one embodiment, the computer program when executed by the processor further performs the steps of:
Acquiring new service information processed by each developer in a preset time interval adjacent to the current moment;
and updating the proficiency information of each developer in processing the service according to the new service information.
In one embodiment, the computer program when executed by the processor further performs the steps of:
acquiring a code program of a task to be developed, which is generated by a target developer;
determining an object code program according to the code program and an original code program corresponding to a task to be developed; the target code program is a program adjusted relative to the original code program;
and generating a program increment packet corresponding to the task to be developed based on the target code program.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magnetic random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (Phase Change Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like. The databases referred to in the embodiments provided herein may include at least one of a relational database and a non-relational database. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processor referred to in the embodiments provided in the present application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, or the like, but is not limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The foregoing examples illustrate only a few embodiments of the application and are described in detail herein without thereby limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of the application should be assessed as that of the appended claims.

Claims (14)

1. A method of resource allocation, the method comprising:
acquiring demand information of a task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of the service processed by each developer; the demand information comprises the type and demand time of the task to be developed;
Determining a plurality of candidate developers corresponding to the task to be developed and allocation levels of the candidate developers from the information database according to the type of the task to be developed, the business information and the proficiency information;
and determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
2. The method of claim 1, wherein the determining a target developer from among the candidate developers based on the demand time, the allocation levels, and the availability times of the candidate developers comprises:
according to the demand time and the adjusting coefficient corresponding to each distribution level, determining the demand time corresponding to each distribution level;
traversing each distribution grade according to the distribution sequence of each distribution grade, and determining whether the available time of each candidate developer of the distribution grade meets the corresponding demand time of the distribution grade;
if yes, determining the target developer from the candidate developers of each distribution level;
If not, determining the target developer from all candidate developers of the distribution level.
3. The method of claim 2, wherein said determining said target developer from among candidate developers of each of said assigned levels comprises:
determining the highest allocation level as a first target allocation level, and executing iterative operation; the iterative operation includes: determining whether the available time of each candidate developer of the first target allocation level meets the corresponding demand time of the first target allocation level;
if yes, determining the target developer from the candidate developers of the first target allocation level;
if not, determining the next distribution level as a new first target distribution level, and returning to execute the iterative operation until all distribution levels are traversed, and determining the target developer from candidate developers of the first target distribution level.
4. The method of claim 2, wherein the determining the target developer from among all assigned-level candidate developers comprises:
determining whether a sum of the available times of all candidate developers of the highest allocation level meets the demand time;
If yes, determining all candidate developers with the highest allocation level as the target developers;
if not, determining the target developer from all candidate developers of the highest allocation level and candidate developers except for all candidate developers of the highest allocation level.
5. The method of claim 4, wherein the determining the target developer from among all candidate developers of the highest allocation level and candidate developers other than all candidate developers of the highest allocation level comprises:
obtaining the difference value between the sum of the available time of all candidate developers of the highest allocation level and the demand time, determining the next allocation level as a second target allocation level, and executing iterative operation; the iterative operation includes: determining an adjusted demand time according to the difference value and an adjustment coefficient corresponding to the second target distribution level, and determining whether the sum of the available time of all candidate developers of the second target distribution level meets the adjusted demand time;
if yes, determining all candidate developers of the highest allocation level and all candidate developers of the second target allocation level as target developers;
If not, determining the difference between the sum of the available time of all candidate developers of the next distribution level and the adjusted demand time as a new difference, determining the next distribution level of the next distribution level as a new second target distribution level, and returning to execute the iterative operation until each distribution level is traversed, and determining the target developer according to all candidate developers of the highest distribution level and all candidate developers of the second target distribution level.
6. The method according to any one of claims 1-5, wherein determining, from the information database, a plurality of candidate developers corresponding to the task to be developed and an allocation level of each candidate developer according to the type of the task to be developed, each service information, and each proficiency information, includes:
according to the type of the task to be developed, the business information and the proficiency, determining a plurality of candidate developers corresponding to the task to be developed from the information database;
and determining the distribution grade of each candidate developer according to the service information processed by each candidate developer and the proficiency information of each candidate developer in processing the service.
7. The method according to any one of claims 1-5, further comprising:
generating an initial developer allocation table corresponding to the task to be developed according to the demand information and the target developer;
displaying the initial developer allocation table to a user so that the user can determine whether target developers in the initial developer allocation table meet preset conditions; the preset condition is used for representing whether the available time of the target developer is matched with the actual available time of the target developer;
receiving feedback information triggered by a user based on the initial developer allocation table;
and determining whether to adjust the initial developer allocation table according to the feedback information.
8. The method of claim 7, wherein said determining whether to adjust the initial developer allocation table based on the feedback information comprises:
if the feedback information characterizes that the initial developer allocation table meets the preset condition, determining the initial developer allocation table as a target developer allocation table;
and if the feedback information characterizes that the initial developer allocation table does not meet the preset condition, adjusting the initial developer allocation table based on the feedback information, and determining the adjusted developer allocation table as a target developer allocation table.
9. The method according to any one of claims 1-5, further comprising:
acquiring new service information processed by each developer in a preset time interval adjacent to the current moment;
and updating the proficiency information of each developer in processing the business according to the new business information.
10. The method according to any one of claims 1-5, further comprising:
acquiring a code program of the task to be developed, which is generated by the target developer;
determining an object code program according to the code program and an original code program corresponding to the task to be developed; the target code program is a program adjusted relative to the original code program;
and generating a program increment package corresponding to the task to be developed based on the target code program.
11. A resource allocation apparatus, the apparatus comprising:
the acquisition module is used for acquiring the requirement information of the task to be developed and a preset information database; the information database comprises available time of a plurality of developers, service information processed by each developer and proficiency information of the service processed by each developer; the demand information comprises the type and demand time of the task to be developed;
The screening module is used for determining a plurality of candidate developers corresponding to the task to be developed and the distribution grade of each candidate developer from the information database according to the type of the task to be developed, the business information and the proficiency information;
and the first determining module is used for determining target developers from the candidate developers according to the demand time, the distribution grades and the available time of the candidate developers.
12. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any one of claims 1 to 10 when the computer program is executed.
13. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 10.
14. A computer program product comprising a computer program, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any one of claims 1 to 10.
CN202310847992.0A 2023-07-12 2023-07-12 Resource allocation method, device, computer equipment and storage medium Active CN116579585B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310847992.0A CN116579585B (en) 2023-07-12 2023-07-12 Resource allocation method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310847992.0A CN116579585B (en) 2023-07-12 2023-07-12 Resource allocation method, device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN116579585A true CN116579585A (en) 2023-08-11
CN116579585B CN116579585B (en) 2023-10-03

Family

ID=87536247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310847992.0A Active CN116579585B (en) 2023-07-12 2023-07-12 Resource allocation method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116579585B (en)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030083891A1 (en) * 2001-10-25 2003-05-01 Lang Kenny W. Project Management tool
US20090171695A1 (en) * 2007-12-31 2009-07-02 Intel Corporation System and method for interactive management of patient care
US20100057518A1 (en) * 2008-08-26 2010-03-04 Yehuda Naveh Constraint Programming with Efficient Ordering of Variables
CN106599214A (en) * 2016-12-16 2017-04-26 四川长虹电器股份有限公司 Method for performing task allocation based on enterprise organizational structure
WO2017184723A1 (en) * 2016-04-19 2017-10-26 tilr corporation Attribute matching
WO2019046522A1 (en) * 2017-08-30 2019-03-07 4D Technologies, LLC System and method for determining competency deficiencies and matching between particular projects and available workers or candidates
CN110163474A (en) * 2019-04-12 2019-08-23 平安普惠企业管理有限公司 A kind of method and apparatus of task distribution
CN110222940A (en) * 2019-05-13 2019-09-10 西安工业大学 A kind of crowdsourcing test platform tester's proposed algorithm
WO2020110131A1 (en) * 2018-11-27 2020-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and crew allocation system for allocating a field technician for executing a work order
CN113256108A (en) * 2021-05-24 2021-08-13 平安普惠企业管理有限公司 Human resource allocation method, device, electronic equipment and storage medium
CN113449986A (en) * 2021-06-25 2021-09-28 未鲲(上海)科技服务有限公司 Service distribution method, device, server and storage medium
CN113869719A (en) * 2021-09-27 2021-12-31 福州众联信息科技有限公司 Work distribution method, equipment and medium for special equipment detection project
CN114140012A (en) * 2021-12-08 2022-03-04 广州品唯软件有限公司 Customer service personnel dispatching method, device, equipment, storage medium and system
CN115994651A (en) * 2022-11-18 2023-04-21 国网河北省电力有限公司营销服务中心 Work order distribution method, device, terminal and storage medium
CN116187675A (en) * 2022-12-28 2023-05-30 中国联合网络通信集团有限公司 Task allocation method, device, equipment and storage medium
CN116362493A (en) * 2023-03-14 2023-06-30 中国工商银行股份有限公司 Project task allocation processing method and device

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030083891A1 (en) * 2001-10-25 2003-05-01 Lang Kenny W. Project Management tool
US20090171695A1 (en) * 2007-12-31 2009-07-02 Intel Corporation System and method for interactive management of patient care
US20100057518A1 (en) * 2008-08-26 2010-03-04 Yehuda Naveh Constraint Programming with Efficient Ordering of Variables
WO2017184723A1 (en) * 2016-04-19 2017-10-26 tilr corporation Attribute matching
CN106599214A (en) * 2016-12-16 2017-04-26 四川长虹电器股份有限公司 Method for performing task allocation based on enterprise organizational structure
WO2019046522A1 (en) * 2017-08-30 2019-03-07 4D Technologies, LLC System and method for determining competency deficiencies and matching between particular projects and available workers or candidates
WO2020110131A1 (en) * 2018-11-27 2020-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and crew allocation system for allocating a field technician for executing a work order
CN110163474A (en) * 2019-04-12 2019-08-23 平安普惠企业管理有限公司 A kind of method and apparatus of task distribution
CN110222940A (en) * 2019-05-13 2019-09-10 西安工业大学 A kind of crowdsourcing test platform tester's proposed algorithm
CN113256108A (en) * 2021-05-24 2021-08-13 平安普惠企业管理有限公司 Human resource allocation method, device, electronic equipment and storage medium
CN113449986A (en) * 2021-06-25 2021-09-28 未鲲(上海)科技服务有限公司 Service distribution method, device, server and storage medium
CN113869719A (en) * 2021-09-27 2021-12-31 福州众联信息科技有限公司 Work distribution method, equipment and medium for special equipment detection project
CN114140012A (en) * 2021-12-08 2022-03-04 广州品唯软件有限公司 Customer service personnel dispatching method, device, equipment, storage medium and system
CN115994651A (en) * 2022-11-18 2023-04-21 国网河北省电力有限公司营销服务中心 Work order distribution method, device, terminal and storage medium
CN116187675A (en) * 2022-12-28 2023-05-30 中国联合网络通信集团有限公司 Task allocation method, device, equipment and storage medium
CN116362493A (en) * 2023-03-14 2023-06-30 中国工商银行股份有限公司 Project task allocation processing method and device

Also Published As

Publication number Publication date
CN116579585B (en) 2023-10-03

Similar Documents

Publication Publication Date Title
US11392561B2 (en) Data migration using source classification and mapping
US11847103B2 (en) Data migration using customizable database consolidation rules
US8904149B2 (en) Parallelization of online learning algorithms
JP6083290B2 (en) Distributed processing system
US9569110B2 (en) Efficient management of cloned data
CN111324606B (en) Data slicing method and device
CN107085605B (en) Method and device for data packaging and electronic equipment
US9424260B2 (en) Techniques for data assignment from an external distributed file system to a database management system
CN110019111A (en) Data processing method, device, storage medium and processor
CN109388644A (en) A kind of data-updating method and device
CN115729687A (en) Task scheduling method and device, computer equipment and storage medium
US20230169168A1 (en) Detect anomalous container deployment at a container orchestration service
CN116579585B (en) Resource allocation method, device, computer equipment and storage medium
JP2008225686A (en) Data arrangement management device and method in distributed data processing platform, and system and program
US10379973B2 (en) Allocating storage in a distributed storage system
CN109582476A (en) Data processing method, apparatus and system
WO2018145227A1 (en) Managing data records in object-based cloud storage systems
CN114237871A (en) Arranging method and device of cloud resources, computer equipment and storage medium
US10810184B1 (en) Systems for consistent modification of stored values
US20180239640A1 (en) Distributed data processing system, and distributed data processing method
CN109582938B (en) Report generation method and device
CN106484866B (en) A kind of batch data processing method and processing device
US9697036B2 (en) Method and apparatus for generating unique identifier for distributed computing environment
CN116032928B (en) Data collaborative computing method, device, system, electronic device and storage medium
US20230297486A1 (en) Arrangement plan search device, computer system, and arrangement plan search method

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