Method, apparatus, device, and medium for dynamically configuring personnel
Through the personnel selector based on the policy model, the personnel information is dynamically configured, and the problem of improper staffing caused by organizational changes and business diversification is solved, real-time and accuracy are achieved, and business processing efficiency and customer experience are improved.
Patent Information
- Application Number
- CN202111557810.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-17
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2041-12-17
AI Technical Summary
In the prior art, with the changes in the organization and diversification of business, the staffing configuration cannot keep up with actual needs in a timely manner, resulting in improper personnel allocation and affecting the business system and customer experience. Especially in banks and other businesses, approval operations are affected.
A person selector designed based on policy patterns is adopted, by receiving personnel information configuration requests, calling policies corresponding to the target attribute field, instantiating the target policy instance, and feedback to the user through a unified interface to dynamically configure personnel information.
It realizes the real-time and accuracy of personnel information during business design and implementation, quickly adapts to organizational changes, avoids frequent changes in personnel configuration, and improves business processing efficiency and customer experience.
Smart Images

Figure CN114219325B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of big data, and particularly to a method, apparatus, device, medium and program product for dynamically configuring personnel. Background Art
[0002] The conduct of operations (such as operations like process approvals) is inseparable from personnel operations. Usually, corresponding personnel are configured at the beginning of the design of the business process and are executed by specific personnel during execution. With the diversification of businesses, the continuous expansion of new businesses, the great differences in various business steps, and the different allocation requirements for personnel in each step, the personnel allocation in business processing becomes extremely complex. At the same time, with the changes in organizational development, the organizational structure becoming more complex, and the personnel flow and changes becoming more frequent, it often leads to problems such as the personnel configuration during business design not keeping up with the actual usage requirements, or the personnel configured during business design not matching the personnel that can be allocated during actual business operations. For example, the departure or job change of personnel results in the inability of the personnel configured during business design to perform operations during actual business operations. Or, after the organizational structure changes, the personnel configured during business design have to be traced back, or the business personnel configuration has to be redone.
[0003] It can be seen that the evolution of organizations, the personnel flow and changes between different organizations, and the development of business diversification pose huge challenges to the personnel configuration work in business operations. For example, in the operations of a bank, there are a large number of approval operations. Whether it is the expansion of new businesses or the change of the old approval organizational structure, it may affect the conduct of existing and upcoming approval operations, and may even have an impact on the entire bank's business system and transaction system, thus possibly resulting in a lower customer experience effect for commercial banks and even causing damage to banking operations. Summary of the Invention
[0004] In view of the above problems, the present disclosure provides a method, apparatus, device, medium and program product for dynamically configuring personnel to improve the efficiency of personnel configuration in business.
[0005] In the first aspect of the embodiments of the present disclosure, a method for dynamically configuring personnel is provided. The method includes: receiving a personnel information configuration request sent by a first user, where the personnel information configuration request includes a target attribute field and target attribute parameters in the target attribute field; invoking a personnel selector based on the personnel information configuration request, where the personnel selector is an interface designed based on the strategy pattern, and at least one strategy is set in the personnel selector. In the personnel selector: selecting a target strategy corresponding to the target attribute field from the at least one strategy; and instantiating the target strategy based on the target attribute parameters to obtain information of a target strategy instance; and feeding back the information of the target strategy instance to the first user through the personnel selector.
[0006] According to an embodiment of the present disclosure, the method further includes setting the personnel selector, specifically including: determining at least one attribute field for distinguishing personnel composition in the at least one data source; correspondingly setting a strategy for each of the at least one attribute field to obtain the at least one strategy; and setting a unified external interface, where the unified external interface is used to receive external calls and access the at least one strategy.
[0007] According to an embodiment of the present disclosure, the at least one attribute field includes at least one of user, group, department, company, or role.
[0008] According to an embodiment of the present disclosure, setting the unified external interface includes: implementing the unified external interface based on the facade pattern.
[0009] According to an embodiment of the present disclosure, setting the personnel selector further includes: when an attribute field for distinguishing personnel composition changes, changing the strategy corresponding to the changed attribute field in the personnel selector.
[0010] According to an embodiment of the present disclosure, when an attribute field for distinguishing personnel composition changes, changing the strategy corresponding to the changed attribute field in the personnel selector includes: when a new attribute field for distinguishing personnel composition appears, setting a new strategy for the new attribute field in the personnel selector.
[0011] According to an embodiment of the present disclosure, before receiving the personnel information configuration request sent by the first user, the method further includes displaying a multi-tab interface on the front end, where each tab in the multi-tab interface corresponds to an attribute field, and optional attribute parameters in the corresponding attribute field are displayed in each tab. Wherein, in response to a selection operation of the first user on the target attribute parameters under the tab where the target attribute field is located in the multi-tab interface, the personnel information configuration request is received.
[0012] According to an embodiment of the present disclosure, the feedback of the information of the target policy instance to the first user through the personnel selector includes encapsulating the information of the target policy instance in a predetermined format and then feeding it back to the first user.
[0013] According to an embodiment of the present disclosure, the method further includes: in response to the parsing operation of the second user on the information of the target policy instance, executing the target policy instance to obtain personnel information from the at least one data source according to the target attribute parameters in the target attribute fields.
[0014] According to an embodiment of the present disclosure, the first user is a configuration user of the business process.
[0015] According to an embodiment of the present disclosure, the second user is an operation assignment user or an operation transfer user in the business process.
[0016] In a second aspect of the embodiments of the present disclosure, there is provided a device for dynamically configuring personnel. The device includes a request receiving module, a calling module, and a configuration module. The request receiving module is configured to receive a personnel information configuration request sent by a first user, where the personnel information configuration request includes target attribute fields and target attribute parameters in the target attribute fields. The calling module is configured to call a personnel selector based on the personnel information configuration request, where the personnel selector is an interface designed based on the policy mode, and at least one policy is set in the personnel selector; wherein, in the personnel selector, a target policy corresponding to the target attribute field is selected from the at least one policy; and based on the target attribute parameters, instantiation of the target policy is performed to obtain information of a target policy instance. The configuration module is configured to feed back the information of the target policy instance to the first user through the personnel selector.
[0017] According to an embodiment of the present disclosure, the device further includes a setting module. The setting module is configured to set the personnel selector. The setting module includes a determination sub-module, a policy setting sub-module, and an interface setting sub-module. The determination sub-module is configured to determine at least one attribute field for distinguishing personnel composition in the at least one data source. The policy setting sub-module is configured to correspondingly set a policy for each of the at least one attribute fields to obtain the at least one policy. The interface setting sub-module is configured to set an external unified interface, where the external unified interface is used to receive external calls and access the at least one policy.
[0018] According to an embodiment of the present disclosure, the policy setting sub-module is further configured to, when a new attribute field for distinguishing personnel composition appears, set a new policy for the new attribute field in the personnel selector.
[0019] In a third aspect of the embodiments of the present disclosure, an electronic device is provided. The electronic device includes one or more processors and a memory. The memory is used to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors are caused to execute the above method.
[0020] In a fourth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, on which executable instructions are stored. When the instructions are executed by a processor, the processor is caused to execute the above method.
[0021] In a fifth aspect of the embodiments of the present disclosure, a computer program product is further provided, including a computer program which, when executed by a processor, implements the above method. Description of the Drawings
[0022] Through the following description of the embodiments of the present disclosure with reference to the drawings, the above content and other objects, features and advantages of the present disclosure will become clearer. In the drawings:
[0023] Figure 1 Schematically shows an application scenario diagram of a method, apparatus, device, medium and program product for dynamically configuring personnel according to an embodiment of the present disclosure;
[0024] Figure 2 Schematically shows an interaction schematic of a personnel selector according to an embodiment of the present disclosure;
[0025] Figure 3 Schematically shows a flowchart of a method for dynamically configuring personnel according to an embodiment of the present disclosure;
[0026] Figure 4 Schematically shows a flowchart of setting a personnel selector according to an embodiment of the present disclosure;
[0027] Figure 5 Schematically shows a flowchart of setting a personnel selector according to another embodiment of the present disclosure;
[0028] Figure 6 Schematically shows a logic schematic of designing a personnel selector based on the strategy pattern according to an embodiment of the present disclosure;
[0029] Figure 7 Schematically shows a development process of a personnel selector according to an embodiment of the present disclosure;
[0030] Figure 8 Schematically shows the process of a configuration user of a business process configuring personnel during the design process of the business process by using the method according to an embodiment of the present disclosure;
[0031] Figure 9Schematically shows the call logic of the method for dynamically configuring personnel in business process configuration according to an embodiment of the present disclosure;
[0032] Figure 10 Schematically shows the call logic of the method for dynamically configuring personnel in business process usage according to an embodiment of the present disclosure;
[0033] Figure 11 Schematically shows a block diagram of an apparatus for dynamically configuring personnel according to an embodiment of the present disclosure; and
[0034] Figure 12 Schematically shows a block diagram of an electronic device suitable for implementing the method for dynamically configuring personnel according to an embodiment of the present disclosure. Detailed implementation manners
[0035] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the following detailed description, for the sake of explanation, many specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. However, it is obvious that one or more embodiments can be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily obscuring the concepts of the present disclosure.
[0036] The terms used herein are merely for describing specific embodiments and are not intended to limit the present disclosure. The terms "including", "comprising" and the like as used herein indicate the presence of the described features, steps, operations and / or components, but do not exclude the presence or addition of one or more other features, steps, operations or components.
[0037] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0038] In the case of using expressions such as "at least one of A, B, and C", generally, it should be interpreted according to the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but not be limited to a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C).
[0039] Embodiments of the present disclosure provide a method, apparatus, device, medium, and program product for dynamically configuring personnel. Among them, the dynamic configuration of personnel is realized through a personnel selector based on the policy pattern.
[0040] The personnel selector in the embodiments of the present disclosure is an interface designed based on the strategy pattern. At least one strategy is set in the personnel selector, and each strategy is a class obtained by encapsulating an algorithm for obtaining personnel information from at least one data source according to the attribute parameters in an attribute field. Among them, the attribute field corresponding to each strategy can be, for example, information for distinguishing different personnel types determined according to the personnel composition method. For example, in a large enterprise, personnel types can be distinguished according to different information such as users, groups, departments, companies, or roles.
[0041] According to the embodiments of the present disclosure, during business design, according to the attribute field (which can be abbreviated as "target attribute field" in this article) included in the type information of the personnel that needs to be configured and the attribute parameters (which can be abbreviated as "target attribute parameters" in this article) in the target attribute field, the target strategy corresponding to the target attribute field is called in the personnel selector, and the target strategy instance is instantiated using the target attribute parameters. Then, the business configuration is performed with the information of the target strategy instance.
[0042] It can be seen from the setting and encapsulation of the strategy in the personnel selector that the target strategy instance is essentially an encapsulation of the algorithm for searching for personnel information from at least one data source according to the target attribute parameters in the target attribute field. Thus, by parsing the information of the target strategy instance for business configuration, the execution of the algorithm in the target strategy instance can be triggered, so that the corresponding personnel information can be obtained from at least one data source in real time. In this way, even during the period from the beginning of business design to business implementation, if the specific personnel information corresponding to the target attribute parameters in the target attribute field changes (for example, due to personnel leaving the company or personnel changes between different organizations), the latest personnel information can still be obtained during business implementation, ensuring the accuracy and timeliness of personnel information during business implementation.
[0043] In addition, according to the embodiments of the present disclosure, if the personnel composition method changes, the strategy corresponding to the corresponding attribute field can be changed in the personnel selector. For example, when an enterprise adds an organization method such as an institution to the original personnel division methods of users, groups, departments, companies, or roles, a corresponding strategy can be set for the institution in the personnel selector, or when the enterprise no longer allocates personnel by groups, the strategy set for groups in the personnel selector can be deleted. It can be seen that through the personnel selector in the embodiments of the present disclosure, business design and business implementation can quickly adapt to organizational changes and avoid frequent changes in personnel configuration during business processing due to personnel changes or organizational changes.
[0044] Figure 1 The application scenario diagram of the method, device, equipment, medium, and program product for dynamically configuring personnel according to the embodiments of the present disclosure is schematically shown.
[0045] As Figure 1 shown, the application scenario 100 according to this embodiment may include at least one terminal device (three are shown in the figure, terminal devices 101, 102, 103), a server 104, and at least one database (three are shown in the figure, databases 105, 106, 107). Among them, the terminal devices 101, 102, 103 and / or the databases 105, 106, 107 may communicate with the server 104.
[0046] A personnel selector may be provided in the server 104. The user may use the terminal devices 101, 102, 103 to interact with the server 104 to invoke the personnel selector.
[0047] The databases 105, 106, 107 may be relational databases and / or non-relational databases, such as MySql databases, Oracle databases, ElasticSearch, or MongoDB, etc.
[0048] Figure 2 Schematically shows the interaction schematic of the personnel selector 200 according to an embodiment of the present disclosure.
[0049] The personnel selector 200 may be provided in the server 104. The user 21 may use the terminal devices 101, 102, 103 to invoke the personnel selector 200.
[0050] The personnel selector 200 is an interface service designed based on the strategy pattern. Among them, the strategy pattern is a software design pattern. A series of algorithms are defined in the strategy pattern. These algorithms are encapsulated separately to form individual strategies, and these strategies can be replaced with each other. In this way, the specific algorithm can be decoupled from the object itself. When using the object, the object is associated with the strategy according to the requirements, so that the object has the processing behavior of the algorithm encapsulated in the strategy. At the same time, the strategy pattern provides a unified interface for external users to call these strategies.
[0051] Specifically in the personnel selector 200, in combination with the application scenario 100, according to the embodiments of the present disclosure, an algorithm for obtaining personnel information from the databases 105, 106, and 107 according to the attribute parameters in one attribute field (for example, one of user, group, department, company, or role) can be encapsulated to obtain a policy (substantially a data class), thereby forming a policy group 20. For example, the department policy 203 encapsulates the algorithm for obtaining the personnel information of each department from the databases 105, 106, and 107. This algorithm may include, for example, how to obtain the personnel information of the corresponding department from the databases 105, 106, and 107 according to the name of each department, which fields the obtained personnel information includes, what the data format of each field is, whether to encrypt or decrypt during the data transmission process, and the specific regulations for encryption and decryption, etc.
[0052] In the personnel selector 200, the policy group 20 includes a user policy 201, a group policy 202, a department policy 203, a company policy 204, a role policy 205, etc. Correspondingly, a unified external interface 22 is also designed. The unified external interface 22 provides a unified call interface to external users (such as user 21).
[0053] Suppose that when user 21 configures a business process and a certain step needs to be executed by the personnel in department 1 (for example, the R & D department), then user 21 can call the personnel selector 200 through an instruction, locate the department policy 203 therein, and then instantiate the department policy 203 with the R & D department as the specific attribute parameter in the department policy 203, and then feedback the information after instantiating the department policy 203 with the "R & D department" as the attribute parameter to user 21. In this way, what user 21 actually obtains is the information of an algorithm instance, where the algorithm instance can obtain the personnel information of the R & D department from the databases 105, 106, and 107. Next, during the actual execution of this business process, user 21 (or other users using this business process) can trigger the execution of this algorithm instance by parsing this algorithm instance, so as to obtain the personnel information of the R & D department from the databases 105, 106, and 107 in real time. Similarly, when user 21 selects the personnel of a certain role (for example, department manager), the algorithm information after instantiating the role policy 205 with "department manager" can also be returned to user 21 through the personnel selector 200.
[0054] Combined with the above examples, it can be seen that in the personnel selector 200 designed based on the policy pattern, each policy in the policy group 20 (for example, 201 to 205) can be mutually replaced, where, in each call, it is specifically determined according to the target attribute field and target attribute parameter used to represent the personnel type information in the instruction sent by user 21. In this way, the algorithm for obtaining personnel is independent of user 21 who uses the personnel information, avoiding duplicate code.
[0055] The above combination Figure 1 and Figure 2 has provided a general introduction to the application scenarios of the embodiments of the present disclosure and the design and usage principles of the personnel selector based on the strategy pattern. It can be understood that the above introduction is only exemplary and not restrictive, and the methods of the embodiments of the present disclosure can be applied to any scenario. For example, in the above example, the caller of the personnel selector 200 being the user 21 in the terminal devices 101, 102, or 103 is only exemplary. In some embodiments, the caller of the personnel selector 200 can also be various application programs.
[0056] The following will be based on Figure 1 the application scenario and Figure 2 the personnel selector 200, and will introduce in detail the method for dynamically configuring personnel in the embodiments of the present disclosure through Figures 3 - 10
[0057] Figure 3 FIG. schematically shows a flowchart of the method for dynamically configuring personnel according to the embodiments of the present disclosure.
[0058] As Figure 3 shown, according to some embodiments of the present disclosure, the method for dynamically configuring personnel may include operations S310 to S350. According to other embodiments of the present disclosure, operation S360 may further be included after operation S350.
[0059] First, in operation S310, a personnel information configuration request sent by a first user (for example, user 21) is received. The personnel information configuration request is used to indicate the personnel type information to be configured. The personnel type information may include a target attribute field and target attribute parameters in the target attribute field. For example, if it is necessary to configure personnel in the R & D department, the corresponding target attribute field is the department, and the target attribute parameter is the R & D department.
[0060] For example, a front - end interface that can interact with the personnel selector 200 may be provided to the first user 21 on the terminal devices 101, 102, 103, and the personnel information configuration request is received based on the operations of the first user 21 in the front - end interface.
[0061] For example, a multi-tab interface can be displayed on the front end. Each tab in the multi-tab interface corresponds to an attribute field for distinguishing personnel types. Each tab displays the selectable attribute parameters under the corresponding attribute field for user 21 to select the personnel information to be configured. For example, under the department tab, the name information of each department in the organization can be displayed. The front end can be a pop-up selector implemented based on the react framework, which can support dynamic expansion of personnel type information and can return the personnel type of the current type of user through an interface or select a type through the use of functional components. Among them, tabs such as user, user group, department, role, and / or variable can be provided. The implementation logic of the front end can support the implementation of checkboxes for multiple personnel types through the effect of multi-tabs.
[0062] According to an embodiment of the present disclosure, when the first user 21 selects the target attribute parameter under the tab of the target attribute field in the multi-tab interface on the front end, in response to the user's selection operation, a personnel information configuration request is generated and the personnel information configuration request is received.
[0063] Then in operation S320, the personnel selector 200 is called based on the personnel information configuration request. Among them, the personnel selector 200 is an interface designed based on the strategy pattern, and at least one strategy 201-205 is set in the personnel selector 200. The at least one strategy can be combined to form a strategy group 20. Each strategy is a class obtained by encapsulating an algorithm for obtaining personnel information from at least one data source according to the attribute parameters in an attribute field.
[0064] The attribute field can be, for example, user, group, department, company, or role, etc., and the attribute parameter can be, for example, the parameter value in each attribute field. For example, each department name under the department field (such as, R & D department, science and technology department, sales department, or product department, etc.) is an attribute parameter. Another example is that the role name under the role field (such as, department manager, product manager, business director, senior engineer, or general manager, etc.) is the corresponding attribute parameter.
[0065] Next in operation S330, in the personnel selector 200, the target strategy corresponding to the target attribute field is selected from at least one strategy 201-205.
[0066] And in operation S340, based on the instantiation of the target strategy with the target attribute parameter, the information of the target strategy instance is obtained.
[0067] Next in operation S350, the personnel selector 200 feeds back the information of the target strategy instance to the first user 21 so that the first user 21 can configure the personnel information through the information of the target strategy instance.
[0068] In one embodiment, the information of the target policy instance can be encapsulated in a predetermined format and then fed back to the first user 21.
[0069] For example, the information returned by each policy in the policy group 20 can be encapsulated in a predetermined format and then unified. In one embodiment, the corresponding policy can be identified by an ID, the attribute parameters in each policy can be identified by a name, the data information of the attribute parameters can be identified by a code to avoid homonym confusion, and the information of the attribute fields corresponding to the policy (including users, user groups, roles, departments, companies, etc.) can be identified by a type. For example, when the user policy 201 is selected, the ID value of the user policy 201 can be assigned to the ID field; when the grouping policy 202 is selected, the ID value of the grouping policy is assigned to the ID field; the same applies to selecting the role policy 205 and the department policy 203, etc. The information fed back to the first user 21 after such unification thus includes the basic ID (unique identifier), name, code, and type (classification: user, user group, role, department, company). In some embodiments, some differential information can also be saved in the information returned by the personnel selector 200 to the first user 21, such as adding some extended fields like class, phone, etc.
[0070] By encapsulating the target policy instance and saving the corresponding personnel attribute and other identification information in the returned data object, the first user 21 can understand whether the specific query business logic and the information of the configured personnel meet the requirements.
[0071] Next, in operation S360, in response to the second user's parsing operation on the information of the target policy instance, the target policy instance can be executed to obtain personnel information from at least one data source according to the target attribute parameters in the target attribute field.
[0072] For example, the first user can be a business designer, and the second user can be a business processor. Thus, according to the embodiments of the present disclosure, the information of the target policy instance can be used for configuration during business design. When the business is implemented, the business processor then parses the information of the target policy instance to obtain specific personnel information from databases 105, 106, and 107, thereby effectively ensuring the timeliness of the personnel information.
[0073] Of course, the first user and the second user can also be the same user. For example, after the first user 21 calls a policy through the personnel selector 200 to obtain the information of the target policy instance, the information of the target policy instance is parsed to trigger the execution of the algorithm in the target policy instance, and specific personnel information is obtained from databases 105, 106, and 107.
[0074] Figure 4Schematically shows a flowchart of setting a personnel selector according to an embodiment of the present disclosure.
[0075] As Figure 4 , the method for dynamically configuring personnel according to an embodiment of the present disclosure may further include setting a personnel selector 200, specifically including operations S410 to S430.
[0076] In operation S410, determine at least one attribute field for differentiating personnel composition in at least one data source.
[0077] In one embodiment, the at least one attribute field may include at least one of user, group, department, company, or role. Of course, in different organizational structures or usage scenarios, the attribute fields for differentiating personnel composition may be different. For example, in some embodiments, the personnel composition may be divided by attribute fields such as age group, class, grade, position, or job title, and accordingly, the age group, class, grade, position, or job title, etc. may be used as the corresponding attribute fields.
[0078] In operation S420, set a policy for each of the at least one attribute field to obtain at least one policy. For example, policies 201 to 205 in policy group 20 each correspond to an attribute field.
[0079] In operation S430, set an external unified interface 22, where the external unified interface 22 is used to receive external calls and access at least one policy. In one embodiment, the external unified interface 22 may be implemented based on the facade pattern. The facade pattern provides a unified external interface to access multiple different policies 201 to 205 in policy group 20, making the call methods for different policies 201 to 205 unified. By standardizing the call methods and data return methods for each policy in the personnel selector 200 through the external unified interface 22, the learning cost and usage cost of the first user 21 can be reduced.
[0080] Figure 5 Schematically shows a flowchart of setting a personnel selector according to another embodiment of the present disclosure.
[0081] As Figure 5 shown, when setting the personnel selector 200 according to an embodiment of the present disclosure, in addition to operations S410 to S430, it may further include operation S540.
[0082] In operation S540, when the attribute field for differentiating personnel composition changes, change the policy corresponding to the changed attribute field in the personnel selector 200.
[0083] For example, when a new attribute field for differentiating personnel composition appears, a new policy is set for the new attribute field in the personnel selector 200. For example, when an enterprise adds an organization method such as an institution to the original personnel composition methods of users, groups, departments, companies, or roles, a corresponding policy can be set for the institution in the personnel selector 200.
[0084] For another example, when personnel are no longer allocated in groups, the group policy 202 can be deleted from the policy group 200, which can avoid the bloat and redundancy of the personnel selector 200.
[0085] It can be seen that through the personnel selector 200 for personnel configuration in the embodiments of the present disclosure, business design and business implementation can quickly adapt to organizational changes and avoid frequent changes in personnel configuration in business design caused by personnel changes or organizational changes.
[0086] Figure 6 Schematically shows the logical schematic of designing the personnel selector 200 based on the policy pattern according to the embodiments of the present disclosure.
[0087] As Figure 6 shown, different policies 201 to 205, etc. are adopted in the policy group 20 to implement. Each policy can be controlled whether to be enabled through configuration. For example, Figure 5 supports the docking of policies 201 to 205, and the respective corresponding permission controls of policies 201 to 205 can be set through configuration to control the data that cannot be accessed within a safe range.
[0088] For a new policy, it can be implemented by a new class in a strongly coupled manner in the policy group 200, or by means of interface call or remote procedure call (RPC). After adding a new policy to the policy group 20, a corresponding docking call service for the new policy needs to be added to the external unified interface 22 accordingly.
[0089] Figure 7 Schematically shows the development process of the personnel selector 200 according to the embodiments of the present disclosure.
[0090] Combined with Figure 6 and Figure 7 , the focus of the personnel selector 200 in the embodiments of the present disclosure lies in the design of the interface scheme.
[0091] First, at the beginning of the design, the requirements are investigated to achieve full-scenario coverage. The requirements of the overall personnel selector 200 are investigated, and as many usage scenarios as possible are considered in the initial design. Each strategy 201-205 in the strategy pattern can be adjusted independently. Considering that if the coverage is incomplete during the early development, there will be some development work in the later stage. Therefore, when implementing the specific design of the strategy, it is best to cover as many existing usage scenarios as possible, which can reduce the later development work. Of course, due to the continuous development and change of the organization, the composition of personnel will inevitably change. Based on the strategy pattern design of the personnel selector 200, when there are changes in new projects or some organizational structures, the personnel structure changes can be adapted by changing or adding strategies. It can be seen that the strategy pattern is a relatively good design pattern in terms of existing full coverage and future expansion.
[0092] Secondly, the embodiments of the present disclosure encapsulate the personnel selector 200 twice, and externally design a unified external interface 22. The two encapsulations specifically include: first, different personnel information is distinguished according to the attribute fields used to distinguish the personnel composition, and the corresponding strategies 201-205 are encapsulated; then, multiple strategies are integrated, and the unified access of different callers is satisfied through the unified external interface 22. In this way, the if-else or switch logical judgments are reduced during the personnel configuration by the caller, and the memory usage is optimized. By using dynamic loading of different classes (strategies) to implement different algorithms, the storage space and memory usage of the Java Virtual Machine (JVM) are optimized, and the coupling of the code is reduced.
[0093] Then, the strategy pattern can cover the business of the full scenario. The personnel selector 200 is a microservice for providing a service interface, and the unified data service can be implemented by using the unified external interface 22 implemented based on the facade pattern. For example, by using the corresponding identifiers (ID, name, code, type) settings to identify different strategy instantiation information, the corresponding data information can be uniformly returned. In order to achieve the full-scenario coverage and docking of the existing business as much as possible, the personnel type information including the existing business and future expandable can be provided at the front end to dock different strategies at the back end; the back end correspondingly provides the technical implementation of the interfaces and RPC and other service calls under different strategies; the databases 105, 106, 107 correspondingly provide multi-data source support under different strategies.
[0094] The embodiments of the present disclosure are based on the design concept of a strategy pattern. According to the attribute fields that distinguish the composition methods of personnel, resources of multiple personnel types are integrated into a personnel selector 200. A fixed way of selecting and using personnel is formed through the personnel selector 200. At the same time, a unified external interface 22 is provided, which uniformly integrates the access to the personnel selector 200 and the returned data, reducing the learning and usage costs of the callers, and the technical solution can be reused in similar application scenarios, achieving the purpose of improving development efficiency and reducing development costs.
[0095] Figure 8 Schematically shows the process of a configuration user of a business process configuring personnel during the design process of the business process by using the method according to the embodiments of the present disclosure.
[0096] As Figure 8 shown, a first user 21 who invokes the personnel selector 200 according to an embodiment of the present disclosure may be a configuration user of a business process 801. Among them, a process is the sequence of the activity flow of various matters in work, and through the communication and approval among certain personnel, roles, organizations, and departments, the workflow of the matters is clarified.
[0097] During the design process of the business process 801, when configuring an executor or setting an approver for each step, it can be achieved by accessing the personnel selector 200 according to the method for dynamically configuring personnel in the embodiments of the present disclosure. For example, by accessing the unified external interface 22, a personnel information acquisition request can be sent to the personnel selector 200, and then the information of the target policy instance uniformly encapsulated in a predetermined format (for example, ID, name, code, type) feedback by the personnel selector 200 through the unified external interface 22 can be received and configured into the corresponding step of the business process 801. Then when the business process 801 is put into use, the users of the business process 801 (i.e., the second users, such as assigned personnel or reassigned personnel) can parse the target policy instance configured in the corresponding step to obtain the corresponding personnel information. Among them, in some cases, the users of the business process 801 may obtain a set of personnel information. For example, the personnel information of the entire R & D department. The users can then screen and assign specific executors from the personnel information of the entire R & D department.
[0098] It can be seen that the embodiments of the present disclosure can realize dynamic personnel configuration, distinguish between the business design stage and the business processing stage, not only meet the personnel configuration requirements in business design, but also meet the timeliness of personnel information in the usage stage, thereby effectively improving the efficiency of process submission and approval.
[0099] Figure 9 Schematically shows the call logic of the method for dynamically configuring personnel according to the embodiments of the present disclosure in business process configuration.
[0100] Combined with Figure 8 and Figure 9 , the personnel selector 200 implements the unified external interface 22 through the facade pattern implemented by the abstract class. When configuring the business process, the caller calls the policy in the policy group 20 by accessing the unified external interface 22. Among them, according to the attribute information queried by the caller, analysis and processing are performed, and the selected attribute information is added to the attribute parameters of the policy to obtain a policy instance, which is fed back to the business process to configure the personnel information. Furthermore, a to-do task can be generated at the front end, a message reminder for processing can be sent, and it can be displayed in the to-do list.
[0101] Figure 10 Schematically shows the call logic in the use of the business process of the method for dynamically configuring personnel according to an embodiment of the present disclosure.
[0102] Combined with Figure 8 and Figure 10 , in the specific process of using the business process, some operations require the assignment and re-assignment of personnel. The so-called assignment is to specify personnel for subsequent nodes, and by default, the operator knows the approver of his subsequent approval steps; the re-assignment is that although the current work order step is relevant to himself, the current step does not belong to the current operator to handle, and he needs to re-assign the work order to a specific operator to perform the operation.
[0103] Essentially, both assignment and re-assignment are to specify personnel for a certain step by applying the personnel selector 200. Among them, the unified external interface 22 can be accessed according to the assignment call request or the re-assignment call request, and the specific policy called in the policy group 20 can be judged according to the attribute parameters in the request. It can be seen that both assignment and re-assignment can specify multiple people or multiple groups within a range to handle, or can be specified to a specific person to handle. However, the difference between them is that assignment needs to be further subdivided within the range of personnel data already configured in the operation steps of the business process, while re-assignment can be arbitrarily assigned to all possible processing personnel (for example, users, groups or roles, etc.).
[0104] Combined with the above examples of the configuration and use of the business process, it can be seen that according to the method of the embodiment of the present disclosure, personnel can be dynamically configured flexibly according to business needs, greatly simplifying the process of publishing and using the business process and improving efficiency. On the one hand, it can facilitate business personnel to use the personnel selector 200 to configure personnel in the business process, and on the other hand, it can synchronize the personnel information in the database in real time, facilitating the improvement of efficiency in subsequent approval and communication.
[0105] According to an embodiment of the present disclosure, by configuring personnel information through the personnel selector 200 based on the strategy pattern, it is possible to quickly respond to personnel changes and organizational changes, improve business security and compliance requirements, and achieve dynamic expansion of the personnel selection method.
[0106] Through sufficient prior scenario research, the design of the personnel selector 200 can basically cover almost all existing business scenarios of personnel selection. At the same time, the design idea based on the strategy pattern provides room for subsequent expansion. The personnel selector 200 of the embodiment of the present disclosure can improve the software design ability and the ability to provide microservices with low coupling and high cohesion.
[0107] Based on the method for dynamically configuring personnel in the above various embodiments, the embodiment of the present disclosure also provides a device for dynamically configuring personnel. The following will be combined with Figure 11 to describe this device in detail.
[0108] Figure 11 A block diagram of a device 1100 for dynamically configuring personnel according to an embodiment of the present disclosure is schematically shown.
[0109] As Figure 11 shown, according to an embodiment of the present disclosure, the device 1100 may include a request receiving module 1110, a calling module 1120, and a configuration module 1130. According to some other embodiments of the present disclosure, the device 1100 may further include a parsing module 1140. According to still some other embodiments of the present disclosure, the device 1100 may further include a setting module 1150. The device 1100 may be used to implement the method described with reference to Figures 2 - 10 above.
[0110] The request receiving module 1110 is used to receive a personnel information configuration request sent by a first user. The personnel information configuration request includes a target attribute field and target attribute parameters in the target attribute field. In some embodiments, the request receiving module 1110 may perform the operation S310 described above.
[0111] The calling module 1120 is used to call a personnel selector based on the personnel information configuration request, and in the personnel selector, select a target strategy corresponding to the target attribute field from at least one strategy, and instantiate the target strategy based on the target attribute parameters to obtain information about the target strategy instance. The personnel selector is an interface designed based on the strategy pattern, and at least one strategy is set in the personnel selector. Each strategy is a class obtained by encapsulating an algorithm for obtaining personnel information from at least one data source according to the attribute parameters in an attribute field. In some embodiments, the calling module 1120 may perform the operations S320, S330, and S340 described above.
[0112] The configuration module 1130 is used to feedback the information of the target policy instance to the first user through the personnel selector, so that the first user can configure the personnel information based on the information of the target policy instance. In some embodiments, the configuration module 1130 may perform the operation S350 described above.
[0113] The parsing module 1140 is used to execute the target policy instance in response to the parsing operation of the second user on the information of the target policy instance, so as to obtain the personnel information from at least one data source according to the target attribute parameters in the target attribute field. In one embodiment, the parsing module may perform the operation S360 described above.
[0114] The setting module 1150 is used to set the personnel selector. In some embodiments, the setting module 1150 may implement Figure 4 or Figure 7 the related operations in. Specifically, according to some embodiments of the present disclosure, the setting module 1150 may include a determination sub-module 1151, a policy setting sub-module 1152, and an interface setting sub-module 1153.
[0115] The determination sub-module 1151 is used to determine at least one attribute field for distinguishing the personnel composition in at least one data source. In some embodiments, the determination sub-module 1151 may perform the operation S410 described above.
[0116] The policy setting sub-module 1152 is used to set a policy corresponding to each of the at least one attribute fields to obtain at least one policy. Correspondingly, in some embodiments, the policy setting sub-module 1152 may perform the operation S420 described above. According to some other embodiments of the present disclosure, the policy setting sub-module 1152 is further used to set a new policy for the newly added attribute field in the personnel selector when a newly added attribute field for distinguishing the personnel composition appears. In some other embodiments, the policy setting sub-module 1152 may perform the operation S540 described above.
[0117] The interface setting sub-module 1153 is used to set an external unified interface, where the external unified interface is used to receive external calls and access at least one policy. In some embodiments, the interface setting sub-module 1153 may perform the operation S430 described above.
[0118] According to an embodiment of the present disclosure, any one or more of the request receiving module 1110, the calling module 1120, the configuration module 1130, the parsing module 1140, or the setting module 1150 may be combined and implemented in one module, or any one of them may be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules may be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the request receiving module 1110, the calling module 1120, the configuration module 1130, the parsing module 1140, or the setting module 1150 may be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on a substrate, a system in a package, an application specific integrated circuit (ASIC), or any other reasonable manner that can integrate or package circuits, etc., in hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, at least one of the request receiving module 1110, the calling module 1120, the configuration module 1130, the parsing module 1140, or the setting module 1150 may be at least partially implemented as a computer program module, and when the computer program module is run, it can execute the corresponding functions.
[0119] Figure 12 A block diagram of an electronic device 1200 suitable for implementing a method for dynamically configuring personnel according to an embodiment of the present disclosure is schematically shown.
[0120] As Figure 12 shown, the electronic device 1200 according to an embodiment of the present disclosure includes a processor 1201, which can perform various appropriate actions and processes according to a program stored in a read only memory (ROM) 1202 or a program loaded from a storage section 1208 into a random access memory (RAM) 1203. The processor 1201 may include, for example, a general microprocessor (such as a CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (such as an application specific integrated circuit (ASIC)), etc. The processor 1201 may also include on board memory for caching purposes. The processor 1201 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.
[0121] In the RAM 1203, various programs and data required for the operation of the electronic device 1200 are stored. The processor 1201, the ROM 1202, and the RAM 1203 are connected to each other via a bus 1204. The processor 1201 performs various operations of the method flow according to the embodiments of the present disclosure by executing the programs in the ROM 1202 and / or the RAM 1203. It should be noted that the programs may also be stored in one or more memories other than the ROM 1202 and the RAM 1203. The processor 1201 may also perform various operations of the method flow according to the embodiments of the present disclosure by executing the programs stored in the one or more memories.
[0122] According to an embodiment of the present disclosure, the electronic device 1200 may further include an input / output (I / O) interface 1205, and the input / output (I / O) interface 1205 is also connected to the bus 1204. The electronic device 1200 may further include one or more of the following components connected to the I / O interface 1205: an input portion 1206 including a keyboard, a mouse, etc.; an output portion 1207 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage portion 1208 including a hard disk, etc.; and a communication portion 1209 including a network interface card such as a LAN card, a modem, etc. The communication portion 1209 performs communication processing via a network such as the Internet. A drive 1210 is also connected to the I / O interface 1205 as needed. A removable medium 1211, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is mounted on the drive 1210 as needed so that a computer program read from it can be installed into the storage portion 1208 as needed.
[0123] The present disclosure also provides a computer-readable storage medium, which may be included in the device / device / system described in the above embodiments; or may exist separately without being assembled into the device / device / system. The above computer-readable storage medium carries one or more programs, and when the one or more programs are executed, the method according to the embodiments of the present disclosure is implemented.
[0124] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program, and this program can be used by or in combination with an instruction execution system, apparatus, or device. For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the above-described ROM 1202 and / or RAM 1203 and / or one or more memories other than ROM 1202 and RAM 1203.
[0125] An embodiment of the present disclosure also includes a computer program product, which includes a computer program that contains program code for executing the method shown in the flowchart. When the computer program product runs in a computer system, the program code is used to enable the computer system to implement the method provided by the embodiment of the present disclosure.
[0126] When the computer program is executed by the processor 1201, it executes the above functions defined in the system / apparatus of the embodiment of the present disclosure. According to an embodiment of the present disclosure, the above-described systems, apparatuses, modules, units, etc. can be implemented by computer program modules.
[0127] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices and magnetic storage devices. In another embodiment, the computer program may also be transmitted and distributed in the form of a signal on a network medium, and be downloaded and installed through the communication part 1209, and / or be installed from the removable medium 1211. The program code included in the computer program can be transmitted by any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.
[0128] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1209, and / or be installed from the removable medium 1211. When the computer program is executed by the processor 1201, it executes the above functions defined in the system of the embodiment of the present disclosure. According to an embodiment of the present disclosure, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.
[0129] According to embodiments of the present disclosure, program code for executing the computer programs provided by the embodiments of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include, but are not limited to, such as Java, C++, Python, the "C" language, or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device can be connected to the user's computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., by using an Internet service provider to connect through the Internet).
[0130] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a portion of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks can occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown can actually be executed substantially in parallel, and they can sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.
[0131] Those skilled in the art can understand that the features recited in the various embodiments and / or claims of the present disclosure can be combined or / and combined in various ways, even if such combinations or combinations are not explicitly recited in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features recited in the various embodiments and / or claims of the present disclosure can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present disclosure.
[0132] The embodiments of the present disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments have been described separately above, this does not mean that the measures in each embodiment cannot be used advantageously in combination. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art can make various substitutions and modifications, and these substitutions and modifications should fall within the scope of the present disclosure.
Claims
1. A method for dynamically configuring personnel, comprising: Receiving a personnel information configuration request sent by a first user, where the personnel information configuration request includes a target attribute field and target attribute parameters in the target attribute field; Invoking a personnel selector based on the personnel information configuration request; wherein, the personnel selector is an interface designed based on the strategy pattern, and at least one strategy is set in the personnel selector; wherein, in the personnel selector: Selecting a target strategy corresponding to the target attribute field from the at least one strategy; wherein each strategy is a data class for obtaining personnel information from at least one data source according to the attribute parameters in an attribute field; and Instantiating the target strategy based on the target attribute parameters to obtain information of the target strategy instance; Feeding back the information of the target strategy instance to the first user through the personnel selector, where the information of the target strategy instance includes the identifier of the strategy, the identifier of the attribute parameters in the strategy, the identifier of the data information of the attribute parameters, and the identifier of the information of the attribute field corresponding to the strategy.
2. The method according to claim 1, wherein, The method further includes setting the personnel selector, including: Determining at least one attribute field for distinguishing personnel composition in at least one data source; Correspondingly setting a strategy for each of the at least one attribute field to obtain the at least one strategy; and Setting an external unified interface, where the external unified interface is used to receive external calls and access the at least one strategy.
3. The method according to claim 2, wherein The at least one attribute field includes at least one of user, group, department, company, or role.
4. The method according to claim 2, wherein The setting of the external unified interface includes: Implementing the external unified interface based on the facade pattern.
5. The method according to claim 2, wherein The setting of the personnel selector further includes: When the attribute field for distinguishing personnel composition changes, changing the strategy corresponding to the changed attribute field in the personnel selector.
6. The method according to claim 5, wherein, The step of when the attribute field for distinguishing personnel composition changes, changing the strategy corresponding to the changed attribute field in the personnel selector includes: When a new attribute field for distinguishing personnel composition appears, setting a new strategy for the new attribute field in the personnel selector.
7. The method according to claim 1, wherein Before receiving the personnel information configuration request sent by the first user, the method further includes: Displaying a multi-tab interface on the front end, where each tab in the multi-tab interface corresponds to an attribute field, and the selectable attribute parameters in the corresponding attribute field are displayed in each tab; Wherein, In response to the first user's selection operation on the target attribute parameters under the tab where the target attribute field is located in the multi-tab interface, receiving the personnel information configuration request.
8. The method according to claim 1, wherein, The step of feeding back the information of the target strategy instance to the first user through the personnel selector includes: Encapsulating the information of the target strategy instance in a predetermined format and then feeding it back to the first user.
9. The method according to any one of claims 1 to 8, wherein The method further includes: In response to the parsing operation of the second user on the information of the target policy instance, execute the target policy instance to obtain personnel information from the at least one data source according to the target attribute parameters in the target attribute field.
10. The method according to claim 9, wherein The first user is the configuration user of the business process.
11. The method according to claim 10, wherein, The second user is the operation assignment user or operation transfer user in the business process.
12. A device for dynamically configuring personnel, comprising: A request receiving module, configured to receive a personnel information configuration request sent by a first user, where the personnel information configuration request includes a target attribute field and target attribute parameters in the target attribute field; An invocation module, configured to invoke a personnel selector based on the personnel information configuration request; wherein, the personnel selector is an interface designed based on the policy pattern, and at least one policy is set in the personnel selector; wherein, in the personnel selector: Select a target policy corresponding to the target attribute field from the at least one policy; wherein each policy is a data class for obtaining personnel information from at least one data source according to the attribute parameters in an attribute field; and Based on the instantiation of the target policy with the target attribute parameters, obtain information about the target policy instance; A configuration module, configured to feedback the information of the target policy instance to the first user through the personnel selector, where the information of the target policy instance includes the identifier of the policy, the identifier of the attribute parameters in the policy, the identifier of the data information of the attribute parameters, and the identifier of the information of the attribute field corresponding to the policy.
13. The apparatus according to claim 12, wherein, The device further includes a setting module, and the setting module is configured to set the personnel selector; wherein, the setting module includes: A determination sub-module, configured to determine at least one attribute field for distinguishing the personnel composition in the at least one data source; A policy setting sub-module, configured to correspondingly set one policy for each of the at least one attribute fields to obtain the at least one policy; and An interface setting sub-module, configured to set a unified external interface, where the unified external interface is used to receive external invocations and access the at least one policy.
14. An electronic device, comprising: One or more processors; A storage device, configured to store one or more programs, wherein, when the one or more programs are executed by the one or more processors, the one or more processors are caused to execute the method according to any one of claims 1 to 11.
15. A computer-readable storage medium, on which executable instructions are stored, and when the instructions are executed by a processor, the processor is caused to execute the method according to any one of claims 1 to 11.
16. A computer program product, including a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Interface configuration method and device
CN108776610A