Signal flow chart single disc positioning method, device and equipment and readable storage medium
By generating a list of single disks and properly assigning column and row numbers, the problem of disordered and overlapping single disk displays in the signal flow diagram was solved, achieving correct and clear display of business signal flows and improving user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- FIBERHOME TELECOMMUNICATION TECHNOLOGIES CO LTD
- Filing Date
- 2025-09-18
- Publication Date
- 2026-06-23
AI Technical Summary
In existing technologies, the problem of disordered and overlapping single-disk displays in signal flow diagrams leads to a poor user experience, especially when the business model is complex, requiring users to drag single disks multiple times to view the business signal flow.
By generating a list of single disks, the column number of a single disk is determined according to the first rule, and the row number of a single disk is determined according to the second rule. The relative coordinates of a single disk in the signal flow graph are determined by combining the column number and the row number, ensuring the consistency of the arrangement order of the single disks and the rationality of the coordinate allocation, and avoiding display errors and overlaps of single disks.
This effectively avoids unnecessary folding and crossing in single-disc display, ensuring the correct and clear display of business signal flow and improving user experience.
Smart Images

Figure CN121125534B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, specifically to a signal flow graph single-disk positioning method, apparatus, device, and readable storage medium. Background Technology
[0002] In communication system or network equipment configuration, signal flow diagrams are typically used to visualize the physical or logical paths of multiple service routes. The accurate positioning of individual boards (such as optical modules, repeater boards, and other hardware components) is crucial for a clear route display. In existing technologies, when generating signal flow diagrams for multiple service routes, the arrangement and coordinate allocation of individual boards often rely on manual design or simple linear mapping rules. When the service model is complex, issues such as incorrect or overlapping display of individual boards frequently occur, requiring users to drag individual boards multiple times to view the service signal flow, resulting in a poor user experience. Summary of the Invention
[0003] This application provides a method, apparatus, device, and readable storage medium for single-disk positioning in signal flow graphs, which can solve the technical problems of disordered and overlapping single-disk displays in signal flow graphs in the prior art.
[0004] In a first aspect, embodiments of this application provide a signal flow graph single-disk positioning method, the signal flow graph single-disk positioning method comprising:
[0005] A set of single disk lists is generated based on multiple service routes. The set of single disk lists contains multiple single disk lists. Each service route corresponds to one single disk list. The order of multiple single disks in each service route is the same as or the reverse of the order of multiple single disks in the corresponding single disk list. The first single disk in different single disk lists is the same, and the last single disk is also the same.
[0006] The column number of each disk is determined according to the first rule, which includes: if there are no duplicate disks in each disk list, then the column number of each disk is greater than or equal to the maximum value of the serial number of that disk in each disk list; if any two disks appear in the same disk list, then the relationship between the column numbers of these two disks is consistent with the relationship between the serial numbers of these two disks in the disk list.
[0007] The row number of each disk is determined according to the second rule, which includes: the row number of each disk is within the range of row numbers corresponding to a disk list that contains that disk; the row number ranges corresponding to different disk lists do not overlap.
[0008] Determine the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks.
[0009] Further, in one embodiment, the step of determining the column number of each single disk according to the first rule includes:
[0010] Use the first single disk list in the single disk list set as the first target list;
[0011] Initialize the first variable;
[0012] The first single plate in the first target list is designated as the first target single plate;
[0013] Add the first step length to the first variable;
[0014] Check if a first associated list exists, wherein the first associated list is in the first cache group and contains the first target disk;
[0015] If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk.
[0016] If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value.
[0017] If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable;
[0018] If the first target single plate is not the last single plate in the first target list, then the next single plate in the first target list will be the new first target single plate;
[0019] If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then the first target list is added to the first cache group, and the next disk list in the disk list set is used as the new first target list.
[0020] Further, in one embodiment, the step of determining the column number of each single disk according to the first rule includes:
[0021] Use the first single disk list in the single disk list set as the first target list;
[0022] Initialize the first variable;
[0023] The first single plate in the first target list is designated as the first target single plate;
[0024] Add the first step length to the first variable;
[0025] Check if the second cache group contains the first target disk;
[0026] If the second cache group contains the first target disk, then keep the column number of the first target disk unchanged and reduce the first variable by the first step length;
[0027] If the second cache group does not contain the first target disk, then check if there is a first association list, wherein the first association list is in the first cache group and contains the first target disk;
[0028] If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk.
[0029] If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value.
[0030] If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable;
[0031] If the first target disk is not the last disk in the first target list, then the first target disk is added to the second cache group, and the next disk in the first target list is taken as the new first target disk.
[0032] If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then clear the second cache group, add the first target list to the first cache group, and use the next disk list in the disk list set as the new first target list.
[0033] Further, in one embodiment, the step of determining the row number of each disk according to the second rule includes:
[0034] Initialize the second variable;
[0035] Use the first single-disk list in the single-disk list set as the second target list;
[0036] The first single plate in the second target list is designated as the second target single plate;
[0037] Check if a second associated list exists, wherein the second associated list is in the third cache group and contains the second target disk;
[0038] If a second associated list exists, the row number of the second target disk remains unchanged;
[0039] If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable.
[0040] If the second target single plate is not the last single plate in the second target list, then the next single plate in the second target list will be the new second target single plate.
[0041] If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
[0042] Further, in one embodiment, the step of determining the row number of each disk according to the second rule includes:
[0043] Initialize the second variable;
[0044] Use the first single-disk list in the single-disk list set as the second target list;
[0045] The first single plate in the second target list is designated as the second target single plate;
[0046] Check if the fourth cache group contains the second target disk;
[0047] If the fourth cache group contains the second target disk, then keep the row number of the second target disk unchanged, take the disk between the last occurrence position of the second target disk in the second target list and the current position as the second associated disk, and subtract the third step length from the row number of the second associated disk, where the third step length is less than the second step length.
[0048] If the fourth cache group does not contain the second target disk, then check if there is a second association list, wherein the second association list is in the third cache group and contains the second target disk;
[0049] If a second associated list exists, the row number of the second target disk remains unchanged;
[0050] If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable.
[0051] If the second target disk is not the last disk in the second target list, then the second target disk is added to the fourth cache group, and the next disk in the second target list is taken as the new second target disk.
[0052] If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then clear the fourth cache group, add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
[0053] Furthermore, in one embodiment, the single-disk lists corresponding to the forward and reverse routes of the same service are adjacent in the single-disk list set.
[0054] Further, in one embodiment, the step of determining the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks includes:
[0055] All single disks are deduplicated and sorted by size. The relative x-coordinates of single disks in the signal flow graph are determined according to the sorting of column numbers. The absolute value of the difference between the x-coordinates of two adjacent column numbers in the sorting is fixed.
[0056] All disk row numbers are deduplicated and sorted by size. The relative ordinate of each disk in the signal flow graph is determined based on the row number sorting. The absolute value of the difference between the ordinates of two adjacent row numbers in the size sorting is fixed.
[0057] Secondly, embodiments of this application also provide a signal flow graph single-disc positioning device, the signal flow graph single-disc positioning device comprising:
[0058] The list generation module is used to generate a set of single disk lists based on multiple service routes. The single disk list set contains multiple single disk lists. Each service route corresponds to one single disk list. The order of multiple single disks in each service route is the same as or the reverse of the order of multiple single disks in the corresponding single disk list. The first single disk in different single disk lists is the same, and the last single disk is also the same.
[0059] The column number determination module is used to determine the column number of each disk according to a first rule, wherein the first rule includes: if there are no duplicate disks in each disk list, then the column number of each disk is greater than or equal to the maximum value of the serial number of that disk in each disk list; if any two disks appear in the same disk list, then the relationship between the column numbers of these two disks is consistent with the relationship between the serial numbers of these two disks in the disk list.
[0060] The row number determination module is used to determine the row number of each disk according to the second rule, wherein the second rule includes: the row number of each disk is within the range of row numbers corresponding to a disk list that contains that disk; the row number ranges corresponding to different disk lists do not overlap;
[0061] The coordinate determination module is used to determine the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks.
[0062] Thirdly, this application also provides a signal flow graph single-disc positioning device, which includes a processor, a memory, and a signal flow graph single-disc positioning program stored in the memory and executable by the processor. When the signal flow graph single-disc positioning program is executed by the processor, it implements the steps of the above-described signal flow graph single-disc positioning method.
[0063] Fourthly, embodiments of this application also provide a readable storage medium storing a signal flow graph single-disk positioning program, wherein when the signal flow graph single-disk positioning program is executed by a processor, it implements the steps of the above-described signal flow graph single-disk positioning method.
[0064] This application unifies the data direction of forward and reverse routing through a single-disk list, rationally allocates column numbers for each single disk through a first rule, and rationally allocates row numbers for each single disk through a second rule. Based on the row and column numbers, the relative coordinates of different single disks in the signal flow graph are determined, avoiding unnecessary backtracking of single service signal flows and unnecessary intersections and overlaps of multiple service signal flows. This application can dynamically generate the relative coordinates of different single disks in the signal flow graph based on specific service routes, ensuring correct and clear display of service signal flows, effectively avoiding users having to drag single disks multiple times to view service signal flows, and improving user experience. Attached Figure Description
[0065] Figure 1 This is a schematic flowchart of a single-disk positioning method based on a signal flow graph in one embodiment of this application;
[0066] Figure 2 This is a schematic diagram showing the relative position of a single disk in the signal flow graph according to one embodiment of this application;
[0067] Figure 3 This is a schematic diagram of the functional modules of a single-disc positioning device with a signal flow graph in one embodiment of this application;
[0068] Figure 4 This is a schematic diagram of the hardware structure of a single-disc positioning device involved in the signal flow diagram of the embodiment of this application. Detailed Implementation
[0069] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.
[0070] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0071] In a first aspect, embodiments of this application provide a signal flow graph single-disk positioning method.
[0072] Figure 1 A schematic flowchart of a single-disc positioning method based on a signal flow graph is shown in one embodiment of this application.
[0073] Reference Figure 1 In one embodiment, the signal flow graph single-disk positioning method includes the following steps:
[0074] S1. Generate a set of single-disk lists based on multiple service routes. The set of single-disk lists contains multiple single-disk lists. Each service route corresponds to one single-disk list. The order of multiple single disks in each service route is the same as or the reverse of the order of multiple single disks in the corresponding single-disk list. The first single disk in different single-disk lists is the same, and the last single disk is also the same.
[0075] Specifically, each disk in the disk list is usually identified by its disk ID.
[0076] Example 1: Assume the source of the service is disk A, and the destination is disk F. There is a forward service route: disk A-disk C-disk D-disk E-disk F, and a reverse service route: disk F-disk E-disk C-disk B-disk A. Two disk lists can be generated, with the forward data direction as the direction of the disk lists. The disk list corresponding to the forward service route is disk A-disk C-disk D-disk E-disk F, and the disk list corresponding to the reverse service route is disk A-disk B-disk C-disk E-disk F. It can be seen that the order of the disks in the forward service route is the same as the order of the disks in the corresponding disk list, and the order of the disks in the reverse service route is the reverse of the order of the disks in the corresponding disk list. The first disk in both lists is disk A, and the last disk is disk F.
[0077] Of course, in other examples, the reverse data direction can also be used as the direction of the disk list, so that the arrangement order of multiple disks in the forward service route is the opposite of the arrangement order of multiple disks in the corresponding disk list, and the arrangement order of multiple disks in the reverse service route is the same as the arrangement order of multiple disks in the corresponding disk list. The first disk in both disk lists is disk F, and the last disk is disk A.
[0078] S2. Determine the column number of each disk according to the first rule, wherein the first rule includes: if there are no duplicate disks in each disk list, then the column number of each disk is greater than or equal to the maximum value of the serial number of that disk in each disk list; if any two disks appear in the same disk list, then the relationship between the column numbers of these two disks is consistent with the relationship between the serial numbers of these two disks in the disk list.
[0079] Specifically, each disk in the disk list must be unique, meaning there are no disk backtracking instances in the service routing. Disk backtracking is generally not allowed, therefore this rule applies to the vast majority of scenarios. For disk backtracking, additional rules are required, which will not be discussed in this embodiment but will be explained later.
[0080] Example 2: Following the settings in Example 1, based on the sub-rule that "if there are no duplicates in each disk list, then the column number of each disk is greater than or equal to the maximum value of the disk's serial number in each disk list", the column number of disk A is greater than or equal to 0, the column number of disk B is greater than or equal to 1, the column number of disk C is greater than or equal to 2, the column number of disk D is greater than or equal to 2, the column number of disk E is greater than or equal to 3, and the column number of disk F is greater than or equal to 4.
[0081] According to the sub-rule that "if any two disks appear in the same disk list, the relationship between the column numbers of the two disks is consistent with the relationship between the serial numbers of the two disks in the disk list", the column numbers of disks A, B, C, D, E, and F should be in an increasing relationship.
[0082] Based on the principle of minimizing column numbers, it can be determined that the column numbers of disks A, B, C, D, E, and F are 0, 1, 2, 3, 4, and 5, respectively.
[0083] It should be noted that the serial number, column number, and row number can be counted starting from 0 or starting from 1, and this application does not impose any restrictions on this.
[0084] S3. Determine the row number of each disk according to the second rule, wherein the second rule includes: the row number of each disk is within the range of row numbers corresponding to a disk list that contains that disk; the range of row numbers corresponding to different disk lists do not overlap.
[0085] Example 3: Following the settings in Example 1, assuming the row numbers corresponding to the two single disk lists are 0 and 1 respectively, then the row numbers of single disks A, C, D, E, and F are all 0, and the row number of single disk B is 1.
[0086] S4. Determine the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks.
[0087] Specifically, the column number of a single disk is positively correlated with the horizontal axis, and the row number of a single disk is positively correlated with the vertical axis. By comparing the column and row numbers of two single disks, their relative positions in the signal flow graph can be determined. Once the relative coordinates are determined, if the absolute coordinates of one single disk in the signal flow graph are specified, the absolute coordinates of the other single disks in the signal flow graph can be determined.
[0088] Therefore, in this embodiment, the data direction of forward and reverse routing is unified through a single-disk list. A first rule is used to rationally allocate column numbers for each single disk, and a second rule is used to rationally allocate row numbers for each single disk. The relative coordinates of different single disks in the signal flow graph are determined based on the row and column numbers, avoiding unnecessary backtracking of single service signal flows and unnecessary intersections and overlaps between multiple service signal flows. This embodiment can dynamically generate the relative coordinates of different single disks in the signal flow graph based on specific service routes, ensuring correct and clear display of service signal flows and effectively avoiding users having to drag single disks multiple times to view service signal flows, thus improving the user experience.
[0089] Further, in one embodiment, the step of determining the column number of each single disk according to the first rule includes:
[0090] Use the first single disk list in the single disk list set as the first target list;
[0091] Initialize the first variable;
[0092] The first single plate in the first target list is designated as the first target single plate;
[0093] Add the first step length to the first variable;
[0094] Check if a first associated list exists, wherein the first associated list is in the first cache group and contains the first target disk;
[0095] If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk.
[0096] If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value.
[0097] If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable;
[0098] If the first target single plate is not the last single plate in the first target list, then the next single plate in the first target list will be the new first target single plate;
[0099] If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then the first target list is added to the first cache group, and the next disk list in the disk list set is used as the new first target list.
[0100] This embodiment provides a specific operational procedure for determining the single-disc column number, which can reasonably determine the single-disc column number when there is no single-disc foldback.
[0101] Example 4: A network scenario where an optical layer OCH service is protected by OCP routes, and the working and protection routes of the OCP are protected by OMSP nested protection is as follows:
[0102] The forward and reverse fiber optic connections of line panel L1 are made to OCP protection panel OP1;
[0103] The forward and reverse fiber optic connections of line panel L2 are made to OCP protection panel OP2;
[0104] The forward optical fiber of the protection panel OP1 is connected to the multiplexing panel M1. M1 is connected to the amplifier panel A11 in sequence. A11 is connected to the group input of the OMSP protection panel MP1. The group input of MP1 is connected to the amplifier panels A12, A13, and A14 in sequence. A14 is connected to the splitter panel D1. D1 is connected to the working input of the protection panel OP1.
[0105] The forward fiber optic connection of protection panel OP2 is connected to multiplexing panel M2. M2 is connected to amplifier panels A21, A22, and A23 in sequence. A23 is connected to the group input port of OMSP protection panel MP2. The group output port of MP2 is connected to amplifier panels A24 and A25 in sequence. A25 is connected to splitter panel D2. D2 is connected to the working input port of protection panel OP2.
[0106] The forward output fiber of MP1 disk is connected to amplifier disks A121 and A122 in sequence. A122 is connected to the working input of MP2 disk. The forward output fiber of MP2 disk is connected to amplifier disk A123 in sequence. A123 is connected to the working input of MP1 disk.
[0107] The protection forward output fiber of MP1 board is connected to amplifier board A124 in sequence. A124 is connected to the protection input of MP2 board. The protection forward output fiber of MP2 board is connected to amplifier boards A125, A126, A127, and A128 in sequence. A128 is connected to the protection input of MP1 board.
[0108] The forward protection fiber of protection panel OP1 is connected to the combiner panel M3. M3 is connected to amplifier panels A30, A31, and A32 in sequence. A32 is connected to the group input port of OMSP protection panel MP3. The group output port of MP3 is connected to amplifier panels A33 and A34 in sequence. A34 is connected to splitter panel D3. D3 is connected to the protection input port of protection panel OP1.
[0109] The protective forward fiber of protection panel OP2 is connected to the combiner panel M4. M4 is connected to amplifier panels A40 and A41 in sequence. A41 is connected to the group input of OMSP protection panel MP4. The group input of MP4 is connected to the splitter panel D4. D4 is connected to the working input of protection panel OP2.
[0110] The forward output optical fiber of the MP3 disk is connected sequentially to amplifier disks A341, A342, A343, and A344. A344 is connected to the working input of the MP4 disk. The forward output optical fiber of the MP4 disk is connected sequentially to amplifier disk A431. A431 is connected to the working input of the MP3 disk.
[0111] The protection forward output fiber of the MP3 disk is connected sequentially to amplifier disk A345. A345 is connected to the protection input of the MP4 disk. The protection forward output fiber of the MP4 disk is connected sequentially to amplifier disks A432, A433, A434, A435, and A436. A436 is connected to the protection input of the MP3 disk.
[0112] In this networking scenario, the list of single disks can be compiled as follows:
[0113] Single disk list 1: L1-OP1-M1-A11-MP1-A121-A122-MP2-A24-A25-D2-OP2-L2;
[0114] Single disk list 2: L1-OP1-D1-A14-A13-A12-MP1-A123-MP2-A23-A22-A21-M2-OP2-L2;
[0115] Single disk list 3: L1-OP1-M1-A11-MP1-A124-MP2-A24-A25-D2-OP2-L2;
[0116] Single disk list 4: L1-OP1-D1-A14-A13-A12-MP1-A128-A125-A127-A126-A125-MP2-A23-A22-A21-M2-OP2-L2;
[0117] Single disk list 5: L1-OP1-M3-A30-A31-A32-MP3-A341-A342-A343-A344-MP4-D4-OP2-L2;
[0118] Single disk list 6: L1-OP1-D3-A34-A33-MP3-A431-MP4-A41-A40-M4-OP2-L2;
[0119] Single disc list 7: L1-OP1-M3-A30-A31-A32-MP3-A345-MP4-D4-OP2-L2;
[0120] Single disk list 8: L1-OP1-D3-A34-A33-MP3-A436-A435-A434-A433-A432-MP4-A41-A40-M4-OP2-L2.
[0121] For ease of explanation, the list results will be represented as data pairs of (disk ID, disk column number). The initial value of the first variable is set to -1, and the first step length is set to 1.
[0122] Taking disk list 1 as the first target list, when each disk is the first target disk, since the first cache group is empty at this time, there will be no first associated list. Assign the column number of the first target disk to the first variable, and get the column number results (L1,0), (OP1,1), (M1,2), (A11,3), (MP1,4), (A121,5), (A122,6), (MP2,7), (A24,8), (A25,9), (D2,10), (OP2,11), (L2,12).
[0123] With single disk list 2 as the first target list, when L1 and OP1 are the first target single disks, single disk list 1 is the first associated list. The first variables 0 and 1 are equal to the column numbers 0 and 1 of L1 and OP1, respectively. Keeping the column numbers of L1 and OP1 unchanged, the first variables are assigned the values 0 and 1.
[0124] When D1, A14, A13, and A12 are the first target disks, there is no first associated list. The column numbers of D1, A14, A13, and A12 are assigned to the first variable 2, 3, 4, and 5, respectively, resulting in column number results (D1,2), (A14,3), (A13,4), and (A12,5).
[0125] When MP1 is the first target disk, disk list 1 is the first associated list. The first variable 6 is greater than the column number 4 of MP1, and the difference between the two is 2. A121, A122, MP2, A24, A25, D2, OP2, and L2, which are located after MP1 in disk list 1, are taken as the first associated disks. 2 is used as the column number adjustment value. The column numbers of MP1, A121, A122, MP2, A24, A25, D2, OP2, and L2 are increased by 2, and the column number results (L1,0), (OP1,1), (M1,2), (A11,3), (MP1,6), (A121,7), (A122,8), (MP2,9), (A24,10), (A25,11), (D2,12), (OP2,13), and (L2,14) are updated.
[0126] When A123 is the first target disk, disk list 1 is the first associated list. If there is no first associated list, the column number of the first target disk is assigned to the first variable 7, and the list result (A123, 7) is obtained.
[0127] When MP2 is the first target disk, disk list 1 is the first associated list. The first variable 8 is less than the column number 9 of MP2. Keep the column number of MP2 unchanged and assign the value of the first variable 9.
[0128] When A23, A22, A21, and M2 are the first target disks, there is no first associated list. The column numbers of A23, A22, A21, and M2 are assigned to the first variable 10, 11, 12, and 13, respectively, resulting in column number results (A23,10), (A22,11), (A21,12), and (M2,13).
[0129] When OP2 is the first target disk, disk list 1 is the first associated list. The first variable 14 is greater than the column number 13 of OP2, and the difference between the two is 1. L2, which is located after OP2 in disk list 1, is taken as the first associated disk. 1 is used as the column number adjustment value. The column numbers of OP2 and L2 are incremented by 1, and the column number results (OP2,14) and (L2,15) are updated.
[0130] When L2 is the first target disk, disk list 1 is the first associated list, the first variable 15 is equal to column number 15 of MP2, the column number of L2 remains unchanged, and the first variable is assigned the value 15.
[0131] With single disk list 3 as the first target list, when L1, OP1, M1, and A11 are the first target single disks, single disk list 1 is the first associated list. The first variables 0, 1, 2, and 3 are equal to the column numbers 0, 1, 2, and 3 of L1, OP1, M1, and A11, respectively. Keeping the column numbers of L1, OP1, M1, and A11 unchanged, the first variables are assigned the values 0, 1, 2, and 3.
[0132] When MP1 is the first target disk, disk list 1 is the first associated list. The first variable 4 is less than the column number 6 of MP1. Keeping the column number of MP1 unchanged, the first variable is assigned the value 6.
[0133] When A124 is the first target disk, there is no first associated list. The column number of A124 is assigned to the first variable 7, and the column number result is (A124,7).
[0134] When MP2 is the first target disk, disk list 1 is the first associated list. The first variable 8 is less than the column number 9 of MP2. Keep the column number of MP2 unchanged and assign the value of the first variable 9.
[0135] When A24, A25, and D2 are the first target disks, disk list 1 is the first associated list. The first variables 10, 11, and 12 are equal to the column numbers 10, 11, and 12 of A24, A25, and D2, respectively. Keeping the column numbers of A24, A25, and D2 unchanged, the first variables are assigned the values 10, 11, and 12.
[0136] When OP2 is the first target disk, disk list 1 is the first associated list. The first variable 13 is less than the column number 14 of MP2. Keep the column number of OP2 unchanged and assign the value of the first variable 14.
[0137] When L2 is the first target disk, disk list 1 is the first associated list, the first variable 15 is equal to the column number 15 of L2, keeping the column number of L2 unchanged, and assigning the value of the first variable to 15.
[0138] Observing list 4 for single-reel plates, we find that A125 appears repeatedly, indicating that a single-reel plate has been folded back. The above method of determining column numbers is no longer applicable.
[0139] Further, in one embodiment, the step of determining the column number of each single disk according to the first rule includes:
[0140] Use the first single disk list in the single disk list set as the first target list;
[0141] Initialize the first variable;
[0142] The first single plate in the first target list is designated as the first target single plate;
[0143] Add the first step length to the first variable;
[0144] Check if the second cache group contains the first target disk;
[0145] If the second cache group contains the first target disk, then keep the column number of the first target disk unchanged and reduce the first variable by the first step length;
[0146] If the second cache group does not contain the first target disk, then check if there is a first association list, wherein the first association list is in the first cache group and contains the first target disk;
[0147] If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk.
[0148] If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value.
[0149] If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable;
[0150] If the first target disk is not the last disk in the first target list, then the first target disk is added to the second cache group, and the next disk in the first target list is taken as the new first target disk.
[0151] If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then clear the second cache group, add the first target list to the first cache group, and use the next disk list in the disk list set as the new first target list.
[0152] This embodiment provides a specific operational procedure for determining the single-disc column number, which can reasonably determine the single-disc column number even when a single-disc reversal occurs.
[0153] Based on the previous operation process, this operation process adds a second cache group to store the single disks that have been processed in the first target list. A new detection process is added to check whether the first target single disk is included in the second cache group. If it is, it means that there is a single disk rollback. A new operation is added for single disk rollback cases. Keep the column number of the first target single disk unchanged and reduce the first variable by the first step length. If there is no single disk rollback, the subsequent process is consistent with the previous operation process.
[0154] Example 5: Following the settings in Example 4, there are no single-disk foldbacks in single-disk lists 1, 2, and 3, therefore the determined column numbers are consistent:
[0155] (L1,0), (OP1,1), (M1,2), (A11,3), (MP1,6), (A121,7), (A122,8), (MP2,9), (A24,10), (A25,11), (D2,12), (OP2,14), (L2,15);
[0156] (L1,0), (OP1,1), (D1,2), (A14,3), (A13,4), (A12,5), (MP1,6), (A123,7 ), (MP2,9), (A23,10), (A22,11), (A21,12), (M2,13), (OP2,14), (L2,15);
[0157] (L1,0), (OP1,1), (M1,2), (A11,3), (MP1,6), (A124,7), (MP2,9), (A24,10), (A25,11), (D2,12), (OP2,14), (L2,15).
[0158] When using single disk list 4 as the first target list, and successively using L1, OP1, D1, A14, A13, A12, MP1, A128, A125, A127, and A126 as the first target single disks, the column number determination process is the same as in Example 4, resulting in column numbers (L1,0), (OP1,1), (D1,2), (A14,3), (A13,4), (A12,5), (MP1,6), (A128,7), (A125,8), (A127,9), and (A126,10).
[0159] When A125 is used as the first target disk again, it is found that A125 is included in the second cache group. Keeping the column number of A125 unchanged, the first variable 11 is subtracted from the first step length 1 to obtain the first variable 10.
[0160] When MP2 is the first target disk, disk lists 1 and 2 are the first associated lists. The first variable 11 is greater than the column number 9 of MP2, and the difference between the two is 2. The disks A24, A25, D2, OP2, L2, A23, A22, A21, and M2 located after MP2 in disk lists 1 and 2 are taken as the first associated disks. The column number is adjusted by 2. The column numbers of A24, A25, D2, OP2, L2, A23, A22, A21, and M2 are increased by 2. The column number results are updated to (MP2,11), (A24,12), (A25,13), (D2,14), (OP2,16), (L2,17), (A23,12), (A22,13), (A21,14), and (M2,15).
[0161] When A23, A22, A21, M2, OP2, and L2 are selected as the first target disks, the column number determination process is the same as in Example 4, and the column number results are (A23,12), (A22,13), (A21,14), (M2,15), (OP2,16), and (L2,17).
[0162] The traversal process of single disk list 5-8 will not be elaborated here. The final column number result is as follows:
[0163] (L1,0), (OP1,1), (M1,2), (A11,3), (MP1,6), (A121,7), (A122,8), (MP2,11), (A24,12), (A25,13), (D2,14), (OP2,16), (L2,17);
[0164] (L1,0), (OP1,1), (D1,2), (A14,3), (A13,4), (A12,5), (MP1,6), (A123,7) , (MP2,11), (A23,12), (A22,13), (A21,14), (M2,15), (OP2,16), (L2,17);
[0165] (L1,0), (OP1,1), (M1,2), (A11,3), (MP1,6), (A124,7), (MP2,11) (A24,12), (A25,13), (D2,14), (OP2,16) ), (L2,17);
[0166] (L1,0), (OP1,1), (D1,2), (A14,3), (A13,4), (A12,5), (MP1,6), (A128,7), (A125,8), (A127,9) , (A126,10), (A125,8), (MP2,11), (A23,12), (A22,13), (A21,14), (M2,15), (OP2,16), (L2,17);
[0167] (L1,0), (OP1,1), (M3,2), (A30,3), (A31,4), (A32,5), (MP3,6), (A341,7) , (A342,8), (A343,9), (A344,10), (MP4,12), (D4,13), (OP2,16), (L2,17);
[0168] (L1,0), (OP1,1), (D3,2), (A34,3), (A33,4), (MP3,6), (A431,7), (MP4,12), (A41,13), (A40,14), (M4,15), (OP2,16), (L2,17);
[0169] (L1,0), (OP1,1), (M3,2), (A30,3), (A31,4), (A32,5), (MP3,6), (A345,7), (MP4,12), (D4,13), (OP2,16), (L2,17);
[0170] (L1,0), (OP1,1), (D3,2), (A34,3), (A33,4), (MP3,6), (A436,7), (A435,8), (A434,9) , (A433,10), (A432,11), (MP4,12), (A41,13), (A40,14), (M4,15), (OP2,16), (L2,17).
[0171] Further, in one embodiment, the step of determining the row number of each disk according to the second rule includes:
[0172] Initialize the second variable;
[0173] Use the first single-disk list in the single-disk list set as the second target list;
[0174] The first single plate in the second target list is designated as the second target single plate;
[0175] Check if a second associated list exists, wherein the second associated list is in the third cache group and contains the second target disk;
[0176] If a second associated list exists, the row number of the second target disk remains unchanged;
[0177] If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable.
[0178] If the second target single plate is not the last single plate in the second target list, then the next single plate in the second target list will be the new second target single plate.
[0179] If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
[0180] This embodiment provides a specific operational procedure for determining the row number of a single reel, which can reasonably determine the row number of a single reel when there is no single reel back.
[0181] Example 6: Following the settings in Example 4, the initial value of the second variable is set to 1, and the second step size is set to 1. There are no single-disk foldbacks in single-disk lists 1, 2, and 3. The determination of the row number for each single disk is explained.
[0182] Using disk list 1 as the second target list, when each disk is used as the second target disk, since the third cache group is empty at this time, there will be no second associated list. The row number of the second target disk is assigned to the second variable 1.
[0183] Using disk list 2 as the second target list, when D1, A14, A13, A12, A123, A23, A22, A21, and M2 are the second target disks, there is no second associated list, and the row number is assigned to the second variable 2. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0184] Using disk list 3 as the second target list, when A124 is the second target disk, there is no second associated list, and the row number is assigned to the second variable 3. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0185] When the above row number determination method is applied to the case of single-disc foldback, the foldback single disk and the intermediate single disk will be assigned the same row number, which will lead to overlapping display and make it inconvenient for users to observe the signal flow diagram.
[0186] Further, in one embodiment, the step of determining the row number of each disk according to the second rule includes:
[0187] Initialize the second variable;
[0188] Use the first single-disk list in the single-disk list set as the second target list;
[0189] The first single plate in the second target list is designated as the second target single plate;
[0190] Check if the fourth cache group contains the second target disk;
[0191] If the fourth cache group contains the second target disk, then keep the row number of the second target disk unchanged, take the disk between the last occurrence position of the second target disk in the second target list and the current position as the second associated disk, and subtract the third step length from the row number of the second associated disk, where the third step length is less than the second step length.
[0192] If the fourth cache group does not contain the second target disk, then check if there is a second association list, wherein the second association list is in the third cache group and contains the second target disk;
[0193] If a second associated list exists, the row number of the second target disk remains unchanged;
[0194] If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable.
[0195] If the second target disk is not the last disk in the second target list, then the second target disk is added to the fourth cache group, and the next disk in the second target list is taken as the new second target disk.
[0196] If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then clear the fourth cache group, add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
[0197] This embodiment provides a specific operational procedure for determining the row number of a single reel, which can also reasonably determine the row number of a single reel even when a single reel reversal occurs.
[0198] Based on the previous operation process, this operation process adds a fourth cache group to store the processed disks in the second target list. A new detection process is added to check whether the fourth cache group contains the second target disk. If it does, it means that there is a disk rollback. A new operation is added for the disk rollback case. Keep the row number of the second target disk unchanged, and take the disks between the last appearance position of the second target disk in the second target list and the current position as the second associated disks. Subtract the third step length from the row number of the second associated disks. If there is no disk rollback, the subsequent process is consistent with the previous operation process.
[0199] Example 7: Using the same settings as in Example 4, set the initial value of the second variable to 2, the second step size to 2, and the third step size to 1.
[0200] Using disk list 1 as the second target list, when each disk is used as the second target disk, since the third cache group is empty at this time, there will be no second associated list. The row number of the second target disk is assigned to the second variable 2.
[0201] Using disk list 2 as the second target list, when D1, A14, A13, A12, A123, A23, A22, A21, and M2 are the second target disks, there is no second associated list, and the row number is assigned to the second variable 4. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0202] Using disk list 3 as the second target list, when A124 is the second target disk, there is no second associated list, and the row number is assigned to the second variable 6. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0203] Using disk list 4 as the second target list, when A128, A127, and A126 are the second target disks, when A125 is the second target disk for the first time, there is no second associated list, and the row number is assigned to the second variable 8. When A125 is the second target disk for the second time, the fourth cache group contains A125, and the row number of A125 remains unchanged. A127 and A126, which are between the last occurrence of A125 in disk list 4 and the current position, are the second associated disks. The row numbers of A127 and A126 are decremented by 1, and the row number is updated to 7. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0204] Using disk list 5 as the second target list, when M3, A30, A31, A32, MP3, A341, A342, A343, A344, MP4, and D4 are the second target disks, there is no second associated list, and the row number is assigned to the second variable 10. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0205] Using disk list 6 as the second target list, when D3, A34, A33, A431, A41, A40, and M4 are the second target disks, there is no second associated list, and the row number is assigned to the second variable 12. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0206] Using disk list 7 as the second target list, when A345 is the second target disk, there is no second associated list, and the row number is assigned to the second variable 14. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0207] Using disk list 8 as the second target list, when A436, A435, A434, A433, and A432 are the second target disks, there is no second associated list, and the row number is assigned to the second variable 16. When other disks are the second target disks, there is a second associated list, and the row number remains unchanged.
[0208] Figure 2 This diagram illustrates the relative position of a single disk in a signal flow graph according to an embodiment of this application.
[0209] Reference Figure 2Based on the row and column numbers determined in Examples 5 and 7, the relative position of a single disk in the signal flow diagram can be reasonably determined, ensuring that the business signal flow is displayed correctly and clearly.
[0210] Furthermore, in one embodiment, the single-disk lists corresponding to the forward and reverse routes of the same service are adjacent in the single-disk list set.
[0211] In this embodiment, in the scheme of traversing each disk in the order of the disk list and determining the row number in an incremental manner, the disk lists corresponding to the forward and reverse routes of the same service are adjacent in the disk list set, which can make the signal flow display area of the same service consistent, which is convenient for observing the service signal flow.
[0212] Figure 2 In the illustrated embodiment, single disk lists 1 and 2, 3 and 4, 5 and 6, 7 and 8 are generated from the forward and reverse routes of the four services, respectively.
[0213] Further, in one embodiment, the step of determining the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks includes:
[0214] All single disks are deduplicated and sorted by size. The relative x-coordinates of single disks in the signal flow graph are determined according to the sorting of column numbers. The absolute value of the difference between the x-coordinates of two adjacent column numbers in the sorting is fixed.
[0215] All disk row numbers are deduplicated and sorted by size. The relative ordinate of each disk in the signal flow graph is determined based on the row number sorting. The absolute value of the difference between the ordinates of two adjacent row numbers in the size sorting is fixed.
[0216] In this embodiment, regardless of whether the row and column numbers follow the principle of minimization when determining them, the coordinates can be arranged compactly when determining the relative coordinates, thereby improving the utilization rate of the display screen.
[0217] For example, refer to Figure 2 The row numbers of all single disks are deduplicated and arranged from smallest to largest as 2, 4, 6, 7, 8, 10, 12, 14, 16. The original display space required 15 rows can be compressed to 9 rows through this embodiment.
[0218] Secondly, embodiments of this application also provide a signal flow graph single-disc positioning device.
[0219] Figure 3 A schematic diagram of the functional modules of a single-disc positioning device with a signal flow graph is shown in one embodiment of this application.
[0220] Reference Figure 3In one embodiment, the signal flow graph single-disc positioning device includes:
[0221] The list generation module 10 is used to generate a set of single disk lists based on multiple service routes. The set of single disk lists contains multiple single disk lists. Each service route corresponds to one single disk list. The order of multiple single disks in each service route is the same as or the opposite of the order of multiple single disks in the corresponding single disk list. The first single disk in different single disk lists is the same, and the last single disk is also the same.
[0222] The column number determination module 20 is used to determine the column number of each disk according to a first rule, wherein the first rule includes: if there are no duplicate disks in each disk list, then the column number of each disk is greater than or equal to the maximum value of the serial number of that disk in each disk list; if any two disks appear in the same disk list, then the relationship between the size of the column numbers of these two disks is consistent with the relationship between the size of the serial numbers of these two disks in the disk list.
[0223] The row number determination module 30 is used to determine the row number of each disk according to the second rule, wherein the second rule includes: the row number of each disk is within the range of row numbers corresponding to a disk list that contains that disk; the row number ranges corresponding to different disk lists do not overlap.
[0224] The coordinate determination module 40 is used to determine the relative coordinates of different single disks in the signal flow graph based on the column number and row number of all single disks.
[0225] Furthermore, in one embodiment, the column number determination module 20 is used for:
[0226] Use the first single disk list in the single disk list set as the first target list;
[0227] Initialize the first variable;
[0228] The first single plate in the first target list is designated as the first target single plate;
[0229] Add the first step length to the first variable;
[0230] Check if a first associated list exists, wherein the first associated list is in the first cache group and contains the first target disk;
[0231] If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk.
[0232] If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value.
[0233] If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable;
[0234] If the first target single plate is not the last single plate in the first target list, then the next single plate in the first target list will be the new first target single plate;
[0235] If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then the first target list is added to the first cache group, and the next disk list in the disk list set is used as the new first target list.
[0236] Furthermore, in one embodiment, the column number determination module 20 is used for:
[0237] Use the first single disk list in the single disk list set as the first target list;
[0238] Initialize the first variable;
[0239] The first single plate in the first target list is designated as the first target single plate;
[0240] Add the first step length to the first variable;
[0241] Check if the second cache group contains the first target disk;
[0242] If the second cache group contains the first target disk, then keep the column number of the first target disk unchanged and reduce the first variable by the first step length;
[0243] If the second cache group does not contain the first target disk, then check if there is a first association list, wherein the first association list is in the first cache group and contains the first target disk;
[0244] If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk.
[0245] If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value.
[0246] If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable;
[0247] If the first target disk is not the last disk in the first target list, then the first target disk is added to the second cache group, and the next disk in the first target list is taken as the new first target disk.
[0248] If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then clear the second cache group, add the first target list to the first cache group, and use the next disk list in the disk list set as the new first target list.
[0249] Furthermore, in one embodiment, the row number determination module 30 is used for:
[0250] Initialize the second variable;
[0251] Use the first single-disk list in the single-disk list set as the second target list;
[0252] The first single plate in the second target list is designated as the second target single plate;
[0253] Check if a second associated list exists, wherein the second associated list is in the third cache group and contains the second target disk;
[0254] If a second associated list exists, the row number of the second target disk remains unchanged;
[0255] If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable.
[0256] If the second target single plate is not the last single plate in the second target list, then the next single plate in the second target list will be the new second target single plate.
[0257] If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
[0258] Furthermore, in one embodiment, the row number determination module 30 is used for:
[0259] Initialize the second variable;
[0260] Use the first single-disk list in the single-disk list set as the second target list;
[0261] The first single plate in the second target list is designated as the second target single plate;
[0262] Check if the fourth cache group contains the second target disk;
[0263] If the fourth cache group contains the second target disk, then keep the row number of the second target disk unchanged, take the disk between the last occurrence position of the second target disk in the second target list and the current position as the second associated disk, and subtract the third step length from the row number of the second associated disk, where the third step length is less than the second step length.
[0264] If the fourth cache group does not contain the second target disk, then check if there is a second association list, wherein the second association list is in the third cache group and contains the second target disk;
[0265] If a second associated list exists, the row number of the second target disk remains unchanged;
[0266] If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable.
[0267] If the second target disk is not the last disk in the second target list, then the second target disk is added to the fourth cache group, and the next disk in the second target list is taken as the new second target disk.
[0268] If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then clear the fourth cache group, add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
[0269] Furthermore, in one embodiment, the single-disk lists corresponding to the forward and reverse routes of the same service are adjacent in the single-disk list set.
[0270] Furthermore, in one embodiment, the coordinate determination module 40 is used for:
[0271] All single disks are deduplicated and sorted by size. The relative x-coordinates of single disks in the signal flow graph are determined according to the sorting of column numbers. The absolute value of the difference between the x-coordinates of two adjacent column numbers in the sorting is fixed.
[0272] All disk row numbers are deduplicated and sorted by size. The relative ordinate of each disk in the signal flow graph is determined based on the row number sorting. The absolute value of the difference between the ordinates of two adjacent row numbers in the size sorting is fixed.
[0273] The functions of each module in the above-mentioned signal flow graph single-disc positioning device correspond to the steps in the above-mentioned signal flow graph single-disc positioning method embodiment, and their functions and implementation processes will not be described in detail here.
[0274] Thirdly, embodiments of this application provide a signal flow graph single-disc positioning device, which can be a device with data processing capabilities such as a personal computer (PC), a laptop, or a server.
[0275] Figure 4 The diagram shows a schematic of the hardware structure of a single-disc positioning device with a signal flow graph involved in an embodiment of this application.
[0276] Reference Figure 4 In this embodiment of the application, the signal flow graph single-disc positioning device may include a processor, a memory, a communication interface, and a communication bus.
[0277] The communication bus can be of any type and is used to interconnect the processor, memory, and communication interface.
[0278] The communication interface includes input / output (I / O) interfaces, physical interfaces, and logical interfaces used for interconnecting components within the signal flow graph single-disc positioning device, as well as interfaces used for interconnecting the signal flow graph single-disc positioning device with other devices (such as other computing devices or user equipment). Physical interfaces can be Ethernet interfaces, fiber optic interfaces, ATM interfaces, etc.; user equipment can be displays, keyboards, etc.
[0279] Memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.
[0280] The processor can be a general-purpose processor, which can call the signal flow graph single-disk positioning program stored in the memory and execute the signal flow graph single-disk positioning method provided in the embodiments of this application. For example, the general-purpose processor can be a central processing unit (CPU). The method executed when the signal flow graph single-disk positioning program is called can be referred to in the various embodiments of the signal flow graph single-disk positioning method of this application, and will not be repeated here.
[0281] Those skilled in the art will understand that Figure 4 The hardware structure shown does not constitute a limitation of this application and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0282] Fourthly, embodiments of this application also provide a readable storage medium.
[0283] The present application has a signal flow graph single disk positioning program stored on a readable storage medium, wherein when the signal flow graph single disk positioning program is executed by a processor, it implements the steps of the signal flow graph single disk positioning method as described above.
[0284] The method implemented when the signal flow graph single-disc positioning program is executed can be referred to in various embodiments of the signal flow graph single-disc positioning method of this application, and will not be repeated here.
[0285] It should be noted that the sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0286] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus. The terms "first," "second," and "third," etc., are used to distinguish different objects, etc., and do not indicate a sequence, nor do they limit "first," "second," and "third" to different types.
[0287] In the description of the embodiments of this application, terms such as "exemplary," "for example," or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary," "for example," or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a concrete manner.
[0288] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more.
[0289] In some processes described in the embodiments of this application, multiple operations or steps are included in a specific order. However, it should be understood that these operations or steps may not be executed in the order they appear in the embodiments of this application, or they may be executed in parallel. The sequence number of the operation is only used to distinguish different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed sequentially or in parallel, and these operations or steps may be combined.
[0290] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device to execute the methods described in the various embodiments of this application.
[0291] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A signal flow graph single-disk positioning method, characterized in that, The signal flow graph single-disk positioning method includes: A set of single disk lists is generated based on multiple service routes. The set of single disk lists contains multiple single disk lists. Each service route corresponds to one single disk list. The order of multiple single disks in each service route is the same as or the reverse of the order of multiple single disks in the corresponding single disk list. The first single disk in different single disk lists is the same, and the last single disk is also the same. The column number of each disk is determined according to the first rule, which includes: if there are no duplicate disks in each disk list, then the column number of each disk is greater than or equal to the maximum value of the serial number of that disk in each disk list; if any two disks appear in the same disk list, then the relationship between the column numbers of these two disks is consistent with the relationship between the serial numbers of these two disks in the disk list. The row number of each disk is determined according to the second rule, which includes: the row number of each disk is within the range of row numbers corresponding to a disk list that contains that disk; the row number ranges corresponding to different disk lists do not overlap. Determine the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks; The step of determining the row number of each disk according to the second rule includes: Initialize the second variable; Use the first single-disk list in the single-disk list set as the second target list; The first single plate in the second target list is designated as the second target single plate; Check if a second associated list exists, wherein the second associated list is in the third cache group and contains the second target disk; If a second associated list exists, the row number of the second target disk remains unchanged; If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable. If the second target single plate is not the last single plate in the second target list, then the next single plate in the second target list will be the new second target single plate. If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
2. The signal flow graph single-disk positioning method as described in claim 1, characterized in that, The step of determining the column number of each single disk according to the first rule includes: Use the first single disk list in the single disk list set as the first target list; Initialize the first variable; The first single plate in the first target list is designated as the first target single plate; Add the first step length to the first variable; Check if a first associated list exists, wherein the first associated list is in the first cache group and contains the first target disk; If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk. If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value. If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable; If the first target single plate is not the last single plate in the first target list, then the next single plate in the first target list will be the new first target single plate; If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then the first target list is added to the first cache group, and the next disk list in the disk list set is used as the new first target list.
3. The signal flow graph single-disk positioning method as described in claim 1, characterized in that, Forward and reverse routes for the same service have adjacent single-disk lists in the single-disk list set.
4. The signal flow graph single-disk positioning method according to any one of claims 1 to 3, characterized in that, The step of determining the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks includes: All single disks are deduplicated and sorted by size. The relative x-coordinates of single disks in the signal flow graph are determined according to the sorting of column numbers. The absolute value of the difference between the x-coordinates of two adjacent column numbers in the sorting is fixed. All disk row numbers are deduplicated and sorted by size. The relative ordinate of each disk in the signal flow graph is determined based on the row number sorting. The absolute value of the difference between the ordinates of two adjacent row numbers in the size sorting is fixed.
5. A signal flow graph single-disk positioning method, characterized in that, The signal flow graph single-disk positioning method includes: A set of single disk lists is generated based on multiple service routes. The set of single disk lists contains multiple single disk lists. Each service route corresponds to one single disk list. The order of multiple single disks in each service route is the same as or the reverse of the order of multiple single disks in the corresponding single disk list. The first single disk in different single disk lists is the same, and the last single disk is also the same. The column number of each disk is determined according to the first rule, which includes: if there are no duplicate disks in each disk list, then the column number of each disk is greater than or equal to the maximum value of the serial number of that disk in each disk list; if any two disks appear in the same disk list, then the relationship between the column numbers of these two disks is consistent with the relationship between the serial numbers of these two disks in the disk list. The row number of each disk is determined according to the second rule, which includes: the row number of each disk is within the range of row numbers corresponding to a disk list that contains that disk; the row number ranges corresponding to different disk lists do not overlap. Determine the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks; The step of determining the row number of each disk according to the second rule includes: Initialize the second variable; Use the first single-disk list in the single-disk list set as the second target list; The first single plate in the second target list is designated as the second target single plate; Check if the fourth cache group contains the second target disk; If the fourth cache group contains the second target disk, then keep the row number of the second target disk unchanged, take the disk between the last occurrence position of the second target disk in the second target list and the current position as the second associated disk, and subtract the third step length from the row number of the second associated disk, where the third step length is less than the second step length. If the fourth cache group does not contain the second target disk, then check if there is a second association list, wherein the second association list is in the third cache group and contains the second target disk; If a second associated list exists, the row number of the second target disk remains unchanged; If a second associated list does not exist, the row number of the second target disk will be assigned to the second variable. If the second target disk is not the last disk in the second target list, then the second target disk is added to the fourth cache group, and the next disk in the second target list is taken as the new second target disk. If the second target disk is the last disk in the second target list, and the second target list is not the last disk list in the disk list set, then clear the fourth cache group, add the second target list to the third cache group, take the next disk list in the disk list set as the new second target list, and add the second step size to the second variable.
6. The signal flow graph single-disk positioning method as described in claim 5, characterized in that, The step of determining the column number of each single disk according to the first rule includes: Use the first single disk list in the single disk list set as the first target list; Initialize the first variable; The first single plate in the first target list is designated as the first target single plate; Add the first step length to the first variable; Check if the second cache group contains the first target disk; If the second cache group contains the first target disk, then keep the column number of the first target disk unchanged and reduce the first variable by the first step length; If the second cache group does not contain the first target disk, then check if there is a first association list, wherein the first association list is in the first cache group and contains the first target disk; If a first associated list exists, and the first variable is less than or equal to the column number of the first target disk, then keep the column number of the first target disk unchanged and assign the first variable the value of the column number of the first target disk. If a first association list exists and the first variable is greater than the column number of the first target disk, then the disk located after the first target disk in each first association list is taken as the first associated disk, the difference between the first variable and the column number of the first target disk is taken as the column number adjustment value, and the column numbers of the first target disk and the first associated disk are added together with the column number adjustment value. If the first associated list does not exist, then the column number of the first target disk is assigned to the first variable; If the first target disk is not the last disk in the first target list, then the first target disk is added to the second cache group, and the next disk in the first target list is taken as the new first target disk. If the first target disk is the last disk in the first target list, and the first target list is not the last disk list in the disk list set, then clear the second cache group, add the first target list to the first cache group, and use the next disk list in the disk list set as the new first target list.
7. The signal flow graph single-disk positioning method as described in claim 5, characterized in that, Forward and reverse routes for the same service have adjacent single-disk lists in the single-disk list set.
8. The signal flow graph single-disk positioning method according to any one of claims 5 to 7, characterized in that, The step of determining the relative coordinates of different individual disks in the signal flow graph based on the column and row numbers of all individual disks includes: All single disks are deduplicated and sorted by size. The relative x-coordinates of single disks in the signal flow graph are determined according to the sorting of column numbers. The absolute value of the difference between the x-coordinates of two adjacent column numbers in the sorting is fixed. All disk row numbers are deduplicated and sorted by size. The relative ordinate of each disk in the signal flow graph is determined based on the row number sorting. The absolute value of the difference between the ordinates of two adjacent row numbers in the size sorting is fixed.
9. A signal flow graph single-disc positioning device, characterized in that, The signal flow graph single-disc positioning device includes modules for implementing the various steps of the signal flow graph single-disc positioning method according to any one of claims 1 to 8.
10. A signal flow graph single-disc positioning device, characterized in that, The signal flow graph single-disc positioning device includes a processor, a memory, and a signal flow graph single-disc positioning program stored in the memory and executable by the processor, wherein when the signal flow graph single-disc positioning program is executed by the processor, it implements the steps of the signal flow graph single-disc positioning method as described in any one of claims 1 to 8.
11. A readable storage medium, characterized in that, The readable storage medium stores a signal flow graph single-disk positioning program, wherein when the signal flow graph single-disk positioning program is executed by a processor, it implements the steps of the signal flow graph single-disk positioning method as described in any one of claims 1 to 8.