Detailed Description
The invention is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present invention are shown in the drawings.
Example 1
Fig. 1 is a flowchart of a strategic shift-dividing method provided in an embodiment of the present invention, where the embodiment is applicable to an application scenario for establishing shift-dividing rules based on a strategic mode, and the method may be executed by a specific shift-dividing system and a functional module, and specifically includes the following steps:
And step S1, acquiring a shift request.
The class-dividing request refers to a request instruction sent to a class-dividing system after the user purchases class, and the class-dividing system can give out a specific class-dividing result for each class-dividing request.
Alternatively, the shift request may be issued to the shift system by any one of the client side, the institution side, or the teacher side, without limitation.
For example, the shift request may be an instruction code including an order number.
And step S2, determining order context information according to the shift request.
The order context information or context information comprises information such as a learning period, an order attribute and the like associated with the shift, and the order context information can be used for providing an access path of the shift system to the order attribute, and the shift system can access specific data in the order context through the access path.
In this step, each shift request corresponds to one shift order number one by one, and after receiving the shift request, the shift system can acquire an access path of the order attribute by loading the order number, and inquire the order context information attribute through the access path. Typically, the order context information includes order attribute information such as order source, order subject, order price, etc.
For example, the order attribute access path may be "root. Next Field.
And step S3, determining at least one shift strategy configuration list according to preset strategy routing rules and order context information.
The shift policy configuration list is used for defining one or more shift policy names and policy configuration parameters determined according to the context, the preset policy routing rules can comprise a policy configuration rule engine of a custom rule, the custom routing rule is used for limiting the corresponding relation between order context information and the shift policy, and the shift system performs logic judgment by operating the preset policy routing rule to select order attributes in the order context information and matches a specific shift policy configuration list.
Alternatively, the shift policy configuration list may take the form of a list, for example, each shift policy configuration list may be represented by "[ ]", and the different shift policy configuration lists may be separated by a line feed symbol. Each class-division policy configuration list comprises at least one class-division policy configuration parameter, each class-division policy configuration parameter forms one element of the class-division policy configuration list, a class-division policy configuration parameter can be identified by a double-quote, the elements are used and separated, the class-division policy configuration parameter is used for determining a unique class-division policy, and each class-division policy is used for independently solving a target problem in a one-to-one correspondence, for example, the target problem can be any one of waiting, delaying, blocking, grading or filtering.
Illustratively, the defined class policy configuration list includes three class policy configuration parameters, and the class policy configuration list may have the following structure:
[ "first sub-policy name (configuration parameter)", "second sub-policy name (configuration parameter)", "third sub-policy name (configuration parameter)" ].
In this step, by adjusting the preset policy routing rule, a combination of different class-splitting policies can be implemented.
And S4, analyzing at least one shift strategy configuration list, and determining at least one shift strategy execution list, wherein the at least one shift strategy execution list corresponds to the at least one shift strategy configuration list one by one.
The executive list is used for defining an executive for realizing the shift strategy.
Optionally, the class policy execution list includes at least one class policy executor, and the class policy executor corresponds to the class policy configuration parameter one by one.
In the step, a policy factory can be adopted to analyze the class division policy configuration list, an executor of the class division policy is created, and then the class division function executes the class division policy according to the class division policy execution list, so that decoupling between policy selection and policy realization is realized.
And S5, performing shift according to at least one shift strategy execution list until a shift result is obtained.
The class division policy executors in the class division policy execution list can queue to generate an executor queue, and when class division is performed, class division functions (including source codes) call the executor queue one by one to perform class division.
In this step, the shift result may be any one of shift class, blocking, or release.
Specifically, a preset policy routing rule can be configured according to the requirement of a shift-dividing service, after a shift-dividing request is received, a shift-dividing system inquires corresponding order context information according to an order number in the shift-dividing request, the shift-dividing system operates the preset policy routing rule to match order attributes in the order context information with a specific shift-dividing policy configuration list, if a plurality of order attributes in the order context information are selected, the preset policy routing rule can obtain a plurality of shift-dividing policy configuration lists through the selected order attribute matching, each shift-dividing policy configuration list is sent to a policy factory, a shift-dividing policy executor is created by the policy factory according to shift-dividing policy configuration parameters in the shift-dividing policy configuration list, the executor of the shift-dividing policy in each shift-dividing policy configuration list can queue to generate an executor queue, and the executor queue is sequentially called by a shift-dividing function to divide a shift. When the class-division system carries out class-division, the selection of the class-division strategies is not realized in the code, the execution of the class-division strategies is only realized in the code, the direct causal relationship between the order context and the class-division strategy is not generated in the code, the class-division strategy selection and the decoupling of the class-division strategy execution are realized through the strategy routing mode, the problems of poor compatibility and high development cost of the existing class-division system are solved, the class-division rules are expanded through strategy combination, the development and test cost of the class-division system is reduced, and the flexibility and the class-division efficiency of the class-division system are improved.
Optionally, the preset policy routing rule comprises a preset policy formula, wherein the preset policy formula comprises at least one logic judgment sub-formula and a shift policy configuration list corresponding to the logic judgment sub-formula one by one, and the preset policy routing rule is used for substituting the order context information into the at least one logic judgment sub-formula and determining the at least one shift policy configuration list according to the judgment result of the logic judgment sub-formula.
The preset strategy formula is used for defining a logic corresponding relation between the logic judgment sub-formula and the shift strategy configuration list and a combination relation of a plurality of logic judgment sub-formulas, wherein each logic judgment sub-formula can correspond to a specific shift service scene, and each shift strategy configuration list can combine different shift strategies. Typically, the shift-out business scenario may include a shift-out according to a school period, a shift-out according to an order source, a shift-out according to an order price, a shift-out according to an order subject, and so forth.
Specifically, a preset policy formula can be specified according to the class-division service scene, in the preset policy formula, a plurality of sequentially executed logic judgment sub-formulas are set, in each logic judgment sub-formula, a group of class-division policies is defined, when the preset policy routing rule substitutes the order context information into the preset policy formula, a group of class-division policies matched with the order context information are determined by sequentially executing each logic judgment sub-formula, the group of class-division policies form a class-division policy configuration list, and class-division can be performed on different class-division service scenes without modifying program source codes by combining different class-division policies.
Optionally, the preset policy formula may include a first logic judgment sub-formula, a first shift policy configuration list corresponding to and matched with the first logic judgment sub-formula, a second shift policy configuration list corresponding to and matched with the second logic judgment sub-formula, a third shift policy configuration list corresponding to and matched with the third logic judgment sub-formula, and a spam shift policy configuration list, where the preset policy formula may be in the following format:
if the order context information meets the judging condition of the first logic judging sub-formula, returning to a first shift strategy configuration list;
If the order context information meets the judging condition of the second logic judging sub-formula, returning to a second class strategy configuration list;
If the order context information meets the judging condition of the third logic judging sub-formula, returning to a third shift strategy configuration list;
And if the conditions are not met, returning to the spam shift policy configuration list.
The specific shift sub-policies in the first shift policy configuration list, the second shift policy configuration list, the third shift policy configuration list and the spam shift policy configuration list can be adjusted according to the actual shift service requirement, which is not limited.
Optionally, substituting the order context information into at least one logic judgment sub-formula, and determining at least one shift strategy configuration list according to the judgment result of the logic judgment sub-formula, wherein the method comprises the following steps of obtaining at least one order attribute in the order context information; judging whether the order attribute is matched with the preset order attribute in the logic judging sub-formula, and determining a shift strategy configuration list according to the judging result.
Each logic judgment sub-formula corresponds to a preset order attribute, wherein the preset order attribute comprises, but is not limited to, a preset order learning period, a preset order source, a preset order price and a preset order subject, and the logic judgment sub-formulas are matched with the preset order attribute through the order attribute in the order context information to realize the class-division strategy selection.
Specifically, the order context information includes a plurality of order attributes, a preset policy routing rule can be set according to the requirement of the shift service to select one or more order attributes, a logic judgment sub-formula in the preset policy formula is sequentially executed to judge whether the order attributes in the order context information are matched with the preset order attributes in the executed logic judgment sub-formula, if the order attributes are successfully matched with the preset order attributes, the current order attributes are judged to meet the judgment conditions of the current logic judgment sub-formula, the shift policy configuration list corresponding to the current logic judgment sub-formula is returned, if the order attributes are successfully matched with the preset order attributes, the current order attributes are judged to not meet the judgment conditions of the current logic judgment sub-formula, the next logic judgment sub-formula is selected to execute the next order attributes until a shift result is obtained.
It should be noted that, by adjusting the logic judgment sub-formula and the corresponding shift policy configuration list defined shift sub-policy, different shift policy combinations can be defined for different shift service scenes by a preset policy formula, which is not particularly limited.
Therefore, the invention splits the shift function into independent shift strategies, and when executing the shift program, different combinations of shift strategies are carried out to realize the expansion shift rule, thereby being beneficial to improving the flexibility and shift efficiency of the shift system.
Optionally, fig. 2 is a flowchart of another strategic shift sorting method provided in accordance with the first embodiment of the present invention, and on the basis of fig. 1, a specific implementation of determining the order context is exemplarily shown, but not limited to the method.
Referring to fig. 2, determining order context information according to a shift request includes the steps of:
Step S201, an order context mapping table is established based on the order requirement extension field.
Alternatively, the order requirement extension field may employ a MAP data structure that stores a mapping relationship between preset order data and an order context information access path in the form of key value pairs, where the preset order data includes a preset order number.
And step S202, order data in the shift request are acquired.
Wherein the order data includes an order number.
Step S203, table lookup is performed on the order context mapping table according to the order data, and order context information is determined according to the table lookup result.
Specifically, after receiving the shift request, the shift system loads order data by identifying the shift request, compares the order data with preset order data in the order context mapping table, determines an access path corresponding to the preset order data identical to the current order data in the order context mapping table as a final access path, and when the shift request provides new order data, the shift system acquires all order context information corresponding to the order data through the access path, and the acquisition mode of the order context is not required to be modified, so that the shift system can automatically adapt to the change of an order structure and has the capability of flexibly expanding data.
Optionally, fig. 3 is a flowchart of still another method for strategically performing a shift according to the first embodiment of the present invention, and on the basis of fig. 1, a specific implementation manner of performing a shift according to a shift policy execution list is exemplarily shown, but not limited to the specific method in step S5.
Referring to fig. 3, the strategic shift method specifically includes the following steps:
And step S1, acquiring a shift request.
And step S2, determining order context information according to the shift request.
And step S3, determining at least one shift strategy configuration list according to preset strategy routing rules and order context information.
And S4, analyzing at least one shift strategy configuration list, and determining at least one shift strategy execution list, wherein the at least one shift strategy execution list corresponds to the at least one shift strategy configuration list one by one.
And step S501, sequentially calling the class division policy executors in the class division policy execution list to run the class division function.
Each class-division strategy execution list comprises one or more class-division strategy executors, the class-division strategy executors access the context information of the order when executing the corresponding class-division strategies, and when capturing the context information required by executing the current class-division strategies, the class-division functions give out operation results, wherein the operation results are strategy behaviors corresponding to the class-division strategies.
Step S502, obtaining an operation result of the shift function, wherein the operation result comprises any one of a matching return value, a blocking return value or a releasing return value.
If the result of the function operation is a matching return value, step S503 is executed, if the result of the function operation is a blocking return value, step S504 is executed, and if the result of the function operation is a release return value, step S505 is executed.
And step S503, determining the class-dividing class according to the matching return value.
And step S504, waiting and acquiring a next shift request according to the blocking return value.
And step S505, releasing the class-dividing authority according to the release return value, and returning to the execution step S501, and calling the next class-dividing sub-strategy executor in the class-dividing strategy execution list to run the class-dividing function.
In this embodiment, each sub-policy may be defined by an interface to receive only order context information, and each sub-policy returns only specific policy running results.
For example, a match return value may be defined as a positive integer, a block return value of 0, a release return value of-1, if the running result of the function is a positive integer, it represents that the current class-splitting strategy matches the class that can be entered; if the running result of the function is-1, the current sub-class strategy is released, namely the current sub-class strategy cannot process the current sub-class request and is handed to the next sub-class strategy for class division.
Specifically, after receiving a shift request, the shift system queries corresponding order context information according to an order number in the shift request, the shift system operates a preset strategy routing rule to match order attributes in the order context information with a specific shift strategy configuration list, then gives the shift strategy configuration list to a strategy factory, creates an executable shift strategy execution list, combines different shift strategies in each shift strategy execution list, sequentially invokes and executes each shift strategy executor to operate a shift function by a shift program, determines the returned positive integer as an allocated shift ID if an operation result returned by the shift function is a positive integer, completes the shift, suspends the shift request if an operation result returned by the shift function is 0 (i.e. is blocked), waits for the next shift request, and is still operated by the current shift strategy after receiving the next shift request, and executes the shift function according to the current shift request if an operation result returned by the shift function is "-1" (i.e. is released). Repeating the steps until blocking or obtaining the class ID, and expanding the class flexibility by combining the existing class-dividing strategies.
Alternatively, if the last shift policy executor runs the shift function to return an operation result of "-1" (i.e., release), the shift request sender is informed that "this shift request is not handled by me".
Optionally, the sub-strategies include, but are not limited to, any of a joint reporting sub-strategy, a hierarchical sub-strategy, a until sub-strategy, a basic sub-strategy, a delay sub-strategy, a wait sub-strategy, a block sub-strategy, a filter sub-strategy or a warning sub-strategy, each sub-strategy corresponding to solving a simple independent target problem.
The online reporting and grouping strategies refer to strategies that whether a user selects online reporting courses or not is judged according to order context information of a grouping request, and the grouping request of the selected online reporting courses is allocated with the same teacher with teaching class, and typically, the online reporting and grouping strategies comprise counting and same-band strategies, namely, the online reporting and grouping courses and math courses are allocated with the same teacher with teaching at the same time.
The hierarchical shift-in policy refers to a policy in which users are classified according to order context information of a shift request and a shift is allocated to the shift request according to a classification result.
Until sub-policy refers to judging whether the program triggers the target node according to the order context information of the shift request, and executing the spam shift sub-policy when the program triggers the target node.
The basic shift sub-strategy is a strategy for polling all shifts according to the order context information of the shift request to obtain a shift result.
The delay sub-policy refers to a policy for performing delay processing on the shift request.
The wait sub-policy refers to a policy for waiting for a class request to be processed.
The stopper blocking policy refers to a policy of stopping the shift and waiting for a next shift request.
The filtering sub-strategy refers to a strategy for filtering the classification result.
The warning sub-strategy refers to a strategy for sending alarm information to a user when the result of the shift cannot be obtained by matching.
Specifically, the shift sub-strategies adopt the same input and output structure, so that abundant shift sub-strategies can be provided through the combination of different sub-strategies, and the flexibility of strategy configuration is improved.
Illustratively, defining a preset strategy formula includes an order learning period logic judgment sub-formula and an order source logic judgment sub-formula, and configuring the preset strategy formula as follows:
if the order learning period is [ "first learning period", "second learning period" ], then [ "delay (1 h)", "number same band (parameter)", "block (parameter)" ]
If the order source= = [ "V2" ], then [ "number is same as the band (parameter)", "up to (3 d)", "spam shift (parameter)" ]
[ "Release" ]
The method comprises the steps of judging a sub formula of an order source logic, wherein [ (first learning period "," second learning period "] is a preset order attribute in the sub formula of the order learning period logic, v2 ] is a preset order attribute in the sub formula of the order source logic, [ (delay (1 h)", "count with band (parameter)", "block (parameter)" ] is a shift strategy configuration list matched with the sub formula of the order learning period logic, and [ (count with band (parameter) "," up to (3 d) "," pocket bottom shift (parameter) "] is a shift strategy configuration list matched with the sub formula of the order source logic, and [ (release" ] is a pocket bottom shift strategy configuration list.
Specifically, the shift program adopts the format to configure a preset strategy formula, after receiving a shift request, a shift system acquires order context information of the shift request, if an order learning period attribute designated in the order context information is a first learning period or a second learning period, a shift strategy configuration list of a first row is returned to [ "delay (1 h)", "number is same with band (parameter)", "blocking (parameter)" ], a shift strategy executor queue is created according to the shift strategy configuration list, and the executed shift strategy has the meaning of executing a delay sub-strategy. If the delay is less than 1 hour, the shift-dividing program is blocked, and if the delay is 1 hour, the sub-strategy release is delayed, and the shift-dividing is carried out by using the counting same-band strategy. If the same-band strategy of the number can not be divided into shifts, the same-band strategy of the number is released, and a blocking sub-strategy is used for dividing the shifts, and the blocking sub-strategy can block the shift dividing flow and wait for the next shift dividing request.
If the order learning period is not the first learning period and is not the second learning period in the order context information, judging whether the order source attribute in the order context information is v2, if the order source attribute in the order context information is v2, returning a second row of shift policy configuration list [ "number and band (parameter)", "until (3 d)", "spam shift (parameter)" ], creating a shift policy executor queue according to the shift policy configuration list, wherein the finally executed shift policy has the meaning that shift is firstly performed by using the number and band policy, if the number and band policy cannot be divided, the number and band policy is released, and the shift is performed by using the sub-policy until the sub-policy is released when the program triggers a target node (for example, waiting for 3 days without success of shift division), and the spam shift is performed by using the bottom shift sub-policy.
If the order learning period is not the first learning period and is not the second learning period in the order context information, and the order source attribute in the order context information is not v2, that is, the order context information does not meet the two routing conditions, a third row of shift strategy configuration list [ "release" ] is returned, and shift permission is released.
The method for strategically classifying the shifts provided by the embodiment of the invention determines the context information of the order through the shift request, determines at least one shift strategy configuration list according to the preset strategy routing rule and the order context information, determines at least one shift strategy execution list through analyzing the at least one shift strategy configuration list, carries out shift according to the at least one shift strategy execution list until a shift result is obtained, realizes the decoupling of shift strategy selection and shift strategy execution through a strategy routing mode, expands service scenes through strategy combination, solves the problems of poor compatibility and high development cost of the existing shift system, is beneficial to reducing the development and test cost of the shift system, expands the shift rule and improves the shift efficiency.
Example two
Based on the above embodiments, the second embodiment of the present invention provides a strategic shift-dividing system, where the strategic shift-dividing system provided by the embodiment of the present invention can execute the strategic shift-dividing method provided by any embodiment of the present invention, and has the corresponding functional module and beneficial effects of the execution method.
Fig. 4 is a schematic structural diagram of a strategic shift-dividing system according to a second embodiment of the present invention.
As shown in fig. 4, the strategic shift system 00 includes an instruction receiving unit 101, an order resolving unit 102, a policy routing unit 103, a policy resolving unit 104 and a policy executing unit 105, where the instruction receiving unit 101 is configured to obtain a shift request, the order resolving unit 102 is configured to determine order context information according to the shift request, the policy routing unit 103 is configured to determine at least one shift policy configuration list according to a preset policy routing rule and the order context information, the policy resolving unit 104 is configured to resolve the at least one shift policy configuration list, determine at least one shift policy execution list, and the at least one shift policy execution list corresponds to the at least one shift policy configuration list one by one, and the policy executing unit 105 is configured to perform shift according to the at least one shift policy execution list until a shift result is obtained.
Optionally, the preset policy routing rule comprises a preset policy formula, wherein the preset policy formula comprises at least one logic judgment sub-formula and a shift policy configuration list corresponding to the logic judgment sub-formula one by one, and the preset policy routing rule is used for substituting the order context information into the at least one logic judgment sub-formula and determining the at least one shift policy configuration list according to the judgment result of the logic judgment sub-formula.
Optionally, the policy routing unit 103 is configured to obtain at least one order attribute in the order context information, determine whether any order attribute matches a preset order attribute in the logic determination sub-formula, and determine a class-division policy configuration list according to a determination result.
Optionally, the class-division policy configuration list comprises at least one class-division policy configuration parameter, wherein the class-division policy configuration parameter is used for determining a class-division policy, and the class-division policy execution list comprises at least one class-division policy executor, and the class-division policy executor corresponds to the class-division policy configuration parameter one by one.
Optionally, the sub-policies include any of a joint reporting sub-policy, a hierarchical sub-policy, a until sub-policy, a base sub-policy, a delay sub-policy, a wait sub-policy, a block sub-policy, a filter sub-policy, or a warning sub-policy.
Optionally, the order analysis unit 102 is configured to store an order context mapping table established based on the order requirement extension field, obtain an order number of the shift request, perform table lookup on the order context mapping table according to the order number, and determine order context information according to a table lookup result.
Optionally, the policy execution unit 105 is configured to sequentially call a class division policy executor in the class division policy execution list to execute a class division function, obtain an operation result of the class division function, where the operation result includes any one of a match return value, a block return value, and a release return value, determine a class division class according to the match return value, or execute waiting and obtain a next class division request according to the block return value, or release a class division authority according to the release return value, and call a next class division policy executor in the class division policy execution list.
Example III
Fig. 5 is a schematic structural diagram of a computer device according to a third embodiment of the present invention. FIG. 5 illustrates a block diagram of an exemplary computer device suitable for use in implementing embodiments of the present invention. The computer device 12 shown in fig. 5 is merely an example and should not be construed as limiting the functionality and scope of use of embodiments of the present invention.
As shown in FIG. 5, the computer device 12 is in the form of a general purpose computing device. The computer device 12 includes, but is not limited to, one or more processors 16, a system memory 28, a bus 18 connecting the various system components including the system memory 28 and the processors 16, and a computer program stored on the memory and executable on the processors that when executing the program implements the strategic shift method described above.
Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, micro channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 12 typically includes a variety of computer system readable media. Such media can be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and/or cache memory 32. The computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from or write to non-removable, nonvolatile magnetic media (not shown in FIG. 5, commonly referred to as a "hard disk drive"). Although not shown in fig. 5, a magnetic disk drive for reading from and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In such cases, each drive may be coupled to bus 18 through one or more data medium interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored in, for example, memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment. Program modules 42 generally perform the functions and/or methods of the embodiments described herein.
The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the computer device 12, and/or any devices (e.g., network card, modem, etc.) that enable the computer device 12 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 22. Moreover, computer device 12 may also communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet, through network adapter 20. As shown, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with computer device 12, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
The processor 16 executes various functional applications and data processing, such as implementing the strategic shift method provided by embodiments of the invention, by running programs stored in the system memory 28.
Example IV
The fourth embodiment of the invention also provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the above-mentioned strategic shift method.
The method comprises the steps of obtaining a shift request, determining order context information according to the shift request, determining at least one shift strategy configuration list according to preset strategy routing rules and the order context information, analyzing the at least one shift strategy configuration list, determining at least one shift strategy execution list, enabling the at least one shift strategy execution list to correspond to the at least one shift strategy configuration list one by one, and carrying out shift according to the at least one shift strategy execution list until a shift result is obtained.
The computer storage media of embodiments of the invention may take the form of any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
Note that the above is only a preferred embodiment of the present invention and the technical principle applied. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, while the invention has been described in connection with the above embodiments, the invention is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the invention, which is set forth in the following claims.