A Preference G-Skyline Query Method

Through the preferred G-Skyline query method based on pre-sorting and depth-first search, the existing algorithms' problems in index duplicate construction, redundant candidate tuples and large number of candidate groups are solved, and a fast and efficient preferred G-Skyline group query is achieved.

CN119557345BActive Publication Date: 2025-04-11HARBIN INST OF TECH AT WEIHAI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510121405.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-26
Publication Date
2025-04-11
Estimated Expiration
2045-01-26

AI Technical Summary

Technical Problem

The existing preference G-Skyline query algorithm cannot quickly and efficiently obtain preferred G-Skyline groups because it requires repeated index construction, redundant candidate tuples, and generation of a large number of candidate groups, and is difficult to apply to practical application scenarios.

Method used

A preferred G-Skyline query method based on pre-sorting and depth-first search is proposed. Candidate tuples are filtered through pre-sorting tables, redundant candidate tuples are eliminated using the shear theorem, and the depth-first search idea is used to generate preferred G-Skyline groups.

Benefits of technology

It realizes the rapid acquisition of preferred G-Skyline group results, avoids the overhead of multiple index construction, reduces the number of candidate tuples and the number of candidate groups generated, and significantly improves query efficiency and generation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557345B_ABST
    Figure CN119557345B_ABST
Patent Text Reader

Abstract

The present invention belongs to the technical field of data query, and relates to a preferential G-Skyline query method. The method comprises three steps: (1) obtaining preliminary candidate tuples: scanning the pre-sorted table PT to screen and obtain all candidate tuples constituting the G-Skyline group; (2) obtaining simplified candidate tuples: based on the preference tuple specified by the user, eliminating redundant candidate tuples to obtain simplified candidate tuples; (3) obtaining preferential G-Skyline groups: obtaining preferential G-Skyline groups based on the preference tuples and simplified candidate tuples. When obtaining candidate tuples, the present invention obtains preliminary candidate tuples based on the properties of G-Skyline, and then uses the shear theorem to eliminate redundant candidate tuples, thereby reducing the number of candidate tuples; when obtaining preferential G-Skyline groups, the preference tuples are fully utilized, and the depth-first search concept is adopted, so that the number of generated candidate groups is greatly reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of data query and relates to a preference G-Skyline query method. Background Art

[0002] Skyline query can obtain the Pareto optimal tuple in the data set, that is, the tuple that is not dominated by any other tuple. It plays an important role in multi-objective decision-making and other fields and has attracted widespread attention in the industry. , , we compare their property combinations, which are called skyline criteria. Each attribute in the skyline criteria is no better than and at least one of the attributes is better than If Dominate However, skyline queries can only return a single data tuple, while in actual application scenarios, it is often necessary to obtain a group result composed of multiple tuples. This has led to the study and exploration of the skyline group problem, which aims to obtain the optimal result of a combination of a fixed number of tuples.

[0003] An important variant of Skyline is Group-based Skyline, or G-Skyline, which aims to obtain all group results that are not dominated by other groups. Finding the best group of data points in a given set of data points is very important in many applications of calculating the best group of data points. The key to the G-Skyline problem lies in its definition of group dominance: for two groups of the same size, , , there exists a permutation such that Every tuple in is no greater than The tuples in are poorly behaved, and at least one of them dominates The tuple in is called Dominate . The G-Skyline query returns all G-Skyline groups to the user, and there is no superiority or inferiority relationship between the various G-Skyline groups. However, in actual application scenarios, users often expect some specified tuples to be in the G-Skyline results. In order to meet this preference demand of users, the preference G-Skyline query is proposed to provide users with G-Skyline groups containing their specified preference tuples. For example, when the conference organizer wants to select 3 hotels and expects its partner Hotel 1 to appear in the optimized group results, the preference G-Skyline query returns all G-Skyline group results with a group size of 3 and containing Hotel 1. These G-Skyline groups are called preference G-Skyline groups.

[0004] The existing preference G-Skyline query algorithm cannot meet the requirements of quickly and efficiently obtaining preference G-Skyline groups, and is difficult to apply to practical application scenarios due to the three shortcomings of repeated index construction, redundant candidate tuples, and the generation of a large number of candidate groups. Summary of the invention

[0005] Aiming at the three shortcomings of the existing preferential G-Skyline query algorithm, namely, the need to repeatedly construct indexes, the existence of redundant candidate tuples and the generation of a large number of candidate groups, the present invention proposes an efficient preferential G-Skyline query method based on the idea of ​​pre-sorting and depth-first search.

[0006] The preferred G-Skyline query method proposed in the present invention includes three steps: (1) finding preliminary candidate tuples: scanning the pre-sorted table to screen and obtain all candidate tuples constituting the G-Skyline group; (2) Calculating a streamlined candidate tuple: Based on the preference tuple specified by the user, redundant candidate tuples are eliminated to obtain a streamlined candidate tuple; (3) Calculating a preferred G-Skyline group: Based on the preference tuple and the streamlined candidate tuple, a preferred G-Skyline group is obtained; wherein, the method of calculating a streamlined candidate tuple is to enumerate all non-skyline tuples in the current candidate tuple, and use the first cut theorem to determine whether the current candidate tuple is redundant; if the current candidate tuple is redundant, it is eliminated to obtain a streamlined candidate tuple; the first cut theorem is: when the group size is s, if the maximum skyline layer where the tuple in the preference group PreG is located is the max-th skyline layer, then the number of skyline layers where the streamlined candidate tuple is located must not be greater than max+s-|PreG|; |PreG| is the dimension of the preference group, indicating its size; max represents the maximum number of layers where the tuple in the preference group is located.

[0007] Preferably, in the process of seeking to streamline candidate tuples, for candidate tuples that do not satisfy the first cut theorem, the second cut theorem is used to make a judgment: for a preliminary candidate tuple, the set of all tuples that dominate the preliminary candidate tuple is called its parent set; if the preliminary candidate tuple is not redundant, the size of the difference between its parent set and the preference group must not be greater than s-|PreG|-1.

[0008] Preferably, the specific process of obtaining the preliminary candidate tuples is: sequentially scanning the data tuples in the pre-sorted table, determining whether the current data tuple is a candidate tuple constituting the G-Skyline group, and if so, adding it to the candidate tuple set; until all data tuples are scanned or the early termination condition is met.

[0009] Preferably, determining whether the current data tuple is a preliminary candidate tuple is specifically as follows: comparing the current data tuple with all candidate tuples; if the current tuple is dominated by more than s-1 tuples, the tuple is definitely not a candidate tuple and does not appear in the candidate tuple set.

[0010] Preferably, the early termination condition for finding preliminary candidate tuples is as follows: when scanning the pre-sorted table, a maximum heap MH of size s is maintained, where s is the group size of the preferred G-Skyline to be found, and the heap stores the candidate tuple with the current maximum MRN, and MRN is used as the key of the maximum heap MH. If the maximum heap MH has stored s elements, and the key of MH (the maximum value of the MRN of the tuples therein) does not exceed the MPI (the minimum value of each attribute sorting) of the currently scanned tuple, it proves that the currently scanned tuple is dominated by the s data tuples in MH, and therefore the current tuple must not be a candidate tuple. In addition, since the MPI of the tuples in the pre-sorted table is increasing, the subsequent data tuples must not be candidate tuples either, and the process of finding candidate tuples can be terminated early.

[0011] Preferably, the depth-first search idea is adopted in the process of obtaining the preferred G-Skyline group, specifically: the preference group is obtained based on the preference tuple, and the preference group is used as the root node of the set enumeration tree; the streamlined candidate tuples are sorted from large to small according to the size of their parent set, and the candidate groups are generated by traversing and enumerating in sequence; for each candidate tuple, the tuple itself and its parent set are added to the current candidate group to generate a new candidate group, if the group size of the candidate group is s, it is reported as the preferred G-Skyline group, if the group size of the candidate group is less than s, the subsequent candidate tuples are used to continue to expand.

[0012] According to the above technical solution, the beneficial effects of the present invention are as follows:

[0013] (1) Based on the idea of ​​pre-sorting and depth-first search, a preference G-Skyline query method named PGSP is proposed, which can quickly obtain the preference G-Skyline group results;

[0014] (2) Using the pre-sorted table as the index structure, it only needs to be built once and can be applied to all attribute combination scenarios, avoiding the overhead of building indexes multiple times;

[0015] (3) When seeking candidate tuples, preliminary candidate tuples are obtained based on the properties of preference tuples and G-Skyline, and then redundant candidate tuples are eliminated using the cut theorem, thus reducing the number of candidate tuples.

[0016] (4) When finding the preferred G-Skyline group, the preference tuple is fully utilized and a set enumeration tree based on the depth-first search idea is designed, which greatly reduces the number of generated candidate groups. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 Construct a schematic diagram for the pre-sorted table PT;

[0018] Figure 2 Schematic diagram of the process of seeking preliminary candidate tuples; where PT is the pre-sorted table; CT is the candidate tuple set; MH is the maximum heap;

[0019] Figure 3 Schematic diagram of the process of candidate tuples for simplification;

[0020] Figure 4 In order to seek preference for the example graph of the G-Skyline group;

[0021] Figure 5 The experimental results of the influence of various parameters on query time on the relevant distribution data set are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0022] Figure 6 The experimental results of the effects of various parameters on the generation efficiency on the related distribution data set are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0023] Figure 7 The experimental results of the impact of various parameters on query time on an independently distributed data set are shown in Figure 1. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0024] Figure 8 The experimental results of the effects of various parameters on the generation efficiency on an independently distributed data set are shown in Figure 1. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0025] Fig. 9 The experimental results of the influence of various parameters on query time on the anti-correlated distribution data set are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0026] Fig.10 The experimental results of the effects of various parameters on the generation efficiency on the anti-correlated distribution data set are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|.

[0027] Fig.11 The experimental results of the influence of various parameters on query time on the HIGGS dataset are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0028] Fig.12 The experimental results of the effects of various parameters on the generation efficiency on the HIGGS dataset are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|.

[0029] Fig.13 The experimental results of the influence of various parameters on query time on the HEPMASS dataset are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; (d) is the number of preference tuples |UP|;

[0030] Fig.14 The experimental results of the influence of various parameters on the generation efficiency on the HEPMASS dataset are shown in Figure 2. (a) is the data size n; (b) is the data dimension |SC|; (c) is the group size s; and (d) is the number of preference tuples |UP|. DETAILED DESCRIPTION

[0031] The preferred G-Skyline query method proposed in the present invention is referred to as the PGSP algorithm. The PGSP algorithm is applicable to scenarios where users need to obtain optimized groups containing their preferred tuples. For example, a conference organizer needs to select multiple hotels to hold a large conference, and it hopes that the cooperative hotels must appear in the recommended hotel combination. The PGSP algorithm will provide all G-Skyline groups containing cooperative hotels. These G-Skyline groups are called preferred G-Skyline groups. The PGSP algorithm is mainly divided into three steps: (1) Finding preliminary candidate tuples: Scan the pre-sorted table PT to screen and obtain all candidate tuples that make up the G-Skyline group, in preparation for the generation of the preferred G-Skyline group; (2) Finding simplified candidate tuples: Based on the user-specified preference tuples, redundant candidate tuples are eliminated to obtain simplified candidate tuples; (3) Finding preferred G-Skyline groups: Based on the preference tuples and the simplified candidate tuples, the preferred G-Skyline groups are obtained as the return result of the PGSP algorithm.

[0032] 1. Data preprocessing: read data and build a pre-sorted table PT

[0033] The pre-sorted table PT is a data structure that sorts the data set to be queried by the user according to its attribute values ​​and then recombines them. It can be used to obtain candidate tuples that constitute the G-Skyline, and only needs to be constructed once to be applied to various attribute combination scenarios. For a d-dimensional data set P containing n tuples, the pre-sorted table PT can be regarded as a combination of d sorted sets of size n. There are n rows and d + 3 columns, where each row represents a tuple p in the data set P. List( ) are the first property( ), the value of MPI in the first column is the minimum value of the ranking number of each attribute value in this row, the value of MRN in the second column is the maximum value of the ranking number of each attribute value in this row, and the value of The value of is the position of the row representing the data tuple in the data set P.

[0034] In the hotel dataset D1 containing 10 2-dimensional tuples The process of constructing the pre-sort table PT is as follows Figure 1 As shown, each tuple in the dataset D1 represents a hotel: the i-th column in D ( ) are the values ​​of the i-th attribute of the tuple, and there is an implicit attribute is the position of each tuple in D. For each column ( ) are sorted in ascending order separately to obtain , Columns in The value of corresponds to the position of the tuple in the data set D, and There are also implicit properties For each tuple in Position in. according to Sort the values ​​in ascending order Finally, Merge to get the pre-sorted table , where the value of the first column of MPI is the value of the tuple corresponding to The minimum value of ; The value of the second column MRN is the value corresponding to the tuple The maximum value of Hotel 2 is marked here to describe the construction process of the pre-ranking table PT in more detail. The two attributes of Hotel 2 are ranked 3rd and 2nd among all hotels, namely and .therefore, and . Finally, the hotel 2 in the pre-sorted table PT is (2, 3, 2, 4, 2).

[0035] 2. Find preliminary candidate tuples: Scan the pre-sorted table PT to filter out all the candidate tuples that make up the G-Skyline group

[0036] The specific process of finding preliminary candidate tuples is to scan the data tuples in the pre-sorted table in turn, determine whether the current data tuple is a preliminary candidate tuple, and if so, add it to the candidate tuple set. Until all data tuples are scanned or the early termination condition is met. According to the verification theorem of G-Skyline, if a G-Skyline group with a group size of s is required, then the candidate tuples that make up the G-Skyline are dominated by at most s-1 tuples. Compare the current data tuple with all candidate tuples. If the current tuple is dominated by more than s-1 tuples, the tuple must not be a preliminary candidate tuple and does not appear in the candidate tuple set. In addition, if the candidate tuple is dominated by more than s-1 tuples in the subsequent scanning process, it will also be eliminated from the candidate tuple set. The candidate tuple set stores the data tuples that may form the G-Skyline group and the dominance relationship between them. When scanning the pre-sorted table, a maximum heap MH of size s is maintained, which stores the candidate tuple with the largest current MRN and MRN is used as the key of the maximum heap MH. If the maximum heap MH has stored s elements, and the key of MH (the maximum value of the MRN of the tuples in it) does not exceed the MPI (the minimum value of each attribute sort) of the current scanned tuple, it proves that the current scanned tuple is dominated by the s data tuples in MH, so the current tuple must not be a candidate tuple. In addition, since the MPI of the pre-sorted table tuples is increasing, the subsequent data tuples must not be candidate tuples either, and the process of finding candidate tuples can be terminated early.

[0037] When the group size s of the G-Skyline group is 3, Figure 1 The process of finding candidate tuples on the pre-sorted table PT is as follows: Figure 2 As shown, the red part represents the place where there is a change each time. Among them, the first column is the tuple currently scanned in the pre-sorted table PT, the candidate tuple set CP in the second column and the current maximum heap MH in the third column are initialized to empty. First, PT(1), PT(2) and PT(3) are directly added to CP and MH; for PT(4), because PT(1) dominates PT(4), PT(1) is added to the parent set PT(4):P() of PT(4). For PT(5), because PT(2) and PT(3) dominate PT(5), PT(2) and PT(3) are added to the parent set PT(5):P() of PT(5); the MRN of PT(5) is 7, which is less than MH.max=8, so after removing the root tuple PT(1) of MH, PT(5) is added to MH, and MH.max=7 is updated. Scan the tuples in sequence. When scanning PT(9), , the early termination condition is met, the iteration is terminated, and all preliminary candidate tuples have been obtained. In the first column, the tuples are sorted in ascending order by MPI value (the red part in the figure), and this value needs to be compared with the red value in the third column MH. Each row in the second column is the current candidate tuple situation; the red parts in the second and third columns indicate changes compared to the previous ones.

[0038] 3. Seek streamlined candidate tuples: Based on the user-specified preference tuples, remove redundant candidate tuples to obtain streamlined candidate tuples

[0039] Arrange the preliminary candidate tuples according to the skyline layer. When the group size is s, the preliminary candidate tuples must all be in the first s skyline layers. The first skyline layer is the skyline tuple of the data set. After removing the tuples in the first skyline layer of the data set, the second skyline layer is the skyline tuple of the data set at this time. Similarly, the s-th skyline layer is the skyline tuple corresponding to the original data set after removing the tuples in the 1st to s-1th skyline layers.

[0040] After the user specifies the preference tuple UP, if UP is in the preference G-Skyline group, then the tuple that dominates UP must also be in the preference G-Skyline group, so the preference group PreG must be in the preference G-Skyline group. The preference group PreG contains the preference tuple and all the tuples that dominate the preference tuple.

[0041] Because all the skyline tuples must be simplified candidate tuples, we only need to scan the tuples in the 2nd to sth skyline layers to determine whether they are redundant candidate tuples. Specifically, for the currently scanned tuple, determine whether it meets the first cut theorem and the second cut theorem. The first cut theorem is: if the maximum skyline layer where the tuples in the preference group PreG are located is the maxth skyline layer (1≤max≤s, max represents the maximum number of layers where the tuples in PreG are located, for example, there are s layers in total, assuming that the tuples in PreG are in the 1st and 2nd layers, then max is 2), then the number of layers in the skyline layer where the simplified candidate tuples are located must not be greater than max+s-|PreG|. The second cut theorem is: for a preliminary candidate tuple t, the set of all tuples that dominate t is called the parent set P(t) of tuple t. If the preliminary candidate tuple t is not redundant, the size of the difference between its parent set P(t) and the preference group PreG must not be greater than s-|PreG|-1. After scanning the preliminary candidate tuples, all the retained tuples are the simplified candidate tuples.

[0042] for Figure 2The preliminary candidate tuples obtained are Figure 3 The process of finding candidate tuples for simplification is shown. Figure 2 Each tuple PT(i) in i . Therefore, the first layer must be a streamlined candidate tuple, so we only need to scan the second and third layers. For tuple t4 in the second layer, the size of the difference between its parent set and the preference group PreG is 1, which is greater than s-|PreG|-1=0, so according to Cut Theorem 2, it is not a streamlined candidate tuple. According to the first cut theorem, since both tuples of the preference group PreG are all located in the first skyline layer and the group size is 3, the streamlined candidate tuples must be located only in the first two layers, so all tuples in the third layer are not streamlined candidate tuples. The final streamlined candidate tuples are t1, t5 and t6.

[0043] 4. Finding the preferred G-Skyline group: Based on the preference tuple and the simplified candidate tuple, find the preferred G-Skyline group in the set enumeration tree with the depth-first search idea

[0044] The PGSP algorithm generates the preferred G-Skyline group using a set enumeration tree based on the depth-first search idea. First, the preference group PreG is obtained based on the preference tuple, and the preference group PreG is used as the root node of the set enumeration tree. In order to generate the preferred G-Skyline group as quickly as possible, PGSP sorts the streamlined candidate tuples from large to small according to the size of their parent set, and traverses and enumerates them in turn to generate the candidate group. In addition, for each candidate tuple, PGSP does not add only the candidate tuple itself to the candidate group each time, but adds the candidate tuple and its parent set to the candidate group to generate a new candidate group. For the newly generated candidate group, if the group size of the candidate group is s, it is reported as a preferred G-Skyline group. If the group size of the candidate group is less than s, it is continued to expand using subsequent candidate tuples based on the depth-first search idea.

[0045] An example of finding a preference G-Skyline group with a group size of 3 is Figure 4 As shown. First, because the two preference tuples t2 and t3 are both skyline tuples, the corresponding preference group PreG is also {t2, t3}. Then, the streamlined candidate tuples are sorted, and they are {t5, t6, t1} after being sorted in descending order according to the parent set size. Take PreG as the root node of the set enumeration tree, and scan the candidate tuples in turn to generate candidate groups. For each candidate tuple, a preference G-Skyline group with a group size of 3 can be generated here. Therefore, the preference G-Skyline groups finally returned by the PGSP algorithm are EG1, EG2, and EG3.

[0046] V. Algorithm Performance Evaluation

[0047] In order to verify the performance advantages of the algorithm proposed in the present invention, the present invention conducted multiple groups of experiments on synthetic datasets and real datasets.

[0048] Experimental equipment: DELL Vostro3681 (Intel(R) Core(TM) i7-10700 CPU @2.90 GHz (8cores) + 64G memory + 64-bit Windows 11 + JDK1.8 + IntelliJ IDEA 2022.1.4).

[0049] Dataset: The dataset information used in the experiment is shown in Table 1. The synthetic dataset contains three data distributions: independent distribution (INDE), correlated distribution (CORR), and anti-correlated distribution (ANTI). The real datasets include the HIGGS dataset and the HEPMASS dataset, both of which are from the UCI open source repository (https: / / archive.ics.uci.edu). The dataset information is shown in Table 1.

[0050] The experiment mainly evaluates the performance from the following aspects: data scale n, data dimension |SC|, G-Skyline group size s, and number of preference tuples |UP|. The specific setting information of the above parameters is shown in Table 2.

[0051] Table 1 Dataset information table

[0052] name Data size Dimensions INDE <![CDATA[10 7 ]]> 6 CORR <![CDATA[10 7 ]]> 6 ANTI <![CDATA[10 7 ]]> 6 HIGGS <![CDATA[1.1×10 7 ]]> 28 HEPMASS <![CDATA[7×10 6 ]]> 27 .

[0053] Table 2 Experimental parameter settings

[0054] parameter Value default value <![CDATA[Data scale n (10 4 )]]> 0.1-1000 1 Data Dimensions |SC| 2-6 4 Group size 4-8 6 Number of preference tuples |UP| 2-5 2 .

[0055] Two algorithms were tested in the experiment: PGSP algorithm and GCQ algorithm, wherein the PGSP algorithm is the algorithm proposed by the present invention, and the GCQ algorithm is the existing preference G-Skyline query algorithm with the best performance.

[0056] According to the above data sets and parameters, the present invention sets up time performance experiments and generation efficiency experiments on each data set, namely (1) time performance: the impact of data scale n, data dimension |SC|, group size s, and number of preference tuples |UP| on query time. The experimental results are shown in the figure. Figure 5 , Figure 7 , Fig. 9 , Fig.11 , Fig.13As shown in Figure 2; (2) Generation efficiency: the impact of data size n, data dimension |SC|, group size s, and number of preference tuples |UP| on generation efficiency. Here, generation efficiency is the ratio of the number of preference G-Skyline groups to the number of candidate groups generated by the algorithm. The higher this ratio is, the better the performance of the algorithm is. The experimental results are shown in Figure 2. Figure 6 , Figure 8 , Fig.10 , Fig.12 , Fig.14 shown.

[0057] The time performance of the algorithm under different data scales n is evaluated on the dataset. The experimental results are as follows Figure 5 Middle (a), Figure 7 Middle (a), Fig. 9 Middle (a), Fig.11 Middle (a), Fig.13 As shown in (a) in the figure. Overall, the running time of each algorithm increases with the increase of data size n, because the tuples of skylines in the data set are getting larger and larger. Therefore, the number of corresponding G-Skyline groups and preferred G-Skyline groups is also increasing. However, the running time of the PGSP algorithm increases slowly, and it often has an order of magnitude time performance advantage over the GCQ algorithm.

[0058] The time performance of the algorithm under different data dimensions |SC| is evaluated on the dataset. The experimental results are as follows Figure 5 Middle (b), Figure 7 Middle (b), Fig. 9 Middle (b), Fig.11 Middle (b), Fig.13 As shown in (b). As the data dimension increases, the running time of the GCQ algorithm increases significantly, because the number of G-Skyline groups in the dataset changes exponentially with the data dimension. Although the running time of the PGSP algorithm also increases, its growth trend is significantly slower. Compared with the GCQ algorithm, the PGSP algorithm shows a performance advantage of more than one order of magnitude when |SC| is large.

[0059] The time performance of the algorithm under different group sizes s is evaluated on the dataset. The experimental results are as follows Figure 5 Middle (c), Figure 7 Middle (c), Fig. 9 Middle (c), Fig.11 Middle (c), Fig.13As shown in (c). As the group size increases, the running time of the GCQ algorithm increases significantly, because the number of candidate groups it generates changes exponentially with the group size. The PGSP algorithm always performs well, because the cut theorem and depth-first search idea of ​​the present invention avoid generating a large number of candidate groups. When the group size is large, the PGSP algorithm shows a significant performance advantage, often with an order of magnitude of time performance advantage.

[0060] The time performance of the algorithm under different preference tuple numbers |UP| is evaluated on the dataset. The experimental results are as follows Figure 5 Middle (d), Figure 7 Middle (d), Fig. 9 Middle (d), Fig.11 Middle (d), Fig.13 As shown in (d) in the figure, as the number of preference tuples |UP| increases, the running time of each algorithm gradually decreases. This is because the more preference tuples there are, the fewer candidate tuples the algorithm needs to add to them, which is equivalent to reducing the group size s. The PGSP algorithm also consistently shows better time performance than the GCQ algorithm, especially when the number of preference tuples |UP| is small, which is consistent with the experimental results with the group size s as a parameter.

[0061] The generation efficiency of the algorithm under different data scales n is evaluated on the dataset. The experimental results are as follows Figure 6 Middle (a), Figure 8 Middle (a), Fig.10 Middle (a), Fig.12 Middle (a), Fig.14 As shown in (a). Overall, the generation efficiency of the algorithm has no obvious relationship with the data size n. However, the generation efficiency of the GCQ algorithm is always low, generally in the range of 0.2-0.4, while the generation efficiency of the PGSP algorithm is basically higher than 0.95.

[0062] The generation efficiency of the algorithm under different data dimensions |SC| is evaluated on the dataset. The experimental results are as follows Figure 6 Middle (b), Figure 8 Middle (b), Fig.10 Middle (b), Fig.12 Middle (b), Fig.14As shown in (b). As the data dimension increases, the generation efficiency of the GCQ algorithm does not change much, because the number of preferred G-Skyline groups and their generated candidate groups is growing exponentially, but its generation efficiency is often only in the low range of 0.2-0.4. The generation efficiency of the PGSP algorithm is basically above 0.9, showing a clear advantage. Only when the data dimension |SC| is equal to 2, the generation efficiency of the PGSP algorithm is generally less than 0.8. This is because there are fewer dominating relationships between candidate tuples at this time, which is not conducive to depth-first search, but its generation efficiency is still significantly higher than that of the GCQ algorithm.

[0063] The generation efficiency of the algorithm under different group sizes s is evaluated on the dataset. The experimental results are as follows Figure 6 Middle (c), Figure 8 Middle (c), Fig.10 Middle (c), Fig.12 Middle (c), Fig.14 As shown in (c). As the group size increases, the generation efficiency of the GCQ algorithm gradually decreases. This is because the number of generated candidate groups increases significantly, and the difficulty of obtaining the preferred G-Skyline group also increases. However, the generation efficiency of the PGSP algorithm is not significantly affected, and it always shows a high level above 0.9, which has a significant advantage over the GCQ algorithm. This is because the PGSP algorithm contains more streamlined candidate tuples, and quickly generates preferred G-Skyline groups based on the depth-first search idea, avoiding the enumeration of a large number of candidate groups.

[0064] The generation efficiency of the algorithm under different preference tuple numbers |UP| is evaluated on the dataset. The experimental results are as follows Figure 6 Middle (d), Figure 8 Middle (d), Fig.10 Middle (d), Fig.12 Middle (d), Fig.14 As shown in (d) in the figure, as the number of preference tuples |UP| increases, the generation efficiency of the GCQ algorithm increases, because the difficulty of generating preference G-Skyline groups gradually decreases. However, the generation efficiency of the PGSP algorithm is still higher than that of the GCQ algorithm, and usually remains at a high level above 0.93.

[0065] In summary, in terms of time performance, the PGSP algorithm always has a significant performance advantage over the comparison algorithm. Especially when the parameters such as data scale, data dimension, group size, etc. are large, the PGSP algorithm often has an advantage of more than 1 order of magnitude in time. In terms of generation efficiency, the generation efficiency of the PGSP algorithm is also always better than the comparison algorithm. And the generation efficiency of the PGSP algorithm is basically not affected by the experimental parameters. In most cases, its generation efficiency exceeds 0.9. In summary, the PGSP algorithm can efficiently and quickly return the preferred G-Skyline group results, which can meet the user's demand for preference optimization groups.

Claims

1. A preference G-Skyline query algorithm, characterized in that: The method comprises three steps: (1) obtaining preliminary candidate tuples: scanning the pre-sorted table PT to screen all candidate tuples constituting the G-Skyline group; (2) obtaining simplified candidate tuples: based on the preference tuples specified by the user, eliminating redundant candidate tuples to obtain simplified candidate tuples; (3) obtaining preferred G-Skyline groups: obtaining preferred G-Skyline groups based on the preference tuples and simplified candidate tuples; wherein, the simplified candidate tuples are specifically obtained by enumerating all non-skyline tuples in the current candidate tuples, and using the first cut theorem to determine whether the current candidate tuple is redundant; if the current candidate tuple is redundant, it is eliminated to obtain simplified candidate tuples; the first cut theorem is: when the group size is s, if the maximum skyline layer where the tuples in the preference group are located is the max-th skyline layer, then the number of layers in the skyline layer where the simplified candidate tuples are located must not be greater than max+s-|PreG|; |PreG| is the dimension of the preference group, indicating its size; max Represents the maximum number of layers where the tuples in the preference group are located; the specific process of obtaining the preliminary candidate tuples is to scan the data tuples in the pre-sorted table in sequence, determine whether the current data tuple is a candidate tuple that constitutes the G-Skyline group, and if so, add it to the candidate tuple set; until all data tuples are scanned or the early termination condition is met; the early termination condition is specifically: when scanning the pre-sorted table, a maximum heap MH of size s is maintained, s is the group size of the preferred G-Skyline to be obtained, the heap stores the candidate tuple with the current maximum MRN and MRN is used as the key of the maximum heap MH; if the maximum heap MH has stored s elements, and the key of MH does not exceed the MPI of the current scanned tuple, and the minimum value of each attribute ranking of MPI, it is proved that the current scanned tuple is dominated by the s data tuples in MH, so the current tuple must not be a candidate tuple; MH is the maximum value of the MRN of the tuples within it; MPI is the minimum value of each attribute ranking.

2. The preference G-Skyline query algorithm according to claim 1, characterized in that: In the process of seeking to streamline candidate tuples, for candidate tuples that do not satisfy the first cut theorem, the second cut theorem is used to make a judgment: for a preliminary candidate tuple, the set of all tuples that dominate the preliminary candidate tuple is called its parent set; if the preliminary candidate tuple is not redundant, the size of the difference between its parent set and the preference group must not be greater than s-|PreG|-1.

3. The preference G-Skyline query algorithm according to claim 1, characterized in that: The depth-first search idea is adopted in the process of finding the preferred G-Skyline group, specifically: the preference group is obtained based on the preference tuple, and the preference group is used as the root node of the set enumeration tree; the streamlined candidate tuples are sorted from large to small according to the size of their parent set, and the candidate groups are generated by traversing and enumerating in sequence; for each candidate tuple, the tuple itself and its parent set are added to the current candidate group to generate a new candidate group. If the group size of the candidate group is s, it is reported as the preferred G-Skyline group. If the group size of the candidate group is less than s, the subsequent candidate tuples are used to continue to expand.

Citation Information

Patent Citations

  • Skyline query method orienting to probability data flow

    CN103150326A

  • Systems, articles and methods of preference filtering for database queries

    US20080319964A1