Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure, and it is obvious that the described embodiments are only a part of the embodiments of the present disclosure, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments disclosed herein without making any creative effort, shall fall within the protection scope of the present disclosure.
Consider that existing demand management systems typically employ doubly linked lists to effect jumps between demand processes. However, the existing doubly linked list can only implement sequential jumping between adjacent demand processes, but cannot implement interval jumping, interval rollback jumping, and the like between demand processes, thereby resulting in low access efficiency and further poor user experience.
FIG. 1 is a flow chart illustrating a method of managing a demand process according to an exemplary embodiment of the present disclosure. In this embodiment, a method for managing a demand process may be performed by a server, as shown in fig. 1, and the method includes:
s110: and setting a process node corresponding to each process.
In the embodiment of the present disclosure, the demand process includes at least two flows, and in order to facilitate control of different flows in the demand process, a flow node is set for each flow.
Management of the demand process, referred to as demand management or marketing management, refers to the level, timing and composition of demand that needs to be influenced in a way that helps the enterprise, etc., to achieve its own goals. The process of demand management is a demand process, which can be executed in forward sequence, for example, in the sequence of a demand creation flow → a demand review flow → a demand development flow → a demand acceptance flow; or sequentially execute backwards, for example, in the order of the requirement creation flow ← requirement review flow ← requirement development flow ← requirement acceptance flow; or may also be executed at intervals forward and/or backward, for example, in the order of the requirement creation flow → the requirement development flow, or in the order of the requirement creation flow ← requirement development flow, or in the order of the requirement creation flow → the requirement development flow → the requirement acceptance flow, and then in the order of the requirement creation flow ← requirement development flow, which is not limited by the present disclosure.
Specifically, the flow in the requirement process may be any one of a requirement creation flow, a requirement review flow, a requirement development flow, and a requirement acceptance flow. It should be noted that the processes of the present disclosure are not limited to the requirement creation process, the requirement review process, the requirement development process, and the requirement acceptance process described above, and may also include a requirement definition process, a requirement confirmation process, a requirement tracking process, a requirement modification process, and the like.
Further, a process node refers to a transfer point (category point or time point) when a certain process or a certain stage ends and another process or a certain stage begins when a project needs a plurality of different processes (processes) or is divided into a plurality of stages to complete. By setting the process nodes, the process can be controlled based on the control of the process nodes in the demand process.
Further, the server creates a process node for each of the at least two processes. Here, the server may be one server, may also be a server cluster composed of several servers, or may also be one cloud computing service center, which is not limited in this disclosure.
S120: and when the preset condition is met, realizing the jump between any two process nodes in a bidirectional linked list mode.
In the embodiment of the present disclosure, when the preset condition is satisfied, for example, the server may implement a jump between any two process nodes in a doubly linked list manner.
A linked list is a non-continuous, non-sequential storage structure on a physical storage unit, and the logical order of data elements is realized by the order of pointer links in the linked list. A linked list is composed of a series of nodes (each element in the linked list is called a node), which can be dynamically generated at runtime. Each node comprises two parts: one is a data field that stores the data element and the other is a pointer field that stores the address of the next node. Linked lists allow nodes to be inserted and removed anywhere on the list, but do not allow random access. The types of linked lists may include a singly linked list, a doubly linked list, and a circularly linked list.
The preset condition here may be a condition preset by the developer, for example, step-by-step jump, interval jump, rollback jump, etc.; it may also be a default time for the server, e.g., one minute, five minutes, ten minutes, etc., which the present disclosure does not limit.
Further, whether any two flows meet preset conditions or not is determined, and if the preset conditions are met, the two different flows are jumped in a doubly linked list mode. Here, the jump may include one or more of a step jump, an interval jump, and a back jump. It should be noted that the skip is not limited to the skip forward and backward at intervals as described above, but may be a skip forward/backward at intervals first and then a skip backward/forward at intervals; or the jumping can be sequentially performed forwards/backwards and then be performed forwards/backwards at intervals; or may jump first back/forth intervals, then forward/back sequentially, then forward/back intervals, etc., as the present disclosure does not limit.
According to the technical scheme provided by the embodiment of the disclosure, the bidirectional linked list is adopted, so that any two flows in the demand process can jump randomly, the access efficiency is improved, and the user experience is further improved.
In another embodiment of the present disclosure, the at least two processes include a first process, a second process, and a third process that are sequentially executed, where, when a preset condition is satisfied, skipping is implemented between any two process nodes in a doubly linked list manner, including: and when the first preset condition is met, realizing the jump from the first flow to the third flow in a doubly linked list mode, and/or when the second preset condition is met, realizing the jump from the third flow to the first flow in a doubly linked list mode.
Specifically, the at least two flows may include a first flow, a second flow, and a third flow that are sequentially executed, and when a first preset condition is satisfied, the jump from the first flow to the third flow is realized in a doubly linked list manner, that is, the jump is performed forward at intervals; and when a second preset condition is met, realizing the jump from the third flow to the first flow in a double linked list mode, namely, jumping backwards at intervals. Here, the first preset condition and the second preset condition may be preset by the developer, for example, a jump relationship from the first flow to the third flow or from the third flow to the first flow is stored in the server in advance; or may be a default time for the system, which is not limited by this disclosure.
The first flow, the second flow, and the third flow may be discontinuous. In addition, it should be noted that the existing doubly linked list can only realize forward or backward sequential jumping, but cannot realize forward or backward interval jumping, therefore, the present disclosure improves the existing doubly linked list, so that the improved doubly linked list can realize forward and/or backward interval jumping, and thus improves access efficiency.
In another embodiment of the present disclosure, the method further comprises: acquiring the creation time of any flow node in the demand process; calculating a time interval between a current system time and a creation time; and sending a message notice when the time interval is greater than the preset time interval.
Specifically, for example, the server obtains the creation time of any flow node in the demand process, and calculates the time interval between the current system time and the creation time according to the current system time and the creation time; then, the server compares the time interval with a preset time interval to determine the time consumption condition of the current demand process; further, if the time interval is larger than the preset time interval, the current demand process is already shelved, and at the moment, the server sends a message notice to the developer to remind the developer to timely process the shelved demand.
Here, the preset time interval may be a default time interval of the demand management system, for example, ten minutes, thirty minutes, fifty minutes, or the like, or may be a time interval set by the developer according to the actual situation, for example, three days, five days, ten days, or the like, which is not limited by the present disclosure.
Optionally, as another embodiment, the method further includes: and sending a message notice after the jump is completed.
Specifically, after the jump is completed, the server may send a message notification to the developer and/or the demander through, for example, a short message, an email, or the like, so as to remind or inform the developer and/or the demander of the execution condition of the current flow, thereby facilitating the developer and/or the demander to know and process the current flow in time.
In another embodiment of the present disclosure, the method further comprises: and receiving information registration operation of the process nodes, and recording the data information of the process nodes into the database.
Specifically, the server receives information registration operation of the developer and/or the demander on the process node, and stores data information of the process node into the database.
In another embodiment of the present disclosure, the method further comprises: and receiving editing operation on the data information of the flow node, wherein the editing operation comprises at least one of adding operation, modifying operation and deleting operation.
Specifically, the server receives editing operation of the data information of the flow node by the developer and/or the demander. Here, the editing operation may include one or more of an adding operation, a modifying operation, and a deleting operation.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
FIG. 2 is a flow chart illustrating a method of managing a demand process according to another exemplary embodiment of the present disclosure. As shown in fig. 2, the method includes:
s210: receiving an acquisition request of a data demand sent by a demanding party, wherein the acquisition request is used for requesting to acquire data corresponding to the data demand;
s220: according to the acquisition request, carrying out requirement review on the data requirement;
s230: after the requirement evaluation passes, carrying out requirement development;
s240: and after the requirement development is completed, sending data corresponding to the data requirement to the requiring party.
Wherein, the jump between any two steps from S210 to S240 is realized by a doubly linked list mode.
Next, taking the user data of the T video as an example, the management method of the demand process is described in detail.
Assuming that a demand party wants to acquire user data of a current T video, the demand party firstly sends a demand request for acquiring the user data of the T video to an developer; after receiving a requirement request sent by a requiring party, a developing party enters a requirement creating process.
Then, the developer sorts and analyzes the received requirement request in the requirement review process, and if the requirement request is found to have problems, the requirement request can be directly returned to the requirement establishing process in a bidirectional linked list mode; otherwise, continuing to enter the subsequent demand development flow.
Further, after the requirement review process is completed, the developer enters a requirement development process; if the developer finds that the requirement request has a problem in the process, the developer can return to the requirement review process in a double linked list mode to review the requirement again, and can also directly return to the requirement creation process to recreate the requirement; otherwise, continuing to enter the subsequent demand acceptance flow.
Finally, after the requirement development process is completed, the developer sends the acquired user data of the T video to the requirement party so that the requirement party can check and accept the user data conveniently; if the demand side disagrees with the user data, the developer can directly return to a demand development process in a bidirectional linked list mode to redevelop the demand, can also return to a demand review process to reevaluate the demand, or can also directly return to a demand creation process to recreate the demand; otherwise, after the demander passes the acceptance, the whole process is ended.
The following are embodiments of the disclosed apparatus that may be used to perform embodiments of the disclosed methods. For details not disclosed in the embodiments of the apparatus of the present disclosure, refer to the embodiments of the method of the present disclosure.
Fig. 3 is a block diagram illustrating a management apparatus of a demand process according to an exemplary embodiment of the present disclosure. As shown in fig. 3, the demand process includes at least two flows, and the apparatus includes: a setting module 310, configured to set a process node corresponding to each process; and the skipping module 320 is configured to skip between any two process nodes in a doubly linked list manner when a preset condition is met.
According to the technical scheme provided by the embodiment of the disclosure, the bidirectional linked list is adopted, so that any two flows in the demand process can jump randomly, the access efficiency is improved, and the user experience is further improved.
In another embodiment of the present disclosure, jumping includes at least one of: jump step by step, jump at intervals and jump back.
In another embodiment of the disclosure, the process is any one of the following processes: the method comprises a requirement establishing process, a requirement evaluating process, a requirement developing process and a requirement accepting process.
In another embodiment of the present disclosure, the apparatus of fig. 3 further comprises: and a sending module 330, configured to send a message notification after the jump is completed.
In another embodiment of the present disclosure, the apparatus of fig. 3 further comprises: an obtaining module 340, configured to obtain creation time of any flow node in a demand process; a calculation module 350 for calculating a time interval between a current system time and a creation time; in addition, the sending module 330 is further configured to send a message notification when the time interval is greater than the preset time interval.
In another embodiment of the present disclosure, the apparatus of fig. 3 further comprises: the receiving module 360 is configured to receive an information registration operation for a process node, and record data information of the process node into a database.
In another embodiment of the present disclosure, the receiving module 360 is further configured to receive an editing operation on the data information of the flow node, where the editing operation includes at least one of an adding operation, a modifying operation, and a deleting operation.
The implementation process of the functions and actions of each module in the above device is specifically described in the implementation process of the corresponding step in the above method, and is not described herein again.
The present disclosure also provides a storage medium storing a computer program which, when executed by a processor, implements the method provided by the embodiments described above.
Specifically, the demand process includes at least two flows, and the method includes: setting a process node corresponding to each process; and when the preset condition is met, realizing the jump between any two process nodes in a bidirectional linked list mode.
Jumping includes at least one of the following ways: jump step by step, jump at intervals and jump back.
The process is any one of the following processes: the method comprises a requirement establishing process, a requirement evaluating process, a requirement developing process and a requirement accepting process.
The computer program is executed by the processor to acquire the creation time of any flow node in the demand process; calculating a time interval between a current system time and a creation time; and sending a message notice when the time interval is greater than the preset time interval.
The computer program is executed by the processor to send a message notification after the jump is completed.
The computer program is executed by the processor to receive the information registration operation of the process node and record the data information of the process node into the database.
The computer program is executed by the processor to receive an editing operation on the data information of the flow node, wherein the editing operation comprises at least one of an adding operation, a modifying operation and a deleting operation.
According to the method and the device, the bidirectional linked list is adopted, so that any two flows in the demand process can jump randomly, the access efficiency is improved, and the user experience is further improved.
The storage medium may be disposed in an electronic device that at least includes a memory and a processor, and may exist in the form of a memory, and specific implementation manners are not described herein again.
Optionally, in this embodiment, the storage medium may include, but is not limited to: various media capable of storing program codes, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk. Optionally, in this embodiment, the processor executes the method provided in the above embodiment according to the program code stored in the storage medium. Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation manners, and this embodiment is not described herein again. It will be apparent to those skilled in the art that the modules or steps of the present disclosure described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and alternatively, they may be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. As such, the present disclosure is not limited to any specific combination of hardware and software.
Fig. 4 is a block diagram illustrating an electronic device 400 according to an exemplary embodiment of the present disclosure. As shown in fig. 4, the electronic device 400 at least comprises a memory 410 and a processor 420, the memory 410 stores computer programs thereon, and the processor 420 realizes the methods provided by the embodiments as described above when executing the computer programs on the memory 410.
Illustratively, the requirements process includes at least two flows, the method including: the processor 420 sets a process node corresponding to each process; and when the preset condition is met, realizing the jump between any two process nodes in a bidirectional linked list mode.
Jumping includes at least one of the following ways: jump step by step, jump at intervals and jump back.
The process is any one of the following processes: the method comprises a requirement establishing process, a requirement evaluating process, a requirement developing process and a requirement accepting process.
Processor 420 may also execute the following computer programs: acquiring the creation time of any flow node in the demand process; calculating a time interval between a current system time and a creation time; and sending a message notice when the time interval is greater than the preset time interval.
Processor 420 may also execute the following computer programs: and sending a message notice after the jump is completed.
Processor 420 may also execute the following computer programs: and receiving information registration operation of the process nodes, and recording the data information of the process nodes into the database.
Processor 420 may also execute the following computer programs: and receiving editing operation on the data information of the flow node, wherein the editing operation comprises at least one of adding operation, modifying operation and deleting operation.
According to the method and the device, the bidirectional linked list is adopted, so that any two flows in the demand process can jump randomly, the access efficiency is improved, and the user experience is further improved.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the hardware + program class embodiment, since it is substantially similar to the method embodiment, the description is simple, and the relevant points can be referred to the partial description of the method embodiment.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Although the present disclosure provides method steps as described in an embodiment or flowchart, more or fewer steps may be included based on conventional or non-inventive labor. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or client product executes, it may execute sequentially or in parallel (e.g., in the context of parallel processors or multi-threaded processing) according to the embodiments or methods shown in the figures.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
Although embodiments of the present description provide method steps as described in embodiments or flowcharts, more or fewer steps may be included based on conventional or non-inventive means. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, article, or apparatus that comprises the recited elements is not excluded.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, in implementing the embodiments of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, and the like. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may therefore be considered as a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The embodiments of this specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The described embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of an embodiment of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is only an example of the embodiments of the present disclosure, and is not intended to limit the embodiments of the present disclosure. Various modifications and variations to the embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the embodiments of the present specification should be included in the scope of the claims of the embodiments of the present specification.