CN105573843A - Data processing method and system - Google Patents

Data processing method and system Download PDF

Info

Publication number
CN105573843A
CN105573843A CN201510971293.2A CN201510971293A CN105573843A CN 105573843 A CN105573843 A CN 105573843A CN 201510971293 A CN201510971293 A CN 201510971293A CN 105573843 A CN105573843 A CN 105573843A
Authority
CN
China
Prior art keywords
group
data
subdata
pending data
subdata group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510971293.2A
Other languages
Chinese (zh)
Other versions
CN105573843B (en
Inventor
李宝魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
GigaDevice Semiconductor Beijing Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GigaDevice Semiconductor Beijing Inc filed Critical GigaDevice Semiconductor Beijing Inc
Priority to CN201510971293.2A priority Critical patent/CN105573843B/en
Publication of CN105573843A publication Critical patent/CN105573843A/en
Application granted granted Critical
Publication of CN105573843B publication Critical patent/CN105573843B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a data processing method and system. The method comprises steps as follows: 2n+1 to-be-processed data are grouped, and first data groups and second data groups in the same quantity are acquired; the first data groups are divided into first sub data groups and second sub data groups in the same quantity according to the sequence of to-be-processed data in the first data groups; the second data groups are divided into third sub data groups and fourth sub data groups in the same quantity according to the sequence of to-be-processed data in the second data groups; the sequence of the to-be-processed data in the to-be-processed data groups is determined according to the size of the to-be-processed data in the first sub data groups, the second sub data groups, the third sub data groups and the fourth sub data groups, and a data processing result is acquired. The sequencing function is realized through an extremely simple special logical circuit, the machine cycle for sequencing is shortened, and occupation of a CPU (central processing unit) and an internal storage is reduced.

Description

A kind of data processing method and system
Technical field
The present invention relates to electronic technology field, particularly relate to a kind of data processing method and a kind of data handling system.
Background technology
Sequence is the one operation often carried out in computing machine, and can be the data of " in order " by the data point reuse of a group " unordered ", technician directly can call data analysis and the process of " in order ", simplifies workflow, improves work efficiency.
At present, normally used sort method has: insertion sort, bubble sort, selected and sorted, merge sort, radix sorting etc.But, current normally used sort method is all for develop computer software, the optimization of main concern computation complexity and EMS memory occupation amount aspect, but, in any case be optimized sort method, realize because current sort method all depends on computer software, therefore, sort method will inevitably take CPU (CentralProcessingUnit, central processing unit) and memory source, and sequencing production is limited to the performance of CPU and internal memory.
Summary of the invention
The invention provides a kind of data processing method and system, ranking function is realized with open-and-shut dedicated logic circuit, one effect that can reach sequence in real time machine cycle of consuming of maximized reduced rank, two reduce taking CPU and internal memory, can liberate CPU and internal memory does prior thing.
In order to solve the problem, the invention discloses a kind of data processing method, comprising:
Receive pending data group, wherein, described pending data group comprises: 2 n+1individual pending data, n be greater than 0 integer;
By described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group;
According to the sequence of the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group; And, according to the sequence of the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group;
According to the size of each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
Preferably, the arbitrary pending data in described first subdata group are more than or equal to the arbitrary pending data in described second subdata group;
Arbitrary pending data in described 3rd subdata group are more than or equal to the arbitrary pending data in described 4th subdata group.
Preferably, according to the size of the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result, comprising:
According to descending order, the pending data in the 3rd data group are sorted, obtain the first ranking results, and, the 5th subdata group being divided into quantity identical described 3rd data assembling and dismantling according to described first ranking results and the 6th subdata group; Wherein, described 3rd data group is the data group be made up of described first subdata group and described 3rd subdata group, and the arbitrary pending data in described 5th subdata group are greater than the arbitrary pending data in described 6th subdata group;
According to descending order, the pending data in the 4th data group are sorted, obtain the second ranking results, and, the 7th subdata group being divided into quantity identical described 4th data assembling and dismantling according to described second ranking results and the 8th subdata group; Wherein, described 4th data group is the data group be made up of described second subdata group and described 4th subdata group, and the arbitrary pending data in described 7th subdata group are greater than the arbitrary pending data in described 8th subdata group;
Pending data in the data group be made up of described 6th subdata group and described 7th subdata group are sorted according to descending order, obtains the 5th data group;
Determine the sequence of each the pending data in described pending data group according to the sequence of each the pending data in described 5th subdata group, the 5th data group and the 8th subdata group, obtain described data processed result.
Preferably, described method compares realization by least one in ranking circuit two input comparator iteration.
The invention also discloses a kind of data handling system, comprising:
Receiver module, for receiving pending data group, wherein, described pending data group comprises: 2 n+1individual pending data;
First grouping module, for by described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group;
Second grouping module, for the sequence according to the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group;
3rd grouping module, for the sequence according to the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group;
Output module, for the size of the numerical value according to each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
Preferably, the arbitrary pending data in described first subdata group are more than or equal to the arbitrary pending data in described second subdata group;
Arbitrary pending data in described 3rd subdata group are more than or equal to the arbitrary pending data in described 4th subdata group.
Preferably, output module, comprising:
First splits submodule, for sorting to the pending data in the 3rd data group according to descending order, obtain the first ranking results, and, the 5th subdata group being divided into quantity identical described 3rd data assembling and dismantling according to described first ranking results and the 6th subdata group; Wherein, described 3rd data group is the data group be made up of described first subdata group and described 3rd subdata group, and the arbitrary pending data in described 5th subdata group are greater than the arbitrary pending data in described 6th subdata group;
Second splits submodule, for sorting to the pending data in the 4th data group according to descending order, obtain the second ranking results, and, the 7th subdata group being divided into quantity identical described 4th data assembling and dismantling according to described second ranking results and the 8th subdata group; Wherein, described 4th data group is the data group be made up of described second subdata group and described 4th subdata group, and the arbitrary pending data in described 7th subdata group are greater than the arbitrary pending data in described 8th subdata group;
Sorting sub-module, for sorting according to descending order to the pending data in the data group be made up of described 6th subdata group and described 7th subdata group, obtains the 5th data group;
Result output sub-module, for determining the sequence of each the pending data in described pending data group according to the sequence of each the pending data in described 5th subdata group, the 5th data group and the 8th subdata group, obtains described data processed result.
Preferably, described system compares realization by least one in ranking circuit two input comparator iteration.
According to data processing method disclosed by the invention, first can will receive 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group; And then divide the first subdata group and the second subdata group by described first data assembling and dismantling; And, the 3rd subdata group being divided into quantity identical second data assembling and dismantling and the 4th subdata group; Finally, according to the size of each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
In the present invention, described data processing method is applicable to simple logical circuit, do not rely on computer software programs, and then avoid taking to CPU and internal memory when traditional employing computer program carries out data sorting, improve data-handling efficiency on the one hand, the CPU of release on the other hand and memory source may be used for the execution of other tasks.
Secondly, in the present invention, be all that two groups of data are compared at every turn, reduce the complexity of data processing, simplify flow chart of data processing, further increase data processing speed.
Accompanying drawing explanation
Fig. 1 is the flow chart of steps of a kind of data processing method in the embodiment of the present invention one;
Fig. 2 is the flow chart of steps of a kind of data processing method in the embodiment of the present invention two;
Fig. 3 is the schematic diagram of a kind of data processing circuit in the embodiment of the present invention two;
Fig. 4 is the structured flowchart of a kind of data handling system in the embodiment of the present invention three;
Fig. 5 is the structured flowchart of a kind of data handling system in the embodiment of the present invention four.
Embodiment
For enabling above-mentioned purpose of the present invention, feature and advantage become apparent more, and below in conjunction with the drawings and specific embodiments, the present invention is further detailed explanation.
Embodiment one
With reference to Fig. 1, show the flow chart of steps of a kind of data processing method in the embodiment of the present invention one.In the present embodiment, described data processing method can comprise:
Step 102, receives pending data group.
In the present embodiment, multiple pending data can be comprised in described pending data group.Wherein, the multiple pending data in described pending data group are generally lack of alignment, but in actual applications, often need the data using ordered arrangement.In the present embodiment, the pending data of multiple lack of alignment can be sorted according to size order, to obtain the data of the ordered arrangement that can directly use, improve the efficiency of whole flow chart of data processing.It should be noted that, the size order described in the present embodiment both can be order from big to small, and also can be order from small to large, the present embodiment be restricted this.
It should be noted that, the data processing method described in the present embodiment can but be not limited only to be applied to 2 n+1individual pending data, also can be applied to the Data processing of other quantity.Such as, when the number of pending data is less than 2 n+1time individual, can to mend " 0 " form by the number completion to 2 of pending data n+1, this present embodiment is not restricted.Wherein, n be greater than 0 integer.
Step 104, by described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group.
In the present embodiment, described 2 n+1individual pending data can meet the processing rule divided equally all the time, namely obtain the first identical data group of quantity and the second data group.Can but be not limited only to adopt iterative manner to realize comparisons to two groups of data by least one two input comparator.
Step 106, according to the sequence of the data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group; And, according to the sequence of the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group.
In the present embodiment, data processing method mainly realizes based on iteration:
The initial value of iteration: as previously mentioned, when the quantity of described pending data is 4, the quantity (number) of the pending data in the first data group that obtains of then dividing into groups and the second data group is all 2, then directly can determine the size of the pending data in the first data group and the second data group.
Iterative process: can by 2 nthe sequence of individual pending data is regarded as known.By above-mentioned steps 102, can by described 2 n+1individual pending data are divided into the first data group and the second data group, wherein, include 2 in the first data group and the second data group nindividual pending data.Due to 2 nthe sequence of individual pending data is known, therefore can first sort to the pending data in described first data group and the second data group, and then splits.Those skilled in the art should understand, described 2 nthe sequence of individual pending data is known to be determined based on iterative algorithm, e.g., and 2 nthe sequence of individual pending data can according to 2 n-1the sequence of individual pending data is determined, until 2 2the sequence of individual pending data is according to 2 1the sequence of individual pending data is determined, the present embodiment does not describe in detail this.
Step 108, according to the size of each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determines the sequence of each the pending data in described pending data group, obtains data processed result.
In the present embodiment, any one suitable mode can be adopted to compare each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, and then determine the sequence of each the pending data in described pending data group, obtain data processed result.
Such as, as previously mentioned, 2 nthe sequence of individual pending data is known, and any combination between the two of the first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group all meets 2 nthe quantitative requirement of individual pending data, therefore, feasible mode can be: according to a size order for data, by described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group combination of two, and then determines the ranking results of pending data.
In sum, data processing method described in the present embodiment is applicable to simple logical circuit, do not rely on computer software programs, and then avoid taking to CPU and internal memory when traditional employing computer program carries out data sorting, improve data-handling efficiency on the one hand, the CPU of release on the other hand and memory source may be used for the execution of other tasks.
Secondly, in the present embodiment, be all that two groups of data are compared at every turn, reduce the complexity of data processing, simplify flow chart of data processing, further increase data processing speed.
Embodiment two
With reference to Fig. 2, show the flow chart of steps of a kind of data processing method in the embodiment of the present invention two.In the present embodiment, described data processing method can directly realize based on hardware device, and does not rely on any software processing flow, e.g., can but the ranking circuit realization be not limited only to by be made up of at least one two input comparator.
Wherein, described data processing method specifically can comprise:
Step 202, receives pending data group.
In the present embodiment, described pending data group comprises: 2 n+1individual pending data.
Step 204, by described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group.
Also namely, 2 can be comprised respectively in the first data group and the second data group nindividual pending data.
Step 206, according to the sequence of the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group; And, according to the sequence of the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group.
In the present embodiment, based on iterative algorithm, can by 2 nthe sequence of individual pending data regards known as, and then by known 2 nthe sequence of individual pending data comes 2 n+1individual pending data sort.As, based on 2 1the sequence of individual pending data comes 2 2individual pending data sort, based on 2 2the sequence of individual pending data comes 2 3individual pending data sort, until based on 2 nthe sequence of individual pending data comes 2 n+1individual pending data sort.Wherein, 2 1the sequence of individual pending data directly can be compared by two input comparators and determined.
In the present embodiment, can sort to the data in each data group according to the size order of data, what those skilled in the art should understand is, in data sorting process, the size order that each data group adopts needs to be consistent, such as, according to descending order, then all adopt descending order when processing the pending data in all data groups, in like manner, according to ascending order, then need the process carrying out data all the time according to ascending order.
For pending data according to carrying out from big to small sorting:
Order that can be descending according to the pending data in the first data group, the the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group, also be, first subdata group is identical with the quantity of the pending data in the second subdata group, and, arbitrary pending data in first subdata group are more than or equal to the arbitrary pending data in the second subdata group, and each the pending data in the first subdata group and the second subdata group are all tactic according to from big to small.
In like manner, order that can be descending according to the pending data in the second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group, also be, 3rd subdata group is identical with the quantity of the pending data in the 4th subdata group, and, arbitrary pending data in 3rd subdata group are more than or equal to the arbitrary pending data in the 4th subdata group, and each the pending data in the 3rd subdata group and the 4th subdata group are all tactic according to from big to small.
Step 208, according to the size of each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determines the sequence of each the pending data in described pending data group, obtains data processed result.
Still for pending data according to carrying out sorting from big to small being described.
In the present embodiment, sequence can be compared respectively further to the pending data in two larger subdata groups (the first subdata group and the 3rd subdata group), and, sequence is compared to pending data in two less subdata groups (the second subdata group and the 4th subdata group).
Preferably, the sequence of each the pending data in pending data group described in a kind of feasible determination, the mode obtaining data processed result can be as follows:
Sub-step 2082, according to descending order, the pending data in the 3rd data group are sorted, obtain the first ranking results, and, the 5th subdata group being divided into quantity identical described 3rd data assembling and dismantling according to described first ranking results and the 6th subdata group.
In the present embodiment, described 3rd data group can be the data group be made up of described first subdata group and described 3rd subdata group, and also, two larger subdata groups combined, the quantity of the pending data in the 3rd data group after combination is 2 n, therefore, can based on known 2 nthe sequence of individual pending data, descending sequence is carried out to the pending data in described 3rd data group, and then the arbitrary pending data in the described 5th subdata group obtained after carrying out decile to described 3rd data group are greater than the arbitrary pending data in described 6th subdata group.
Sub-step 2084, according to descending order, the pending data in the 4th data group are sorted, obtain the second ranking results, and, the 7th subdata group being divided into quantity identical described 4th data assembling and dismantling according to described second ranking results and the 8th subdata group.
In the present embodiment, described 4th data group can be the data group be made up of described second subdata group and described 4th subdata group, and also, two less subdata groups combined, the quantity of the pending data in the 4th data group after combination is 2 n, therefore, can based on known 2 nthe sequence of individual pending data, descending sequence is carried out to the pending data in described 4th data group, and then the arbitrary pending data in the described 7th subdata group obtained after carrying out decile to described 4th data group are greater than the arbitrary pending data in described 8th subdata group.
So far, maximum 2 can be determined in described pending data group n-1individual pending data are all in the 5th subdata group and 2 of the 5th subdata group n-1individual data by size order arrange, in described pending data group minimum 2 n-1individual pending data are all in the 8th subdata group and 2 of the 8th subdata group n-1individual data by size order arrange.
Sub-step 2086, sorts according to descending order to the pending data in the data group be made up of described 6th subdata group and described 7th subdata group, obtains the 5th data group.
Sub-step 2088, determines the sequence of each the pending data in described pending data group, obtains described data processed result according to the sequence of each the pending data in described 5th subdata group, the 5th data group and the 8th subdata group.
It should be noted that, those skilled in the art should understand, ordering rule for sort from small to large according to pending data time, its flow chart of data processing and above-mentioned descending treatment scheme similar, the present embodiment illustrates no longer one by one to this.
For the ease of understanding, below in conjunction with Fig. 3, the application scenarios of the data processing method described in the present embodiment and flow process are described.In the present embodiment, described data processing method can compare realization by least one in ranking circuit two input comparator iteration.
With reference to Fig. 3, show the schematic diagram of a kind of data processing circuit in the embodiment of the present invention two.In the present embodiment, described data processing circuit can comprise 52 ninput sequencing module (e.g., 2 ninput sequencing modules A, 2 ninput sequencing module B, 2 ninput sequencing module C, 2 ninput sequencing module D and 2 ninput sequencing module E), it should be noted that, described 2 ninput sequencing module can comprise at least one two input comparator.Those skilled in the art should understand, 2 1input sequencing module can be two input comparators, then can determine 2 2the order module of individual pending data, when 2 2the order module of individual pending data is known, then can determine 2 3the order module of individual pending data, can by 2 based on this rule of iteration ninput sequencing module is considered as known.
Wherein, the steps flow chart based on the data processing method of the ranking circuit iteration realization shown in Fig. 3 can be as follows:
The first step, by 2 n+1individual pending Data Division is data group A and data group B.
In the present embodiment, 2 can be comprised in data group A nindividual pending data, as shown in Figure 3: Input [1], Input [2], Input [2 n].Can 2 be comprised in data group B nindividual pending data, as shown in Figure 3: Input [2 n+ 1], Input [2 n+ 2], Input [2 n+1].
Second step, 2 ninput sequencing modules A receives the input of the pending data in data group A, and 2 ninput sequencing module B receives the input of the pending data in data group B.
3rd step, 2 ninput sequencing modules A sorts according to size order to the pending data in data group A, and according to ranking results export successively A [1], A [2], A [2 n]; 2 ninput sequencing module B sorts according to size order to the pending data in data group B, and according to ranking results export successively B [1], B [2], B [2 n].
In the present embodiment, be still described with descending order, then: A [1]>=A [2]>=>=A [2 n], B [1]>=B [2]>=>=B [2 n].Wherein, A [1], A [2], A [2 n] the identical two parts of quantity can be comprised: A [1], A [2], A [2 n-1], { A [2 n-1+ 1] and A [2 n-1+ 2], A [2 n]; B [1], B [2], B [2 n] also can comprise the identical two parts of quantity: B [1], B [2], B [2 n-1] and { B [2 n-1+ 1], B [2 n-1+ 2], B [2 n].Apparently, A [1], A [2], A [2 n-1] in arbitrary pending data be more than or equal to { A [2 n-1+ 1], A [2 n-1+ 2], A [2 n] in arbitrary pending data; B [1], B [2], B [2 n-1] in arbitrary pending data be more than or equal to { B [2 n-1+ 1], B [2 n-1+ 2], B [2 n] in arbitrary pending data.
4th step, 2 ninput sequencing module C receive A [1], A [2], A [2 n-1] and B [1], B [2], B [2 n-1] input, 2 ninput sequencing module D receives { A [2 n-1+ 1], A [2 n-1+ 2], A [2 n] and { B [2 n-1+ 1], B [2 n-1+ 2], B [2 n] input.
5th step, 2 ninput sequencing module C to A [1], A [2], A [2 n-1], B [1], B [2], B [2 n-1] sort according to size order, and according to ranking results export successively C [1], C [2], C [2 n]; 2 ninput sequencing module D is to { A [2 n-1+ 1], A [2 n-1+ 2], A [2 n], B [2 n-1+ 1], B [2 n-1+ 2], B [2 n] sort according to size order, and according to ranking results export successively D [1], D [2], D [2 n].
In like manner, in the present embodiment, size order is descending order, then: C [1]>=C [2]>=>=C [2 n], D [1]>=D [2]>=>=D [2 n].Wherein, C [1], C [2], C [2 n] the identical two parts of quantity can be comprised: C [1], C [2], C [2 n-1] and { C [2 n-1+ 1], C [2 n-1+ 2], C [2 n]; D [1], D [2], D [2 n] also can comprise the identical two parts of quantity: D [1], D [2], D [2 n-1] and { D [2 n-1+ 1], D [2 n-1+ 2], D [2 n].Apparently, C [1], C [2], C [2 n-1] in arbitrary pending data be more than or equal to { C [2 n-1+ 1], C [2 n-1+ 2], C [2 n] in arbitrary pending data; D [1], D [2], D [2 n-1] in arbitrary pending data be more than or equal to { D [2 n-1+ 1], D [2 n-1+ 2], D [2 n] in arbitrary pending data.
So far, described 2 can be determined n+1in individual pending data larger 2 n-1individual data are: C [1]>=C [2]>=>=C [2 n-1], and can by C [1], C [2], C [2 n-1] be defined as in order export data: Output [1], Output [2], Output [2 n-1].What can also determine is; Described 2 n+1less by 2 in individual pending data n-1individual data are: D [2 n-1+ 1]>=D [2 n-1+ 2]>=>=D [2 n], and can by D [2 n-1+ 1], D [2 n-1+ 2], D [2 n] be defined as in order exporting data: Output [2 n+ 2 n-1+ 1], Output [2 n+ 2 n-1+ 2], Output [2 n+1].
Wherein, { C [2 n-1+ 1], C [2 n-1+ 2], C [2 n] with D [1], D [2], D [2 n-1] between size and uncertain.Following step can be performed further:
6th step, 2 ninput sequencing module E receives { C [2 n-1+ 1], C [2 n-1+ 2], C [2 n] and D [1], D [2], D [2 n-1] input.
7th step, 2 ninput sequencing module E is to { C [2 n-1+ 1], C [2 n-1+ 2], C [2 n], D [1], D [2], D [2 n-1] sort according to size order, and export Output [2 successively according to ranking results n-1+ 1], Output [2 n-1+ 2], Output [2 n], Output [2 n+ 1], Output [2 n+ 2], Output [2 n+ 2 n-1].
8th step, determines and exports 2 n+1the result of individual pending data.
In the present embodiment, so far 2 can be determined n+1the sequence of individual pending data: descending order is followed successively by: Output [1]>=Output [2]>=>=Output [2 n-1]>=Output [2 n-1+ 1]>=Output [2 n-1+ 2]>=>=Output [2 n]>=Output [2 n+ 1]>=Output [2 n+ 2]>=>=Output [2 n+ 2 n-1]>=Output [2 n+ 2 n-1+ 1]>=Output [2 n+ 2 n-1+ 2]>=>=Output [2 n+1].
In sum, data processing method described in the present embodiment is applicable to simple logical circuit, do not rely on computer software programs, and then avoid taking to CPU and internal memory when traditional employing computer program carries out data sorting, improve data-handling efficiency on the one hand, the CPU of release on the other hand and memory source may be used for the execution of other tasks.
Secondly, in the present embodiment, be all that two groups of data are compared at every turn, reduce the complexity of data processing, simplify flow chart of data processing, further increase data processing speed.
Further, from hardware spending, 2 n+1individual data can adopt and be provided with 5 nthe ranking circuit of individual two input comparators realizes, and the figure place of comparer can be consistent with the figure place of input data.Critical path, 2 n+1the critical path depth of the ranking circuit that individual data correspondence adopts can be equivalent to 3 nindividual two input comparator series connection, can shorten its critical path by pipelining, visible, data processing method described in the present embodiment simplifies flow chart of data processing, improve data processing speed, critical path shortening, reduces hardware spending and reusability is high.
It should be noted that, for embodiment of the method, in order to simple description, therefore it is all expressed as a series of combination of actions, but those skilled in the art should know, the present invention is not by the restriction of described sequence of movement, because according to the present invention, some step can adopt other orders or carry out simultaneously.Secondly, those skilled in the art also should know, the embodiment described in instructions all belongs to preferred embodiment, and involved action might not be that the present invention is necessary.
Embodiment three
On the basis of said method embodiment, the present embodiment additionally provides a kind of data handling system.With reference to Fig. 4, show the structured flowchart of a kind of data handling system in the embodiment of the present invention three.In the present embodiment, described data handling system can comprise:
Receiver module 402, for receiving pending data group.
Wherein, described pending data group comprises: 2 n+1individual pending data.
First grouping module 404, for by described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group.
Second grouping module 406, for the sequence according to the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group.
3rd grouping module 408, for the sequence according to the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group.
Output module 410, for the size of the numerical value according to each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
In sum, data handling system described in the present embodiment is applicable to simple logical circuit, do not rely on computer software programs, and then avoid taking to CPU and internal memory when traditional employing computer program carries out data sorting, improve data-handling efficiency on the one hand, the CPU of release on the other hand and memory source may be used for the execution of other tasks.
Secondly, in the present embodiment, be all that two groups of data are compared at every turn, reduce the complexity of data processing, simplify flow chart of data processing, further increase data processing speed.
Embodiment four
With reference to Fig. 5, show the structured flowchart of a kind of data handling system in the embodiment of the present invention four.In the present embodiment, described data handling system can comprise:
Receiver module 502, for receiving pending data group.
In the present embodiment, can comprise in described pending data group: 2 n+1individual pending data.
First grouping module 504, for by described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group.
Second grouping module 506, for the sequence according to the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group.
3rd grouping module 508, for the sequence according to the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group.
Output module 510, for the size of the numerical value according to each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
In a preferred version of the present embodiment, the arbitrary pending data in described first subdata group are more than or equal to the arbitrary pending data in described second subdata group.Arbitrary pending data in described 3rd subdata group are more than or equal to the arbitrary pending data in described 4th subdata group.
Preferably, described output module 510 specifically can comprise:
First splits submodule 5102, for sorting to the pending data in the 3rd data group according to descending order, obtain the first ranking results, and, the 5th subdata group being divided into quantity identical described 3rd data assembling and dismantling according to described first ranking results and the 6th subdata group; Wherein, described 3rd data group is the data group be made up of described first subdata group and described 3rd subdata group, and the arbitrary pending data in described 5th subdata group are greater than the arbitrary pending data in described 6th subdata group.
Second splits submodule 5104, for sorting to the pending data in the 4th data group according to descending order, obtain the second ranking results, and, the 7th subdata group being divided into quantity identical described 4th data assembling and dismantling according to described second ranking results and the 8th subdata group; Wherein, described 4th data group is the data group be made up of described second subdata group and described 4th subdata group, and the arbitrary pending data in described 7th subdata group are greater than the arbitrary pending data in described 8th subdata group.
Sorting sub-module 5106, for sorting according to descending order to the pending data in the data group be made up of described 6th subdata group and described 7th subdata group, obtains the 5th data group.
Result output sub-module 5108, for determining the sequence of each the pending data in described pending data group according to the sequence of each the pending data in described 5th subdata group, the 5th data group and the 8th subdata group, obtain described data processed result.
It should be noted that, in the present embodiment, described data handling system can but be not limited only to be realized by ranking circuit, described ranking circuit comprises: at least one two input comparator.
In sum, data handling system described in the present embodiment is applicable to simple logical circuit, do not rely on computer software programs, and then avoid taking to CPU and internal memory when traditional employing computer program carries out data sorting, improve data-handling efficiency on the one hand, the CPU of release on the other hand and memory source may be used for the execution of other tasks.
Secondly, in the present embodiment, be all that two groups of data are compared at every turn, reduce the complexity of data processing, simplify flow chart of data processing, further increase data processing speed.
Further, from hardware spending, 2 n+1individual data can adopt and be provided with 5 nthe ranking circuit of individual two input comparators realizes, and the figure place of comparer can be consistent with the figure place of input data.Critical path, 2 n+1the critical path depth of the ranking circuit that individual data correspondence adopts can be equivalent to 3 nindividual two input comparator series connection, can shorten its critical path by pipelining, visible, data handling system described in the present embodiment simplifies flow chart of data processing, improve data processing speed, critical path shortening, reduces hardware spending and reusability is high.
For device embodiment, due to itself and embodiment of the method basic simlarity, so description is fairly simple, relevant part illustrates see the part of embodiment of the method.
For system embodiment, due to itself and embodiment of the method basic simlarity, so description is fairly simple, relevant part illustrates see the part of embodiment of the method.
Each embodiment in this instructions all adopts the mode of going forward one by one to describe, and what each embodiment stressed is the difference with other embodiments, between each embodiment identical similar part mutually see.
Above a kind of data processing method provided by the present invention and system are described in detail, apply specific case herein to set forth principle of the present invention and embodiment, the explanation of above embodiment just understands method of the present invention and core concept thereof for helping; Meanwhile, for one of ordinary skill in the art, according to thought of the present invention, all will change in specific embodiments and applications, in sum, this description should not be construed as limitation of the present invention.

Claims (8)

1. a data processing method, is characterized in that, comprising:
Receive pending data group, wherein, described pending data group comprises: 2 n+1individual pending data, n be greater than 0 integer;
By described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group;
According to the sequence of the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group; And, according to the sequence of the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group;
According to the size of each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
2. method according to claim 1, is characterized in that,
Arbitrary pending data in described first subdata group are more than or equal to the arbitrary pending data in described second subdata group;
Arbitrary pending data in described 3rd subdata group are more than or equal to the arbitrary pending data in described 4th subdata group.
3. method according to claim 1, it is characterized in that, according to the size of the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result, comprising:
According to descending order, the pending data in the 3rd data group are sorted, obtain the first ranking results, and, the 5th subdata group being divided into quantity identical described 3rd data assembling and dismantling according to described first ranking results and the 6th subdata group; Wherein, described 3rd data group is the data group be made up of described first subdata group and described 3rd subdata group, and the arbitrary pending data in described 5th subdata group are greater than the arbitrary pending data in described 6th subdata group;
According to descending order, the pending data in the 4th data group are sorted, obtain the second ranking results, and, the 7th subdata group being divided into quantity identical described 4th data assembling and dismantling according to described second ranking results and the 8th subdata group; Wherein, described 4th data group is the data group be made up of described second subdata group and described 4th subdata group, and the arbitrary pending data in described 7th subdata group are greater than the arbitrary pending data in described 8th subdata group;
Pending data in the data group be made up of described 6th subdata group and described 7th subdata group are sorted according to descending order, obtains the 5th data group;
Determine the sequence of each the pending data in described pending data group according to the sequence of each the pending data in described 5th subdata group, the 5th data group and the 8th subdata group, obtain described data processed result.
4. method according to claim 1, is characterized in that, described method compares realization by least one in ranking circuit two input comparator iteration.
5. a data handling system, is characterized in that, comprising:
Receiver module, for receiving pending data group, wherein, described pending data group comprises: 2 n+1individual pending data;
First grouping module, for by described 2 n+1individual pending data are divided into groups, and obtain the first identical data group of quantity and the second data group;
Second grouping module, for the sequence according to the pending data in described first data group, the first subdata group be divided into quantity identical described first data assembling and dismantling and the second subdata group;
3rd grouping module, for the sequence according to the pending data in described second data group, the 3rd subdata group be divided into quantity identical described second data assembling and dismantling and the 4th subdata group;
Output module, for the size of the numerical value according to each the pending data in described first subdata group, the second subdata group, the 3rd subdata group and the 4th subdata group, determine the sequence of each the pending data in described pending data group, obtain data processed result.
6. system according to claim 5, is characterized in that,
Arbitrary pending data in described first subdata group are more than or equal to the arbitrary pending data in described second subdata group;
Arbitrary pending data in described 3rd subdata group are more than or equal to the arbitrary pending data in described 4th subdata group.
7. system according to claim 5, is characterized in that, output module comprises:
First splits submodule, for sorting to the pending data in the 3rd data group according to descending order, obtain the first ranking results, and, the 5th subdata group being divided into quantity identical described 3rd data assembling and dismantling according to described first ranking results and the 6th subdata group; Wherein, described 3rd data group is the data group be made up of described first subdata group and described 3rd subdata group, and the arbitrary pending data in described 5th subdata group are greater than the arbitrary pending data in described 6th subdata group;
Second splits submodule, for sorting to the pending data in the 4th data group according to descending order, obtain the second ranking results, and, the 7th subdata group being divided into quantity identical described 4th data assembling and dismantling according to described second ranking results and the 8th subdata group; Wherein, described 4th data group is the data group be made up of described second subdata group and described 4th subdata group, and the arbitrary pending data in described 7th subdata group are greater than the arbitrary pending data in described 8th subdata group;
Sorting sub-module, for sorting according to descending order to the pending data in the data group be made up of described 6th subdata group and described 7th subdata group, obtains the 5th data group;
Result output sub-module, for determining the sequence of each the pending data in described pending data group according to the sequence of each the pending data in described 5th subdata group, the 5th data group and the 8th subdata group, obtains described data processed result.
8. system according to claim 5, is characterized in that, described system compares realization by least one in ranking circuit two input comparator iteration.
CN201510971293.2A 2015-12-22 2015-12-22 A kind of data processing method and system Active CN105573843B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510971293.2A CN105573843B (en) 2015-12-22 2015-12-22 A kind of data processing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510971293.2A CN105573843B (en) 2015-12-22 2015-12-22 A kind of data processing method and system

Publications (2)

Publication Number Publication Date
CN105573843A true CN105573843A (en) 2016-05-11
CN105573843B CN105573843B (en) 2019-02-12

Family

ID=55884013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510971293.2A Active CN105573843B (en) 2015-12-22 2015-12-22 A kind of data processing method and system

Country Status (1)

Country Link
CN (1) CN105573843B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682085A (en) * 2016-11-24 2017-05-17 努比亚技术有限公司 Data processing method and terminal
CN107391088A (en) * 2017-07-24 2017-11-24 郑州云海信息技术有限公司 A kind of data message sort method, CPU ends, FPGA ends and system
CN109165097A (en) * 2018-08-23 2019-01-08 北京九狐时代智能科技有限公司 A kind of data processing method and data processing equipment
CN110914816A (en) * 2018-09-28 2020-03-24 深圳市大疆创新科技有限公司 Data processing method and movable platform
CN112861145A (en) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190425A1 (en) * 2005-02-24 2006-08-24 Yuan-Chi Chang Method for merging multiple ranked lists with bounded memory
CN105095494A (en) * 2015-08-21 2015-11-25 中国地质大学(武汉) Method for testing categorical data set

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190425A1 (en) * 2005-02-24 2006-08-24 Yuan-Chi Chang Method for merging multiple ranked lists with bounded memory
CN105095494A (en) * 2015-08-21 2015-11-25 中国地质大学(武汉) Method for testing categorical data set

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于志奇,李岸巍: ""基于分治策略的排序方法的比较研究"", 《太原师范学院学报(自然科学版)》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682085A (en) * 2016-11-24 2017-05-17 努比亚技术有限公司 Data processing method and terminal
CN107391088A (en) * 2017-07-24 2017-11-24 郑州云海信息技术有限公司 A kind of data message sort method, CPU ends, FPGA ends and system
CN107391088B (en) * 2017-07-24 2021-03-02 苏州浪潮智能科技有限公司 Data information sequencing method, CPU (Central processing Unit) end, FPGA (field programmable Gate array) end and system
CN109165097A (en) * 2018-08-23 2019-01-08 北京九狐时代智能科技有限公司 A kind of data processing method and data processing equipment
CN110914816A (en) * 2018-09-28 2020-03-24 深圳市大疆创新科技有限公司 Data processing method and movable platform
WO2020062082A1 (en) * 2018-09-28 2020-04-02 深圳市大疆创新科技有限公司 Data processing method, and mobile platform
CN112861145A (en) * 2021-01-06 2021-05-28 华控清交信息科技(北京)有限公司 Data processing method and device and data processing device
CN112861145B (en) * 2021-01-06 2023-12-12 华控清交信息科技(北京)有限公司 Data processing method and device for data processing

Also Published As

Publication number Publication date
CN105573843B (en) 2019-02-12

Similar Documents

Publication Publication Date Title
CN105573843A (en) Data processing method and system
US20150262064A1 (en) Parallel decision tree processor architecture
US20150262062A1 (en) Decision tree threshold coding
CN108255602B (en) Task combination method and terminal equipment
US20200184366A1 (en) Scheduling task graph operations
CN107122222B (en) A kind of search system and method for character string
CN111694643B (en) Task scheduling execution system and method for graph neural network application
US20150262063A1 (en) Decision tree processors
CN112181522A (en) Data processing method and device and electronic equipment
CN103699442A (en) Iterable data processing method under MapReduce calculation framework
CN114138231B (en) Method, circuit and SOC for executing matrix multiplication operation
Korat et al. An efficient hardware implementation of vector-based odd-even merge sorting
CN107623524B (en) Hardware-based Huffman coding method and system
CN116820714A (en) Scheduling method, device, equipment and storage medium of computing equipment
CN116382658A (en) Compiling method and device of AI model, computer equipment and storage medium
CN110909793B (en) Decision forest system and decision forest reasoning method based on FPGA
Song et al. Novel graph processor architecture
CN104750556A (en) Method and device for dispatching HPC (high performance computing) cluster work
Chan et al. Generating scheduling constraints for discrete event dynamic systems
CN114156864B (en) Photovoltaic inverter configuration method, device, terminal and storage medium
CN103020203B (en) Method and device for processing data
CN110825343B (en) Rapid data screening method and system
CN117112162B (en) Data processing method, device, equipment and storage medium
CN115563103B (en) Multi-dimensional aggregation method, system, electronic equipment and storage medium
CN115250251B (en) Transmission path planning method and device in network-on-chip simulation, electronic equipment and computer readable storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 12th Floor, Block A, Tiangong Building, Science and Technology University, No. 30 Xueyuan Road, Haidian District, Beijing, 100083

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.