CN1762141A - Compilation system - Google Patents

Compilation system Download PDF

Info

Publication number
CN1762141A
CN1762141A CN200480007643.3A CN200480007643A CN1762141A CN 1762141 A CN1762141 A CN 1762141A CN 200480007643 A CN200480007643 A CN 200480007643A CN 1762141 A CN1762141 A CN 1762141A
Authority
CN
China
Prior art keywords
user
information
array
operation information
sequence number
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
CN200480007643.3A
Other languages
Chinese (zh)
Other versions
CN1762141B (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.)
Eath Co Ltd
Original Assignee
Eath Co Ltd
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 Eath Co Ltd filed Critical Eath Co Ltd
Priority claimed from PCT/JP2004/016109 external-priority patent/WO2005045719A1/en
Publication of CN1762141A publication Critical patent/CN1762141A/en
Application granted granted Critical
Publication of CN1762141B publication Critical patent/CN1762141B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

An aggregation system that can aggregate and order user operation information at high speed through a communications network. An ID number to the user is provided, and a proxy server forwards the operation information with the ID number from the user to a specific administration server based on the ID number. The administration server accesses at high speed the user information based on this ID number. In addition the prescribed server uses a special passing sequence to collect and synthesize head-count data that corresponds to score information such as the elapsed time, etc. from the start of reception, and order information is stored in this passing sequence, and it is delivered to the administration server. Load balancers assign calls to optional proxy servers, the proxy server can relay the calls at high speed, and the administration server can reference the user information. In addition, expansion is easy since the processing is done by dispersal by means of a plurality of administration servers.

Description

Compilation system
Technical field
The present invention relates to compilation system, relate in particular to and to add up to and to give the compilation system of sequence number by the information that communication networks such as internet are operated at short notice to a plurality of users apace.
Background technology
In the past, proposed to be useful on the TV programme interlock that participates in spectators, the vote information of spectators (user) operation etc. was informed the system of program.For example, in following patent documentation 1, the system of being collected spectators' vote information by www server via the internet is disclosed.
Patent documentation 1 spy opens the 2002-344928 communique
Above-mentioned existing www server system is for example by formations such as load balance device, http-server, RDB (relevant database) servers., in these devices, exist following problem at rapid.
In the 7th layer of load balance device (possessing conversation management functional), owing to need understand to the application protocol that is used for same user is transferred to same http-server, determine the processing of http-server with the information in the past of carrying out keeping, so on speed, there is restriction while retrieving.In addition, also exist owing to carrying out load dispersing, so can not carry out pro rata problem of setting up according to user's information of preserving.
Boundary based on the performance of the outfit arranged side by side of http-server (possessing conversation management functional, table fast cache function) depends on RDB (relevant database).And if exist same user and do not handle, the problem that can not keep consistency just with the http-server of arranged side by side other at same http-server.This is owing to having carried out fast cache in order to increase burden for the RDB server.
Since the RDB server is RDB, just can not strengthen the property pro rata with cost, even use the very high system of price, also exist can not corresponding visit of concentrating problem.
In addition, in above-mentioned existing system, for example at the operation information to the answer of question-and-answer problem that need send according to the user, the sequencing that sends proper operation according to the user is given under the situation of sequence number, whole user's information is given the processing of sequence number in www server.But handling rapid and be provided with under the situation of many www servers, give processing, user's operation information need be collected in 1 station server, give sequence number to handle, and the result is assigned in a plurality of www servers in order to carry out sequence number in order to make.
; only collecting whole user's information from each www server; or distribute when giving the result data of sequence number; the data quantitative change of passing on is big; and the information of comprehensive collection is given the processing of sequence number; the load that perhaps carries out the processing of reflection serial number information in user's data in each www server becomes big, therefore exists the problem that had expended the plenty of time before obtaining a result.
Summary of the invention
Purpose of the present invention is exactly to solve above-mentioned existing problem.
Principal character of the present invention is, distributes special ID number to the user, and the operation information from the user is comprised this ID number.And, undertaken specifying user's management server by user's acting server of at random being distributed to calling based on this ID number calculating, be connected to specific user's management server apace.Additional features is, at user's management server, is not according to carrying out time-consuming retrieval this ID number but by calculating the user's information that is write down visited fast, upgrades user's data according to operation information.
In addition, another feature is, each user's of correspondence that will calculate by a plurality of user's management servers information, for example from the number storage of the score information such as elapsed time of accepting beginning special handing-over array data.And other features are, give server by joining the number that array data collects regulation, carry out addition and synthesize in entire system and obtain the number corresponding with score information.In addition, the handing-over array data can be cut apart with certain rule, can carry out addition at a plurality of servers and synthesize under situation about having cut apart, can improve performance.The number of the handing-over array data after in addition addition being synthesized is converted to the feature of sequence number.
Configuration example according to the present invention is as reaching following effect.According to formation of the present invention, owing to do not need same user is transferred to same user's acting server at the load balance device, so can on the 3rd layer level, give user's acting server arbitrarily with packet according to arriving order assignment, owing to the information stores that need not carry out for dispersion and deciphering, the judgement of application protocol, so can carry out fast processing and can set up arbitrarily.
Because user's acting server can utilize its remainder to come designated store that user's management server of user's information is arranged with user's ID divided by user's management server number, so needn't retrieve, the relaying that can carry out information apace passes on.User's management server stores user's information on the position of array that with user's ID divided by the merchant of user's management server number is index, so can retrieve, carry out the reference and the rewriting of user's information apace.
In addition, according to formation of the present invention, in the collection/distribution of user's information data of carrying out dispersion treatment by a plurality of user's management servers, use special handing-over array data.This handing-over array data, is shortened and is handled/pass on the time so can reduce the data volume of passing between server owing to only be made of the unit of people's logarithmic data corresponding with the score information that has data.
In addition, generate the handing-over array data simultaneously by a plurality of user's management servers, and by the dispersion treatment processing of giving serial number information to user's information simultaneously of a plurality of user's management servers from the array that is published, so can realize handling rapid.And, also can carry out dispersion treatment simultaneously for the synthetic processing of a plurality of handing-over arrays by a plurality of user's management servers.Thus, the user's data centralization that can not will the be scattered in a plurality of user's management servers processing of sorting in a place, thus can obtain sequence number apace.
In addition, in formation of the present invention, user's management server is stored in user's information and operation information on the memory in order to carry out quick acting to greatest extent.By storage meanss such as use RDB, can access such effect: can launch to guarantee and the existing WWW/RDB system's identical functions and the fail safe that need indissolubility, can easily increase the system of disposal ability again.
Therefore, system of the present invention has such effect: even a large amount of call packings are arranged at short notice, also can reply the total of the quality processing handling and give by sequence number etc. apace, and, can easily increase disposal ability by increasing user's management server etc. as required.
Description of drawings
Fig. 1 is the block diagram of structure of the entire system of expression embodiments of the invention.
Fig. 2 is the block diagram of the structure of expression total node 11~13 of the present invention.
Fig. 3 is the block diagram of the structure of expression management of the present invention, login node.
Fig. 4 is transformation flow Fig. 1 of the processing between expression each device of the present invention.
Fig. 5 is transformation flow Fig. 2 of the processing between expression each device of the present invention.
Fig. 6 is the flow chart of details of the login process of expression operation information of the present invention.
Fig. 7 is the key diagram of the data structure of expression handing-over array of the present invention.
Fig. 8 is the flow chart that expression total/sequence number of the present invention is given the details of processing.
Fig. 9 is the key diagram 1 of example of the login process of expression operation information.
Figure 10 is the key diagram 2 of example of the login process of expression operation information.
Figure 11 is the key diagram 3 of example of the login process of expression operation information.
Figure 12 is the key diagram 4 of example of the login process of expression operation information.
Figure 13 is the key diagram 1 of processing example of the step S40 of presentation graphs 8.
Figure 14 is the key diagram 1 of processing example of the step S41~step S45 of presentation graphs 8.
Figure 15 is the key diagram 2 of processing example of the step S40 of presentation graphs 8.
Figure 16 is the key diagram 2 of processing example of the step S41~step S45 of presentation graphs 8.
Figure 17 is the key diagram of processing example of step S50, the step S51 of presentation graphs 8.
Figure 18 is the key diagram 1 of processing example of step S52, the step S53 of presentation graphs 8.
Figure 19 is the key diagram 2 of processing example of step S52, the step S53 of presentation graphs 8.
Figure 20 is the key diagram 1 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 21 is the key diagram 2 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 22 is the key diagram 3 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 23 is the key diagram 4 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 24 is the key diagram 5 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 25 is the key diagram 6 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 26 is the key diagram 7 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 27 is the key diagram 8 of processing example of the step S55~step S59 of presentation graphs 8.
Figure 28 is the key diagram of processing example of the step S70 of presentation graphs 8.
Figure 29 is the key diagram of processing example of the step S71 of presentation graphs 8.
Figure 30 is the key diagram of processing example of the step S72 of presentation graphs 8.
Figure 31 is the key diagram that the expression sequence number is given the state that processing finished.
Figure 32 is the respectively flow chart of the exchange between device of the expression second embodiment of the present invention.
Figure 33 is that the total/sequence number of the expression second embodiment of the present invention is given the key diagram of processing.
Figure 34 is that the sequence number of the expression second embodiment of the present invention is given the flow chart of processing.
Figure 35 is that the array of the expression second embodiment of the present invention generates the flow chart of handling.
Figure 36 is the flow chart of the sequence number conversion process of the expression second embodiment of the present invention.
Figure 37 is the flow chart of the next stratum subprogram of expression second embodiment.
Figure 38 is that the sequence number of the expression second embodiment of the present invention is given the flow chart of processing.
Among the figure: 10: the login node; 11~13: add up to node; 14: management node; 15: the studio terminal; 16:DNS; 20: TV station: 21: in-house network; 22: the internet; 25,28: the mobile communicating net; 30: portable terminal (mobile phone); 31: TV.
Embodiment
Below, to adding up to user's operation information apace and the sequence number imparting system of giving sequence number describes by the internet with the TV programme interlock.
Embodiment 1
Fig. 1 is the block diagram of structure of the entire system of expression embodiments of the invention.Internet 22 is connected with a plurality of moving body communication network A25, B26 by gateway 23,24, and portable terminal 30 can pass through base station 26,29 and be connected with the internet.Internet also is connected with PC terminal 33 with DNS (name server) 16.And such structure is known.User (spectators) utilizes the TV programme of television set 31 ratings from TV station 20 on one side, Yi Bian use portable terminal 30 visits compilation system of the present invention.
On internet 22, be connected with login node of the present invention 10, three and add up to node A11, B12, C13.These nodes also are connected to in-house network (below be designated as PN) 21.On PN21, also be connected with management node 14 of the present invention, studio terminal 15.PN21 can be made of special circuit, also VPN (virtual in-house network) can be set in internet 22.Also PN21 can be set, will all install and connect by the internet.
Though add up to the rarest one of node to get final product, but disperse to call out by carrying out decentralized configuration as shown in the figure, even make the total node be connected to a place backlog or be out of order, also can utilize the data of other total node to proceed program.
Fig. 2 is the block diagram of the structure of expression total node 11~13 of the present invention.On a plurality of load balance devices 41 that are connected with internet 22 by router four 0, LAN45, be provided with the IP address that has nothing in common with each other, by the effect of known DNS (name server) 16, make calling (visit) disperse to arrive.Each load balance device 41 is selected in a plurality of user's acting servers 42 one according to sequence number, passes on calling according to calling out the order that arrives.
User's acting server 42 by LAN46 is connected with load balance device 41 carries out processing described later, carry out format conversion, user's management server 43 determine, call out pass on and reply.User's management server 43 by LAN46 is connected with user's acting server 42 carries out processing described later, carries out the record of the operation information that sent by the user etc. and maintenance, the output of aggregate information, the login of serial number information etc.And the various servers of Shi Yonging can be realized by make, install program of the present invention described later in the server unit of selling on the market in the present invention.
Fig. 3 is the block diagram of the structure of expression management of the present invention, login node.Fig. 3 (a) is the block diagram of the structure of expression management node 14.On management node 14, be provided with the state management server 51 of the treatment state of management system integral body, reception is given server 53 from the total data of the user's management server 43 that adds up to node and the sequence number of giving sequence number, from user's management server 43 receive specific (for example upper etc.) the sequence number data, generate the ranking list comprehensive server 52 of the necessary ranking list of program.Fig. 3 (b) is the block diagram of the structure of expression login node 10, is provided with logon server.In addition, also management node, login node, total node can be integrated and be arranged on a place.
Fig. 4 is transformation flow Fig. 1 of the processing between expression each device of the present invention.This flowcharting login process and participation preparation are handled.The user starts the browser access logon server 61 (step S1) of terminal 30.Logon server 61 foldback log in page (step S2), and be shown on the terminal (step S3).The user imports personal information (step S4) such as name and residence.
Logon server 61 is when receiving personal information, hash code (value of being disperseed at random) to the character string that becomes keyword (residence, name, age and unique user's identification code of obtaining from mobile radio communication etc.) is carried out division arithmetic, selects the total node that store.The hash code h of character string for example calculates in the following method:
H=step S[0] * 31^ (n-1)+step S[1] * 31^ (n-2)+... + step S[n-1]
Here, step S[i] i character code of expression character string, n is the length of character string, ^ represents exponentiation.And, if identical character string has been assigned with identical numeral (sign indicating number), the value that also can be disperseed consciously (for example making the total node in Hokkaido selected) then at the user in Hokkaido.
Then, according to the remainder of this hashed value after divided by user's management server number of the total intranodal that will connect specified user's management server sequence number.This processing is used to guarantee to make identical user to be connected to identical user's management server, thereby can not carry out login repeatedly, and calling is assigned on a plurality of user's management servers equably.Logon server 61 passes on log-on message (step S5) to selected user's management server 43.
Received user's management server 43 of log-on message, new array position I (if for example two users' logins of existing 0,1 according to the array of logining user's information, I=2 then) and user's management server count N (for example establishing N=3), self user's management server sequence number M (for example establishing M=1) and generate " ID number ".Production is ID=I * N+M, ID=2 * 3+1=7 in above-mentioned example.User's management server 43 is logined personal information on the new array position of the array of login user information, ID number of generating is notified to logon server 61 (step S6).
Logon server 61 will comprise ID number the participation page or leaf that receives and send to terminal (step S7).Record the selected total address of node that goes out and ID number on this participation page or leaf, the user is as long as participate in operation participating on the page or leaf, and the participation information that includes ID just is sent to selected total node (step S8).
In adding up to node, the load balance device is given user's acting server (step S9) arbitrarily according to the arrival order of calling out with Call Forwarding, as long as user's acting server 42 receives participation information, just transmission includes ID number operation page or leaf (step S10), and is shown in terminal (step S11).Finish to participate in preparation thus.
Fig. 5 is transformation flow Fig. 2 of the processing between expression each device of the present invention.The once total of the question-and-answer problem that this flowcharting is related with program and the answer of poll is handled, and in fact repeats repeatedly this processing in program.At first, state management server 51 is indicated " preparation " state (step S24) according to the indication from studio terminal 15." preparation " comes transmit operation information at user's acting server also only foldback identical operations page or leaf and the state that do not carry out any processing even state is an operating terminal.
Then, state management server 51 is according to accepting to begin indication from the answer of studio terminal 15, indication " collection " state (step S25).At " collection " state, user's one operating terminal transmit operation information just is connected to the total node of appointment, and the load balance device passes on calling (step S13) according to calling out the order that arrives to user's acting server arbitrarily.
In user's acting server 42, the unified data format that has nothing in common with each other because of different users' terminal, according to being contained in the operation information that receives ID number divided by the remainder behind user's management server number of intranodal, obtain user's management server number, and to this user's management server transfer operations information (step S14).User's management server 43, the merchant according to ID number of the operation information that will receive counting gained divided by user's management server of intranodal obtains the array position, record user's information (step S15).
If merchant=2 for example then writes down the operation information such as information of the button that the user pushes and temporal information (what begin from collection is the elapsed time of unit with the millisecond) together on second user's data of array.And, can make processing quicker on the memory by this array data is pre-configured in.
Recording of information one finishes, and user's management server 43 is just notified user's acting server, and user's acting server 42 is to terminal transmit operation page or leaf (step S16).At terminal display operation page or leaf (step S17) once more.And, carried out under the situation of multi-pass operation in during the user is collecting, can rewriting operation information etc., also can ignore for the second time and after operation information.
Then, state management server 51 is according to total (receive and the finish) indication from studio terminal 15, indication " total " state (step S26).At " total " state, though from terminal transmit operation information at user's acting server also foldback identical operations page or leaf only, and do not carry out any processing.User's management server 43 is for example set score according to user's operation information and temporal information, gives server 53 (step S18) according to the sequence number that user's information array generates handing-over array data shown in Figure 7 and sends to regulation.
Sequence number is given server 53 and is collected array data from a plurality of user's management servers, utilizes method described later that score is converted to ranking, and ranking information is sent to user's management server 43 (step S19) once more.In addition, give server 53 though record a plurality of sequence numbers in Fig. 3, this is to give processing for a plurality of sequence numbers of must grading of disperseing to carry out integrate score and each enquirement, and sequence number is given processing and must be given server by a sequence number and carry out.User's management server 43 is according to the ranking information of being issued, and when giving user's ranking, the information of the predetermined scopes such as personal information of for example top 10 sent to ranking comprehensive server 52 (step S20).
Ranking comprehensive server 52 is according to informix (synthesize) ranking list that receives from a plurality of user's management servers 43, and the Web server etc. that sends to studio terminal and outside discloses.In addition, give end to state management server 51 notice sequence numbers.(step S21)
According to formation and processing as above, even call packing at short notice also can not produce to delay adding up to apace with sequence number with malfunction ground and give.And, though in Fig. 5, enumerated the example that in " collection " process, does not add up to, but all user's management server 43 also can be in collection process for example with one second at interval cycle or aperiodic ground carry out the processing of step S18, carry out total intermediate thus.Can almost distinguish user's information that rank is forward and the answerer's number till current in real time by total intermediate.
Below, give processing to the total/ranking of operation information and be described in detail.Fig. 6 is the flow chart of details of the login process of expression operation information of the present invention.In addition, Fig. 9~Figure 12 is the key diagram of example of the collection and treatment of expression operation information.And, in the example of Fig. 9~12, dispose index and be 3 user's management servers (=user keeper) of 0,1,2, for example being located on the server of index 1 on user's information array login, array indexing is arranged is 3 users of 0,1,2.
In Fig. 6, at step S13, the load balance device passes on calling according to calling out the arrival order to user's acting server arbitrarily.User's acting server is user's management server form at step S30 with data transaction/unification of importing.So this be since the data format of each terminal all difference be necessary.
User's acting server 42 at step S31, according to being contained in the operation information that receives ID number divided by the remainder behind user's management server number, is obtained user's management server number, and to this user's management server transfer operations information.If for example ID number is 7, user's management server is counted N=3, and then user's management server M is remainder=1 of 7 ÷ 3.At the operation information (figure l1) of step S32 to index user's management server output user consistent with remainder.
User's management server 43 at step S33, divided by the merchant behind user's management server number, is obtained array position (array indexing) according to ID number of the operation information that will receive.The user's who arrives in step S34 recorder operation information.If merchant=2 for example is to write down the operation information such as information of the button that the user pushes and temporal information (what begin from collection is the elapsed time of unit with the millisecond) on user's data of second together (Figure 12) at array indexing.At step S35, in a single day recording of information finishes, and user's management server 43 is just notified to user's acting server.
In above processing, the load balance device since only with call distribution to optional proxy servers, so can carry out fast processing and can easily set up.Because user's acting server can calculate user's management server of distinguishing pass on according to ID number that receives by simple, also easily sets up so also can carry out fast processing.Because user's management server can be distinguished the user's information array position that store data by simple calculating, also easily set up so also can carry out fast processing.
Inventor of the present invention is linked to TV programme practically with this system and uses, and can normally receive and respond several thousand visit/seconds in the time of the peak, is the visit of several ten thousand visits about 10 seconds, and the sequence number that conducts interviews is given.
Fig. 8 is the flow chart that expression total/ranking of the present invention is given the details of processing.Figure 13~31st in addition, expression total/ranking is given the key diagram of the example of processing.And in the example shown in Figure 13~31, dispose index and be 3 user's management servers (=user keeper) of 0,1,2.
User's management server is obtained n user's information array in step S40.And set score for each user.Operation information " 3 " is a correct option in this embodiment, and what make that handling time information (according to subtracting point-score) promptly begins from collection is that elapsed time of unit is correct solutionist's a score with the millisecond.And, except the correct solutionist's of each problem operating time information, can calculate the total ascent time of operating time of the correct answer of correctly separating answer, a plurality of problems and these combination as required, the score information on the basis of giving as sequence number.Figure 13, Figure 15 are the key diagrams of the processing example of expression step S40.
At step S41,, seek the handing-over array according to score information.Fig. 7 is the key diagram of the data structure of expression handing-over array of the present invention.Score (handling time) information is that what to begin from collection is the elapsed time information of unit with the millisecond as previously mentioned, regards it score information of 64 bits as, storage number or represent the numeric data of ranking on each score of determining with this 64 bit.Wherein, the data of handing-over array are unit with the array location of 256 (=8 bit) pointers or numeric data, only generate that to comprise number be the most the next numerical value unit of the data beyond 0 and the pointer unit that comprises the pointer of this unit of direct or indirect appointment.
The handing-over array has 8 layers as shown in Figure 7, upper 7 layers respectively by the pointer unit 70,71,72 of 8 bits in the score information of aforesaid 64 bits (=256) ... form.The numerical value unit 77 that lower layer is made up of the numerical value of 256 (8 bits).Thus, for example store the people's logarithmic data that begins to have carried out till back 0 millisecond~255 milliseconds the user of correct answer from acquisition time in the top-right numerical value unit 77 of Fig. 7.And, in this numerical value unit 77, have under the situation of the numerical value beyond 0 also to generate upper 7 layers the pointer unit 70,71,72 that points to this unit ...
If be unit with the millisecond with 64 bit express times, then its length can become astronomical figure, if generate whole numerical value unit 77 of handing-over array, data volume also becomes astronomical figure so, but in the time period that limits under the situation that score information is concentrated, handing-over array data amount has a small amount of just passable, becomes the amount that personal computer etc. can be handled fully.
Turn back to Fig. 8, at step S42, whether the array corresponding with the score information of 64 bits from upper judgement exists, and in judged result is to enter into step S43 under the situation of negating to generate new array location, and is that last bit location is set the pointer that points to this array location.At step S44, judge whether it is the most the next array (=array location), be to enter into step S41 under the situation of negating in judged result, for entering into step S45 under the sure situation.
At step S45, make the people's logarithmic data that is in the position corresponding add 1 with the score information in the numerical value unit.Judging at step S46 whether the processing to whole correct answer user data finishes, is to turn back to step S40 under the situation of negating in judged result, for entering into step S47 under the sure situation.At step S47, the handing-over array data that generates is outputed to sequence number give server.
Figure 14, Figure 16 are the key diagrams of the processing example of expression step S41~step S45.Downward arrow in the handing-over array among the figure is represented pointer, the state that * symbolic representation pointer is not set.In Figure 14, generate/refer to the most the next array location (=numerical value unit), making, people's logarithmic data (initial value is 0) of the 255th address (corresponding with the next 8 bits=255 of score) of the next array location adds 1.And " reference " is meant in upper pointer unit and sets the pointer that points to the next unit.In Figure 16, generate the most the next array location of next ranking, make its 0th people's logarithmic data add 1.
Give server 53 in sequence number, at step S50, from user's management server input handing-over array data.At step S51, judge and whether finish from the input of Servers-all, be under the situation of negating in judged result, enter step S50, under sure situation, enter step S52.At step S52, carry out the synthetic of a plurality of handing-over arrays by the people's logarithmic data that adds up to identical score.At step S53, judge whether the synthetic of all handing-over arrays finishes, and is under the situation of negating in judged result, enters step S52, under sure situation, enters step S54.Generate the array that stores people's logarithmic data according to above processing.
At step S54, carry out the initialization of variable etc.That is, establish this sequence number=0, next sequence number=1, setting is gazed at array bit and is changed to 0 (=top).At step S55, with this sequence number of the value substitution of next sequence number.At step S56, the value that will gaze at array is added on next sequence number.At step S57, array is gazed in this value substitution of sequence number.At step S58, will gaze at position+1 of array.At step S59, judge whether the processing of people's logarithmic data of all existence is finished, be under the situation of negating in judged result, enter step S55, under sure situation, enter step S60.Generate the array that stores the sequence number data by above processing.At step S60, the sequence number array that generates is outputed to each user's management server.
Figure 17 is the key diagram of the processing example of expression step S50, step S51.In addition, Figure 18, Figure 19 are the key diagrams of the processing example of expression step S52, step S53.When synthesizing array, synthesize by carrying out following processing, promptly, to be present in the value addition of numerical value unit with the numerical value unit of other identical scoring position of user's management server in the numeric data unit in the collected array, the index value minimum, if point in the array that the pointer of this numerical value unit is not logged the index value minimum among collected array, then login.At Figure 18, Figure 19, owing to do not have the highest numerical value unit of ranking in index is 0 array, to be logged index be in 0 the array so index is 1 numerical value unit, and add that index is the 255th data of the numerical value unit of 2 identical scoring position.And then, add that on the 0th of the numerical value unit of next ranking index is the 0th data of the numerical value unit of 2 identical scoring position.In addition, also can generate new array, whole numeric datas of the array that receives are added on the identical scoring position of new array.
Figure 20~Figure 27 is the key diagram of the processing example of expression step S55~step S59.First processing is the processing of step S55 among the figure, and the 2nd processing is the processing of step S56, and the 3rd processing is the processing of step S57.In addition, enter Figure 21, during Figure 21 enters Figure 22, gaze at the array position by+1 from Figure 20.Figure 27 represents that sequence number gives the state that processing has finished, is set with 1~8 the numerical value of representing ranking in the numerical value unit that links with pointer.
User's management server is in step S70 input sequence number array.At step S71, obtain user's information array of n people.At step S72, obtain sequence number data according to score information from the sequence number array for correct solutionist, be written to user's information array.At step S73, judge whether give processing about whole users' sequence number finishes, be under the situation of negating in judged result, enter step S71, under sure situation, end process.By above processing, in user's information of each user's management server, write ranking.
Figure 28 is the key diagram of the processing example of expression step S70.Figure 29 is the key diagram of the processing example of expression step S71.In this embodiment, obtain information about user 2 (index is 0).Figure 30 is the key diagram of the processing example of expression step S72.In this embodiment, explore sequence number according to user 2 score (255) and give array, obtain a secondary data " 2 ", and be set to user's information array.Figure 31 is illustrated in the key diagram that sequence number in all user's servers is given the state that processing finished.
Embodiment 2
Below the 2nd embodiment is described.In first embodiment, give server 53 and carry out the generation of sequence number data, but must give server 53 to sequence number, join the synthetic of array, so may on handling, have bottleneck the data collection of whole user's management servers 43 by sequence number.In addition, when sequence number was given server 53 and handled, user's management server 43 was in the state of waiting for the result and does not handle.Therefore in the 2nd embodiment, handle, can easily expand disposal ability by disperse to carry out addition generations synthetic and the sequence number data at a plurality of user's management servers 43.
Figure 32 is the respectively flow chart of the exchange between device of the expression second embodiment of the present invention.In a second embodiment, sequence number is not set gives server, and generate the sequence number data at user's management server 43.With the difference of first embodiment only in the part of step S27.
Figure 33 is that the total/sequence number of the expression second embodiment of the present invention is given the key diagram of processing.Though as second embodiment, for example the platform number with user's management server 43 is made as 3, this number can increase and decrease arbitrarily.In each user's management server 0 (82)~2 (82), have user's information of accepting the operation information that data 80~82 promptly store each user.In user's management server, this is accepted data cut apart, generate the handing-over array that is equivalent to management server platform number.The structure of this array is same as shown in Figure 7.Average for the data volume that makes each array, distribute according to the following place value of score.(details aftermentioned)
At each user's management server, obtain the handing-over array that oneself synthesize from other servers, about should then being published to other server in the synthetic handing-over array of other server.For example, two arrays 84,85 among 3 arrays 83~85 that generate are published to other servers, and obtain two array B-0 (86), C-0 (89) from other user's management servers 1,2 at user's management server 0 (80).
After taking out the handing-over array that oneself synthesize, the addition that carries out array is synthetic.For example user's management server 0 (80) is from 3 array A-0 (83), B-0 (86), the synthetic array ABC-0 (92) of C-0 (89) addition.Carry out dispersion treatment because addition is synthetic by a plurality of servers, so, can easily increase and decrease disposal ability by the increase and decrease number of servers.
The synthetic array of addition also is published to other all user's management servers.Thus in whole user's management servers when issue finishes, maintain whole user's management server additions synthetic identical array ABC-0 (92), ABC-1 (93), ABC-2 (94).
The synthetic storage of array of addition has people's logarithmic data of each score (elapsed time).Then the before head of this people's logarithmic data is added up and be converted to sequence number data ABC-0 (95), ABC-1 (96), ABC-2 (97).This processing walks abreast at each user's management server and carries out.In addition, also can carry out the conversion of sequence number data on 1 user's management server, then its result is published to whole user's management servers, be roughly the same but spend in the time that sequence number gives.
According to above processing, each user's management server maintains identical array ABC-0 (95), ABC-1 (96), the ABC-2 (97) that stores the sequence number data.At last, with reference to these sequence number data, user's information (accepting data) of being managed for each user's management server is given sequence number.
Figure 34 is that the sequence number of the step S27 of the expression second embodiment of the present invention is given the flow chart of processing.This processing is started respectively at each user's management server 43 according to the total indication from state management server 51.In the handing-over array of step S80 preparation user management server platform number,, call array described later and generate processing at step S81.Generate the handing-over array that is equivalent to user's management server platform number here.
At step S82, with 0 substitution variable a.At step S83, in handing-over after array is ready, obtain handing-over array data in the book server add operation from a server.At step S84, judge whether a counts max more than or equal to user's management server platform, be to enter into step S85 under the situation of negating in judged result, for entering into step S86 under the sure situation.At step S85 a is added 1 and enter into step S83 then.At step S86, it is synthetic that the content of the whole handing-over arrays that should handle at book server is carried out addition.Synthetic method is identical with the processing of step S52, the step S53 of first embodiment.
At step S87, with 0 substitution variable a.At step S88, after the handing-over array data is ready, obtain the synthetic handing-over array data of addition from a server.At step S89, judge whether a counts max more than or equal to the management server platform, be to enter into step S90 under the situation of negating in judged result, for entering into step S91 under the sure situation.At step S90 a is added 1 and enter into step S88 then.According to above processing, all user's management servers 43 all become the state that maintains the identical array of being synthesized by addition.
At step S91, call the sequence number conversion process.Handle by this, the people's logarithmic data in the array is by accumulative total and be converted into the sequence number data.At step S92, call sequence number and give processing.Handle according to this, give sequence number to user's information (accepting data) that each user's management server is managed.
Figure 35 is that the array of the expression second embodiment of the present invention generates the flow chart of handling (step S81).This processing is the processing that generates the handing-over array that is split into the user's information that is equivalent to user's management server platform number.At step S100, when calculating score information, be written to user's information according to untreated user's information (accepting data).At step S101, to user's the score remainder substitution variable b after divided by predefined management server platform number.At step S102, to user's the score quotient substitution variable c after divided by management server platform number.
At step S103, select b handing-over array.At step S104, begin to explore the handing-over array from upper in order according to the value of variable c.Particularly, with c according to each bit number corresponding with stratum be divided into stratum several, check at the effective pointer that is having or not the next array location of indication from the upper value corresponding address that c in the array location has been carried out dividing.
At step S105, judge whether the next array exists, be to enter into step S106 under the situation of negating in judged result, for entering into step S107 under the sure situation.At step S106, newly-generated the next array location and the pointer of indicating it.At step S107, judge whether it is to descend bit array most, be to enter into step S104 under the situation of negating in judged result, for entering into step S108 under the sure situation.
At step S108, on the people logarithmic data corresponding, add 1 with the next specified bit of c in the most the next array location.At step S109, judge whether to finish, be to enter into step S100 under the situation of negating in judged result, be end process under the sure situation.By above processing, generate the handing-over array that is divided into user's management server platform number.Because the amount of information of each array is distributed according to the next value (b) of score information,, can expect that the synthetic load of handling of addition in user's management server is also impartial substantially so it is impartial substantially to be contained in the number information of each array.
Figure 36 is the flow chart of content of the sequence number conversion process (step S91) of the expression second embodiment of the present invention.At step S120, carry out the initialization (J (people's logarithmic data keeps variable temporarily)=0, K (sequence number data)=1, P (the array scanning counting variable of upper stratum)=O, L (stratum)=0 (upper)) of variable etc.At step S121, effectively whether P pointer of the array location of inspection upper (existence).At step S122, whether effectively judge, enter into step S124 in judged result under for the situation of negating, for entering into step S123 under the sure situation.
At step S123, the valid pointer information among stratum's value (L+1) and the step S121 as independent variable, is called the next stratum subprogram.At step S124, P is added 1.At step S125, whether judge P more than or equal to 256, be to enter into step S121 under the situation of negating in judged result, be end process under the sure situation.
Figure 37 is the flow chart of the next stratum subprogram of expression second embodiment.This processing subprogram is recycled in each stratum and calls, and the variable that uses in subprogram is independent respectively in each stratum.In addition, the processing of carrying out in the most the next stratum separates with the processing of carrying out in intermediate strata.At step S130, judge whether to be lower layer, enter into step S131 in judged result under for the situation of negating, for entering into step S137 under the sure situation.
Step S131~step S136 is the processing of intermediate strata (L=1~6).At step S131, carry out initialization and make P=0.At step S132, check according to from P pointer of the array location of the independent variable appointment of upper subprogram whether effective (existence).At step S133, judge whether effectively, be to enter into step S135 under the situation of negating in judged result, for entering into step S134 under the sure situation.
At step S134, the valid pointer information among stratum's value (L+1) and the step S132 as independent variable, is called the next stratum subprogram.At step S135, P is added 1.At step S136, whether judge P more than or equal to 256, enter into step S132 in judged result under for the situation of negating, for end process under the sure situation and turn back to original program.
Step S137~step S147 is the processing of lower layer (L=7).At step S137, carry out initialization and make P=0.At step S138, will be initialized as 1 from the counting variable Q of the next effective array number of upper subprogram handing-over.At step S139, read P people's logarithmic data of Q array location.
At step S140, whether judge number more than or equal to 1, be to enter into step S144 under the situation of negating in judged result, for entering into step S141 under the sure situation.At step S141, for the interim people's logarithmic data that keeps, with its substitution variable J.At step S142, ranking K is written among the P of Q array location.At step S143,, carry out ranking and upgrade J+K substitution ranking K.
At step S144, Q is added 1.At step S145, judge whether Q is bigger than the effective array number that comes from upper program handing-over, be to enter into step S139 under the situation of negating in judged result, for entering into step S146 under the sure situation.S146 adds 1 with P in step.At step S147, whether judge P more than or equal to 256, enter into step S138 in judged result under for the situation of negating, for end process under the sure situation and turn back to original subprogram.By above processing, the people's logarithmic data in each array is converted into the sequence number data.
Figure 38 is that the sequence number of the expression second embodiment of the present invention is given the flow chart of the content of processing (step S92).At step S150, obtain untreated score information from user's information array.At step S151, to user's the score remainder substitution variable b after divided by management server platform number.At step S152, to user's the score quotient substitution variable c after divided by management server platform number.At step S153, select b handing-over array.
At step S154, according to the value search handing-over array of variable c.At step S155, read the sequence number data according to the value of variable c from the most the next array location, be written to corresponding user's information.At step S156, judge whether to finish, enter into step S150 in judged result under for the situation of negating, for end process under the sure situation and turn back to original subprogram.
Though above embodiment has been discussed, also can have considered following variation.In an embodiment, the example that uses portable terminal has been discussed, also can have been used the general PC terminal that is connected on the internet.In this case, also can for example distribute to a plurality of user's management servers according to acceptance order to logon server.
Though discussed and will must assign to give the example of sequence number until the conduct of the time till the operation as embodiment, the method for handing-over array of the present invention is more effectively used in following discussion.In this embodiment, give processing by sequence number once, give sequence number and make the many users of number that correctly answer a question be in more forward position, correct answer short user average time is in more forward position under the identical situation of the number of correctly answering a question.
For example answer questions 3 topics at user A, correctly to answer average time be 13 seconds, user B answers questions 2 topics, correctly answers average time is 13 seconds, user C answers questions 2 topics, correctly answers average time is under 5 seconds the situation, for example to obtain score with following formula.
Score=(0xFFFFFFFFFFFFFFFF-correctly separates answer * 0x100000000+ and correctly answers average time)
The implication of this formula is: the maximum number that array can be represented-will correctly separate answer is shifted left maximum number that can the array performance half (32 bit)+correctly answers average time.Each one score is as follows:
User A
0xFFFFFFFFFFFFFFFF-0x300000000+0xD=0xFFFFFFFD0000000C
User B
0xFFFFFFFFFFFFFFFF-0x200000000+0xD=0xFFFFFFFE0000000C
User C
0xFFFFFFFFFFFFFFFF-0x200000000+0x5=0xFFFFFFFE00000004
Because system of the present invention gives sequence number according to the order that value increases, so user A is first, user B is the 3rd, and user C is second.
Like this, in the scope that array can be represented by each data of operation information and stored information, handling time etc. are carried out bit displacement and+-replacement and combination, can corresponding various sequence numbers give.Therefore, in this embodiment, handing-over array two arrays of use below 0xFFFFFF (upper 3 sections), all the other use each array, only use 13 altogether the array of 256 key elements just can represent data.That is, handing-over array of the present invention has the feature that can show the data compression effect when having a large amount of values that is similar to.
In this embodiment, correctly separating answer between 1~10 (0xA), under the situation of second number in 0~255 (0xFF) second scope, even there is 1,000,000,000 people's information, the array of each stratum is 1+1+1+0xA+0xA+0xA+0xA+0xA=53, i.e. 53 * 256 * 4Byte (size of 1 general key element), maximum is no more than about 54KByte.In addition, correctly separating answer between 1~100 (0x64), under second situation of number in the bigger like this scope of 0~65535 (0xFFFF), maximum is no more than about 26MByte, i.e. 1+1+1+0x64+0x64+0x64+0x64+ (0x64*0xFF)=26003.In fact, with the correct answer time gathering (leaning to one side) phenomenon is arranged owing to correctly separate answer, so data volume becomes still less.Like this, even discontinuous, on predominate many scores, also can go out effect.
In an embodiment, the push-botton operation of having discussed with the user is a trigger, receives the example that button information is handled.But the present invention also can use the combination of following trigger and information carries out information gathering flexibly.For example can consider the method for generation (trigger) of following operation information.
(1) operation trigger, the operation of (2) 0~9 (0~9 numerical keys), the operation of (3) 1~12 (remote controllers of TV etc.), (4) operation of other (look and shape etc.) various buttons, (5) select (guide look etc.) operation, (6) light and shade (optical sensor) changes, (7) temperature (thermometer) changes, (8) air pressure (barometer) changes, (9) speed (speedometer and gyroscope) changes, (10) acceleration (gyroscope etc.) changes, and (11) time, (table and GP S etc.) changed, and (12) position (GP S etc.) change, (13) highly (GP S etc.) change, (14) emotion (E.E.G etc.) changes, and (15) actions (variation of posture etc. etc.) change, and other can be judged out the method for generation of the operation information of variation (16).
In addition, can consider that following information is as operation information.(1) digital information, (2) Word message, (3) chooser information, (4) light and shade information, (5) temperature information, (6) pressure information, (7) velocity information, (8) acceleration information, (9) temporal information, (10) positional information, (11) elevation information, (12) emotion information, (13) action message
System of the present invention is applicable to the TV programme interlock that participates in spectators, adds up to answer information that the user operated and the system that informs program etc. need carry out the system that sequence number is given processing at short notice.And, sequence number imparting system of the present invention is not limited to the system with the TV programme interlock, and the grade of the gambling rate total that goes for the ticket sale, gambles and compete, auction, online game etc. is concentrated a large amount of visits and need be carried out the system arbitrarily that sequence number is given in the limited time.

Claims (9)

1. compilation system is characterized in that having:
The ID generation unit generates to each user ID number;
The page or leaf transmitting element wishes that to the terminal transmission terminal sends the page information of the operation information that comprises described ID number;
The operation information transfer unit receives from what terminal was sent and comprises described ID number operation information, and the user's administrative unit according to determining for ID number to connect transfers to determined user's administrative unit with this operation information;
A plurality of user's administrative units will be passed on the operation information that comes and handling time information together from described operation information transfer unit, store in the memory cell corresponding to the user;
A plurality of memory cell, corresponding with described user's administrative unit, share memory by using person's information separately.
2. compilation system according to claim 1, it is characterized in that, if establishing the number of described user's administrative unit is N, in the described memory cell and login position value corresponding user's information are I, described user's administrative unit of login user be numbered M, comprise expressed numerical value then described ID number by ID=I * N+M.
3. compilation system according to claim 2 is characterized in that,
Described operation information transfer unit, according to described ID number divided by the remainder behind several N of user's administrative unit, come to determine user's administrative unit that connect,
Described user's administrative unit according to the described ID number quotient that several N drew divided by user's administrative unit, is determined the login position of the user's information in the described memory cell.
4. compilation system according to claim 1 is characterized in that also having:
The load dispersing unit, it comprises a plurality of described operation information transfer units, will distribute to a plurality of described operation information transfer units from the operation information that terminal is sent.
5. compilation system according to claim 1 is characterized in that also having:
Sequence number is given the unit, according at least a information of operation information that is stored in the user in a plurality of described memory cell and handling time information, gives sequence number for user's information.
6. compilation system according to claim 5 is characterized in that, corresponding a plurality of described memory cell are provided with a plurality of described sequence numbers and give the unit, and have:
The array generation unit generates and to be used for a plurality of handing-over arrays of giving the unit for a plurality of described sequence numbers the information distribution that is stored in described memory cell;
Synthesis unit, collect and synthetic should be by own synthetic a plurality of described handing-over array, and the result is synthesized in issue;
Converting unit is converted to the sequence number data with the number data of synthetic array;
Sequence number is given the unit, according to described sequence number data, gives sequence number for the user's information that is stored in the corresponding memory cell.
7. compilation system according to claim 6 is characterized in that,
Described handing-over array is the set of the array location that forms of the one-dimensional data array by stated number,
In the array location of lower layer, store the quantity data of expression information, this information has and is stored in the locational respective value of the array corresponding with the numerical value that should give sequence number,
The pointer of the next array location of storage representation position on the corresponding array position of the numerical value with giving sequence number of upper multilayer array location,
Array location only is created on inner or the next array location that has valid data.
8. compilation system according to claim 6, it is characterized in that, the described numerical value that should give sequence number is environment, the user's of personal information, user according to the user operation information, from the score that the elapsed time that handling time begins is obtained, give sequence number according to the order from small to large of score.
9. total method is characterized in that having:
Generate ID number step for each user;
Wish that to the terminal transmission terminal sends the step of the page information of the operation information that comprises described ID number;
Receive described ID number the operation information of comprising send from terminal,, this operation information is transferred to the step of determined user's administrative unit according to user's administrative unit of determining for ID number to connect; With
To pass on the operation information that comes and handling time information together from described operation information transfer unit, store step in the memory cell into corresponding to the user.
CN200480007643.3A 2003-11-10 2004-10-29 Compilation system Expired - Fee Related CN1762141B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP379467/2003 2003-11-10
JP2003379467 2003-11-10
JP379466/2003 2003-11-10
JP2003379466 2003-11-10
PCT/JP2004/016109 WO2005045719A1 (en) 2003-11-10 2004-10-29 Compilation system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN200910142514A Division CN101651715A (en) 2003-11-10 2004-10-29 Compilation system

Publications (2)

Publication Number Publication Date
CN1762141A true CN1762141A (en) 2006-04-19
CN1762141B CN1762141B (en) 2010-05-26

Family

ID=36707412

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200910142514A Pending CN101651715A (en) 2003-11-10 2004-10-29 Compilation system
CN200480007643.3A Expired - Fee Related CN1762141B (en) 2003-11-10 2004-10-29 Compilation system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200910142514A Pending CN101651715A (en) 2003-11-10 2004-10-29 Compilation system

Country Status (1)

Country Link
CN (2) CN101651715A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302300A (en) * 2017-07-25 2019-02-01 阿里巴巴集团控股有限公司 Data distributing method and device, data processing method and server

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095676A1 (en) * 1998-05-15 2002-07-18 Robert A. Knee Interactive television program guide system for determining user values for demographic categories

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302300A (en) * 2017-07-25 2019-02-01 阿里巴巴集团控股有限公司 Data distributing method and device, data processing method and server

Also Published As

Publication number Publication date
CN1762141B (en) 2010-05-26
CN101651715A (en) 2010-02-17

Similar Documents

Publication Publication Date Title
JP4906846B2 (en) Scoring user compatibility in social networks
US20080235377A1 (en) Aggregation system
JP5805548B2 (en) Information processing apparatus and information processing method
KR20130089716A (en) Server and terminal for recommending application according to use of application, and recommending application method
CN1275161C (en) Document file read system using network
JP6309539B2 (en) Method and apparatus for realizing speech input
EP1892661A1 (en) Lens order system, lens order method, lens order program and recording medium storing the lens order program
CN101405731A (en) A scalable search system using human searchers
CN1313779A (en) Score management system, score management server, and data recording medium
US10967281B2 (en) Automatic fantasy sports data analysis method and apparatus
CN1538337A (en) Purchesing betting tickets using wireless communication network
CN110795072A (en) Crowd-sourcing competition platform framework system and method based on crowd intelligence
CN110968801A (en) Real estate product searching method, storage medium and electronic device
US11063887B2 (en) Information processing apparatus, user terminal apparatus, and control method
EP2603889A2 (en) System and method for locating desired traits in resources using a network
CN1762141A (en) Compilation system
JP7202224B2 (en) Information processing device, user terminal device, control method and control program
JP2007272909A (en) Compilation system
CN1400536A (en) Method and system for calculating correlated desting of two or more persons
JP2021117576A (en) Information processor and introduction information creation method
JP2004334274A (en) Server
US11973876B1 (en) Value preference capture funnel and coding system
KR20020081943A (en) A method for realizing wireless internet game among a plurality of players
CN1720547A (en) Method and system for dynamic textual ad distribution via email
CN113703809B (en) Method, device, equipment and medium for updating home page application data configuration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100526

Termination date: 20141029

EXPY Termination of patent right or utility model