WO2011040765A2 - Système de données de classement pour calculer un classement de masse en temps réel, système d'interrogation de classement et procédé de calcul de classement - Google Patents

Système de données de classement pour calculer un classement de masse en temps réel, système d'interrogation de classement et procédé de calcul de classement Download PDF

Info

Publication number
WO2011040765A2
WO2011040765A2 PCT/KR2010/006654 KR2010006654W WO2011040765A2 WO 2011040765 A2 WO2011040765 A2 WO 2011040765A2 KR 2010006654 W KR2010006654 W KR 2010006654W WO 2011040765 A2 WO2011040765 A2 WO 2011040765A2
Authority
WO
WIPO (PCT)
Prior art keywords
ranking
query
information
data
score
Prior art date
Application number
PCT/KR2010/006654
Other languages
English (en)
Korean (ko)
Other versions
WO2011040765A3 (fr
Inventor
이현걸
제정민
임유익
Original Assignee
엔에이치엔(주)
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 엔에이치엔(주) filed Critical 엔에이치엔(주)
Publication of WO2011040765A2 publication Critical patent/WO2011040765A2/fr
Publication of WO2011040765A3 publication Critical patent/WO2011040765A3/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Definitions

  • Embodiments according to the present invention relate to a ranking data system, a ranking query system and a ranking calculation method for estimating a large capacity ranking in real time.
  • the ranking system according to the prior art is generally implemented in two ways as follows.
  • the ranking system stores a numerical value for calculating a ranking using a general DBMS, and calculates and stores the ranking through a database query operation at a predetermined time.
  • the ranking system can calculate the ranking only by the basic database operation, and it is the easiest way to implement because the application only needs to read the ranking information stored in the database.
  • the ranking is counted every predetermined time (for example, once a day), and the ranking information collected by the application is read. It is not impossible to calculate in real time, but doing so would reduce the scope of the ranking aggregates so that it would not overload the database. After all, the database is not suitable for aggregating real-time rankings because of its relatively slow responsiveness.
  • This method manages the ranking information by implementing the ranking server directly instead of the expensive and responsive DBMS.
  • the application may exchange a request and a response through the interface defined with the ranking server.
  • the ranking server conceptually operates as a kind of database cache for the ranking information.
  • Such a ranking server needs to permanently store ranking information managed internally.
  • the ranking information may be managed as a data file directly by using a separate DBMS inside / outside, or using the file system of the operating system.
  • the ranking servers can be distributed and processed by service domains, there is a disadvantage in that the application must know all the information about the ranking servers assigned by service domains. In addition, if a performance problem is encountered in a single service domain as well, it cannot be distributed. In addition, as the ranking server development takes time, it is not easy to apply the ranking to new services. Because the schema for the ranking itself is hard-coded, additional development is often required to change the schema or apply a new ranking.
  • a ranking data system a ranking query system, and a ranking calculation method capable of calculating such a large-capacity ranking in real time and efficiently are proposed.
  • a ranking data system and a ranking calculation method capable of calculating a large amount of ranking in real time by distributing and loading ranking information in a plurality of ranking data systems and processing the ranking information only for its own score section.
  • the query is relayed to the ranking data system that matches the query of the application, and the ranking is determined through the counters of the ranking data system's responses and the plurality of ranking data systems stored in the ranking route table.
  • a ranking query system and a ranking estimation method are provided that enable ranking estimation.
  • a ranking data system a ranking query system, which can dynamically distribute loads by moving some of the ranking information of the ranking data system with a high load rate to the ranking data system with a low load rate based on the burst rate of the ranking data system;
  • a ranking calculation method is provided.
  • the ranking data system reads attribute information of a ranking to be serviced from a ranking scheme table, and generates a data structure corresponding to the attribute information in a memory.
  • the ranking information loading unit which receives the ranking information of the corresponding score section among the ranking information distributed in the ranking data system and loads it into the memory through the data structure generated, and the ranking which receives the query from the application among the plurality of ranking query systems.
  • a request receiving unit for receiving a request for a query from the query system, and a request processing unit for processing the operation according to the received request for the loaded ranking information, and transmits the processing result to the ranking query system.
  • the ranking data system may include a load rate calculation unit for calculating its own load rate (burst rate), the load information and the ranking information of the adjacent score interval of the plurality of ranking data system is loaded Some of the jacked ranking information may be moved to the other ranking data system or a part of the ranking information loaded in the other ranking data system based on the load rate of the other ranking data system.
  • some of the loaded ranking information may be moved to another ranking data system when the ratio of the load ratio of the other ranking data system of its load rate is more than a certain ratio.
  • a plurality of ranking data systems may be loaded so that some of the score sections overlap each other for each ranking data system that loads the ranking information of the adjacent score sections, and some of the ranking information moved may be different rankings.
  • the data system may include ranking information overlapping each other.
  • the ranking data system may further include a load rate transmission unit for broadcasting the load rate to a plurality of ranking query system, the load rate may be updated in the ranking routing table included in the plurality of ranking query system .
  • the score section may be changed based on the load ratio in the plurality of ranking query systems, and some of the ranking information moved may include ranking information determined according to the change of the score section. .
  • the attribute information may be generated through a ranking management tool provided to the administrator.
  • the load ratio may be determined according to the throughput per second (TPS) and the free memory capacity.
  • the ranking data system may further include a backup unit for periodically backing up its ranking information to the database.
  • a query may be transmitted to a ranking data system determined from a plurality of ranking data systems based on the ranking routing table in the ranking query system.
  • the ranking may be calculated in the ranking query system based on the results processed by the request processing unit and the counts for each of the plurality of ranking data systems stored in the ranking routing table, and the count may request ranking information or It may include the number of ranking service using the subject to register the ranking information.
  • a data structure generation unit of a ranking data system reads attribute information of a ranking to be serviced from a ranking scheme table, and generates a data structure corresponding to the attribute information in a memory.
  • the ranking query system receives at least one of attribute information and a load rate from a plurality of ranking data systems to create or update a ranking routing table, analyzes a query received from an application, and rank routing
  • a query processor for transmitting a query to a ranking data system including ranking information corresponding to a query among a plurality of ranking data systems, a response processor for receiving a response of the ranking data system for the query and transmitting the response to an application;
  • a score section updating unit for updating the score section of the ranking information included in the ranking data system to the ranking routing table based on the load ratio.
  • the ranking calculation system comprises generating or updating a ranking routing table by receiving at least one of attribute information and a load rate from a plurality of ranking data systems in a table management unit of a ranking query system, and querying a ranking query system. Analyzing the query received from the application in the processing unit and transmitting the query to a ranking data system including ranking information corresponding to the query among the plurality of ranking data systems based on the ranking routing table, the query in the response processing unit of the ranking query system Receiving and transmitting a response of the ranking data system to the application and updating the score section of the ranking information included in each of the plurality of ranking data systems in the ranking routing table by the score section updater of the ranking query system based on the load ratio.
  • the score section update unit is included.
  • a large capacity ranking can be calculated in real time by distributing and loading ranking information in a plurality of ranking data systems and processing the ranking information only for its own score section.
  • the query is relayed to the ranking data system that matches the query of the application, and the ranking is determined through the counters of the ranking data system's responses and the plurality of ranking data systems stored in the ranking route table.
  • the ranking can be calculated.
  • the load can be distributed dynamically.
  • FIG. 1 is a view showing an overview of an entire system for providing a ranking service according to an embodiment of the present invention.
  • FIG. 2 is a view showing an overview of a ranking service system according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating an internal configuration of a ranking data system according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating an internal configuration of a ranking query system according to an embodiment of the present invention.
  • FIG. 5 is an example of a ranking routing table included in a ranking query system according to an embodiment of the present invention.
  • FIG. 6 is an example of ranking information loaded into a ranking data system according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a ranking calculation method according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a ranking calculation method according to another embodiment of the present invention.
  • FIG 9 is an example for explaining the basic operation of the ranking data system and the ranking query system according to an embodiment of the present invention.
  • FIG. 10 is an example for explaining an operation of dynamically distributing a load in a ranking data system and a ranking query system according to an embodiment of the present invention.
  • FIG. 1 is a view showing an overview of an entire system for providing a ranking service according to an embodiment of the present invention.
  • the ranking service system 100 may refer to a server group configured of a plurality of ranking query servers and a plurality of ranking data servers to provide a real-time ranking service.
  • the ranking information is internally distributed in order to provide a large amount of ranking information in real time at a high speed.
  • the user of the ranking service can use the ranking service using an interface provided as a service without knowing the internal structure.
  • the ranking management tool 110 is a tool designed to manage the ranking master scheme 120.
  • the ranking management tool 110 may be used to separate a development task from a ranking service operation task.
  • the ranking management tool 110 may provide general functions necessary for operation such as information on the ranking master scheme 120 as well as the process of deleting the illegal user ranking and checking the ranking log.
  • the ranking master scheme 120 sets meta information about the ranking, such as an attribute of the ranking, and may be maintained as a ranking scheme table.
  • the ranking data server included in the ranking service system 100 may generate a data structure corresponding to the ranking to be serviced through the ranking scheme table.
  • the ranking scheme table includes the ranking service domain name, the ranking period type (daily, weekly, monthly or cumulative), the ranking sort attribute (ascending or descending), the ranking tie processing method (first registrant first or latest registrant first), and the number of ranking types.
  • Various meta information such as designation may be set.
  • the database 130 is an external storage for backing up the ranking information stored in the memory of the ranking data server.
  • the first ranking data server may generate the data structure and receive necessary ranking information from the database and load it into the memory.
  • the application 140 may refer to a ranking service user that requests ranking information or registers the ranking information.
  • a ranking service user that requests ranking information or registers the ranking information.
  • it may be any program that runs on a terminal used by a user.
  • the ranking service system 100 may include a plurality of ranking data systems 210 and a plurality of ranking query systems 220.
  • the plurality of ranking data systems 210 may correspond to the plurality of ranking data servers described with reference to FIG. 1
  • the plurality of ranking query systems 220 may correspond to the plurality of ranking query servers described with reference to FIG. 1.
  • anycast may be performed through the Layer-4 (L4) switch or may be performed in software in the application 140.
  • L4 Layer-4
  • the ranking query system for receiving a query according to the request of the ranking information among the plurality of ranking query system 220 analyzes the received query, the ranking data system including the corresponding ranking information among the plurality of ranking data system 210
  • the query may be delivered, the response may be received from the ranking data system, and then transferred back to the application 140.
  • the ranking query system 220 since the plurality of ranking query system 220 needs to distribute a large amount of traffic, the ranking query system 220 may be flexibly expanded laterally.
  • the ranking data system 210 stores actual ranking information, and stores the ranking information in a memory for fast processing.
  • the plurality of ranking data systems 210 may generate an optimal data structure by using attribute information of the ranking included in the ranking scheme table. In this case, since the physical memory is also limited, the plurality of ranking data systems 210 may also be horizontally extended.
  • the ranking data system 300 may be one of the plurality of ranking data systems 210 described with reference to FIG. 2.
  • the ranking data system 300 includes a data structure generator 310, a ranking information loader 320, a request receiver 330, a request processor 340, and a load factor calculator 350. ),
  • the load factor transmitter 360 and the backup unit 370 may be included.
  • the data structure generation unit 310 reads the attribute information of the ranking to be serviced from the ranking scheme table, and generates a data structure corresponding to the attribute information in the memory. At this time, the attribute information may be generated through a ranking management tool provided to the administrator.
  • the ranking information loading unit 320 receives the ranking information of the corresponding score section among the ranking information divided by the score section distributed in a plurality of ranking data systems from the database and loads the ranking information into the memory through the data structure generated.
  • the ranking may be divided by service domain, and again, the ranking information may be divided according to a score section.
  • the ranking data system 300 may calculate the ranking only for the score interval assigned to it, for this purpose, the ranking information loading unit 320 may receive the ranking information of the corresponding score interval from the database and load it into the memory. have.
  • the request receiving unit 330 receives a request for a query from a ranking query system that receives a query from an application among a plurality of ranking query systems.
  • the query may be transmitted to one of the plurality of ranking data systems based on the ranking routing table in the ranking query system.
  • This ranking routing table may have the same value in all of the plurality of ranking query systems.
  • the ranking data system 300 may broadcast the information to a plurality of ranking query systems so that the ranking routing table may be updated in the same manner.
  • the request processor 340 processes an operation according to the received request with respect to the loaded ranking information, and transmits the processed result to the ranking query system.
  • the ranking may be calculated in the ranking query system based on the results processed by the request processing unit 340 and the counts for each of the plurality of ranking data systems stored in the ranking routing table, and the count may be used to request ranking information or register ranking information. It may include the number of users using the ranking service. Therefore, since the ranking query system can know the number of users included in the score interval corresponding to each of the plurality of ranking data systems through the count stored in the ranking routing table, knowing the ranking in one of the plurality of ranking data systems, The ranking of the application requesting the query can be calculated in the entire ranking service subject. This ranking calculation will be described in more detail with reference to FIG. 5 below.
  • the load rate calculation unit 350 calculates its own burst rate.
  • the load ratio may be determined according to the throughput per second (TPS) and the free memory capacity.
  • TPS throughput per second
  • the load factor may be calculated as in Equation 1 below.
  • the 'Exceed TPS' may have a value of 'Current TPS-5000', and when 'Exceed TPS' is negative, it may be corrected to '0'.
  • the unit of the free memory capacity may be megabytes.
  • part of the ranking information jacked based on its load rate and the load rate of another ranking data system in which ranking information of adjacent score sections among the plurality of ranking data systems is loaded is moved to another ranking data system or loaded in another ranking data system.
  • a part of the ranked ranking information may be moved.
  • some of the loaded ranking information may be moved to another ranking data system when the ratio of its load rate to the load rate of another ranking data system is more than a certain ratio. For example, in the ranking data systems H and I where the score intervals are adjacent to each other, if the load ratio of H is 1.5 times larger than the load ratio of I, some of the ranking information loaded in H may be moved to I, thereby reducing the load of H. have.
  • I may also compare the load ratio with the ranking data system J adjacent to the score section, and load may be dynamically distributed by sequentially comparing the load rates of all the ranking data systems with adjacent score sections.
  • some of the score sections may be stacked to overlap each other, and at this time, some of the ranking information may be overlapped with other ranking data systems.
  • the ranking information may be included.
  • the score interval is set to overlap each other to prevent the reading request to the two ranking data server, so that the read request for the list is This is to limit the occurrence to only one ranking data server.
  • the overlapping ranking information may be moved according to the load ratio.
  • the load rate transmitter 360 broadcasts the load rate to a plurality of ranking query systems.
  • the load ratio may be updated in a ranking routing table included in a plurality of ranking query systems.
  • the score section may be changed based on the load ratio in the plurality of ranking query systems, and the some ranking information moved may include ranking information determined according to the change of the score section. That is, the movement of the ranking information according to the load ratio may be performed through data movement between the ranking data systems, but may also be achieved by receiving and loading the ranking information of the score section changed in the ranking routing table from the database in each ranking data system.
  • the backup unit 370 periodically backs up its ranking information to the database.
  • the ranking query system 400 may be one of the plurality of ranking query systems 220 described with reference to FIG. 2.
  • the ranking query system 400 may include a table manager 410, a query processor 420, a response processor 430, and a score interval update unit 440 as shown in FIG. 4.
  • the table manager 410 receives at least one of the attribute information and the load factor from the plurality of ranking data systems to generate or update the ranking routing table.
  • the load ratio may be determined and broadcasted according to throughput per second (TPS) and free memory capacity in the plurality of ranking data systems, respectively.
  • TPS throughput per second
  • each of the plurality of ranking data systems may read attribute information of ranking to be serviced from the ranking scheme table, and generate a data structure corresponding to the attribute information in the memory. That is, the table manager 410 may generate or update the ranking routing table by receiving attribute information and load rates respectively received from the plurality of ranking data systems.
  • each of the plurality of ranking data systems may be divided according to the score section and loaded into the memory through the data structure generated by receiving the ranking information of the corresponding score section among the ranking information distributed in the plurality of ranking data systems from the database.
  • each of the ranking data systems for loading the ranking information of the score section adjacent to each other among the plurality of ranking data system may be stacked so that a part of the score section is overlapped with each other, the ranking routing table is the score section of the ranking information loaded without overlapping
  • the query processor 420 analyzes a query received from an application and transmits the query to a ranking data system including ranking information corresponding to the query among the plurality of ranking data systems based on the ranking routing table.
  • the query from the application may be transmitted to one of a plurality of ranking query systems through an anycast transmission scheme.
  • the response processor 430 receives a response of the ranking data system for the query and transmits the response to the application.
  • the ranking routing table may include a count, which is the number of ranking service users who request ranking information or register ranking information, for each of the plurality of ranking data systems, and the ranking may be calculated based on the response and the count.
  • the total score section is from 0 to 99 points, and is divided into 10 score sections in units of 10 points, and corresponding score sections in the 10 ranking data systems of the first ranking data system to the tenth ranking data system, respectively.
  • the ranking query system 400 relays the query to the eighth ranking data system to receive a response within the score interval of 70 to 79 points You can get a rank at.
  • the ranking query system 400 checks the counts of the ninth ranking data system and the tenth ranking data system in the ranking routing table, and is included in the score section of 80 to 89 points and the score section of 90 to 99 points.
  • the number of subjects using the ranking service may be checked to obtain a ranking outside the desired score section. That is, the ranking query system 400 may simply calculate the ranking of the application by summing the counts of the ninth ranking data system and the tenth ranking data system with the ranks within the score interval of 70 to 79 points.
  • the score section updater 440 updates the score section of the ranking information included in each of the ranking data systems in the ranking routing table based on the load ratio.
  • the score interval update unit 440 may include the score intervals of the ranking information included in the ranking data systems adjacent to each other based on the load ratios in the ranking routing table.
  • the ranking data systems adjacent to each other may mean a ranking data system including ranking information of score sections adjacent to each other.
  • the load ratio of H is 1.5 times larger than the load ratio of I
  • some of the ranking information loaded in H may be moved to I, thereby reducing the load of H. have.
  • I may also compare the load ratio with the ranking data system J adjacent to the score section, and load may be dynamically distributed by sequentially comparing the load rates of all the ranking data systems with adjacent score sections.
  • the ranking information is distributed and loaded in the plurality of ranking data systems, and the ranking information is processed only for its own score section in real time.
  • a large amount of ranking can be calculated, and the ranking route system relays the query to the ranking data system suitable for the application's query, and the counter of each ranking data system stored in the ranking route system's response and the ranking route system
  • the load can be distributed dynamically.
  • the first table 510 includes respective game identifiers and table pointers. That is, the first table 510 primarily shows ranking information classified by service domains.
  • the second table 520 divides the score section into a reading section and a writing section for one game, so that the minimum and maximum values for each score section, the count representing the number of ranking service users included in the score section, and the corresponding score section It includes the address of the ranking data system loaded with the ranking information of and the load ratio of each ranking data system.
  • the total score interval is '0' to '10000'.
  • the ranking query system receives the ranking '100' as a response from the second ranking data system having the read interval between '4000' and '6000', the ranking of the application is' at the read interval '7000'. It can be seen that the sum '734' of the third ranking data system between 9000 'points and' 834 'is the sum of the responses' 100'.
  • the load ratio of the third ranking data system is '7832' and is 1.5 times larger than the load ratio '4423' of the second ranking data system, some of the ranking information of the third ranking data system is transmitted to the second ranking data system. 3 can reduce the load on the ranking data system.
  • the third ranking data system and the second ranking data system have ranking information corresponding to a score section between '6000' points and '7000' points through the write section minimum value and the write section maximum value of the second table 520. It can be seen that they are stacked on top of each other.
  • the ranking query system may update the maximum value of the read interval of the second ranking data system from the existing '6000' point to '7000' point, and update the maximum value of the write interval from '7000' point to '8000' point. Can be.
  • the ranking query system may update the minimum value of the read interval of the third ranking data system from '7000' to '8000' and the minimum value of the write interval from '6000' to '7000'. That is, if the application requests the ranking of the user having a score of '7500' before updating, the ranking query system relays the request to the third ranking data system. However, after the update, the request is relayed to the second ranking data system, thereby reducing the load of the third ranking data system.
  • the ranking query system may relay the request to the ranking data system having a small load rate according to the load rate.
  • the update may be applied by directly transmitting the corresponding ranking information from the third ranking data system to the second ranking data system or by reloading the ranking information according to the corresponding score section from the database according to the changed section.
  • the above operation is repeated with the first ranking data system having a read interval of '0 to' 3000 ', thereby spreading the load evenly over the entire service area. Can be.
  • the first section 601 to the fourth section 604 may mean a score section corresponding to each of the four ranking data systems.
  • each of the ranking data systems may overlap a part of the score intervals. This is to prevent a situation in which a request should be relayed to two ranking data systems when adjacent ranking information is requested for ranking information located at both ends of a score section. For example, if ranking information of '2999' points and ranking information of '3000' points are needed, the ranking information for the '4000' points and the '4001 points' is a ranking data system for the first section 601. If necessary, by relaying the request to the ranking data system for the second interval 602, the read request may be limited to one ranking data server even if a write request occurs in up to two ranking data systems.
  • FIG. 7 is a flowchart illustrating a ranking calculation method according to an embodiment of the present invention.
  • the ranking calculation method according to the present embodiment may be performed by the ranking data system 300 described with reference to FIG. 3.
  • a ranking calculation method will be described by describing a process in which each step is performed by the ranking data system 300.
  • the ranking data system 300 reads the attribute information of the ranking to be serviced from the ranking scheme table, and creates a data structure corresponding to the attribute information in memory.
  • the attribute information may be generated through a ranking management tool provided to the administrator.
  • the ranking data system 300 is divided according to the score intervals and distributed to the plurality of ranking data systems among the ranking information of the corresponding score intervals among the ranking information received from the database to the memory structure through the data structure generated Load it.
  • the ranking may be divided by service domain, and again, the ranking information may be divided according to a score section.
  • the ranking data system 300 may calculate the ranking only for the score section allocated to the ranking data system 300, and receive the ranking information of the corresponding score section from the database and load the ranking information in the memory.
  • the ranking data system 300 receives a request for a query from a ranking query system that receives a query from an application among a plurality of ranking query systems.
  • the query may be transmitted to one of the plurality of ranking data systems based on the ranking routing table in the ranking query system.
  • This ranking routing table may have the same value in all of the plurality of ranking query systems.
  • the ranking data system 300 may broadcast the information to a plurality of ranking query systems so that the ranking routing table may be updated in the same manner.
  • the ranking data system 300 processes an operation according to the received request with respect to the loaded ranking information, and transmits the processed result to the ranking query system.
  • the ranking may be calculated in the ranking query system based on the results processed by the ranking data system 300 and the counts for each of the plurality of ranking data systems stored in the ranking routing table, the counts requesting the ranking information or registering the ranking information. It may include the number of users using the ranking service. Therefore, since the ranking query system can know the number of users included in the score interval corresponding to each of the plurality of ranking data systems through the count stored in the ranking routing table, knowing the ranking in one of the plurality of ranking data systems, The ranking of the application requesting the query can be calculated in the entire ranking service subject. This ranking calculation will be described in more detail with reference to FIG. 5 below.
  • step 750 ranking data system 300 calculates its burst rate.
  • the load ratio may be determined according to the throughput per second (TPS) and the free memory capacity.
  • part of the ranking information jacked based on its load rate and the load rate of another ranking data system in which ranking information of adjacent score sections among the plurality of ranking data systems is loaded is moved to another ranking data system or loaded in another ranking data system.
  • a part of the ranked ranking information may be moved.
  • some of the loaded ranking information may be moved to another ranking data system when the ratio of its load rate to the load rate of another ranking data system is more than a certain ratio. For example, in the ranking data systems H and I where the score intervals are adjacent to each other, if the load ratio of H is 1.5 times larger than the load ratio of I, some of the ranking information loaded in H may be moved to I, thereby reducing the load of H. have.
  • I may also load balance dynamically by comparing the load rate with the ranking data system J adjacent to the score section and sequentially comparing the load rates of all the ranking data systems with adjacent score sections.
  • some of the score sections may be stacked to overlap each other, and at this time, some of the ranking information may be overlapped with other ranking data systems.
  • the ranking information may be included.
  • the score interval is set to overlap each other to prevent the reading request to the two ranking data server, so that the read request for the list is This is to limit the occurrence to only one ranking data server.
  • the overlapping ranking information may be moved according to the load ratio.
  • ranking data system 300 broadcasts the load rate to a plurality of ranking query systems.
  • the load ratio may be updated in a ranking routing table included in a plurality of ranking query systems.
  • the score section may be changed based on the load ratio in the plurality of ranking query systems, and the some ranking information moved may include ranking information determined according to the change of the score section. That is, the movement of the ranking information according to the load ratio may be performed through data movement between the ranking data systems, but may also be achieved by receiving and loading the ranking information of the score section changed in the ranking routing table from the database in each ranking data system.
  • step 770 ranking data system 300 periodically backs up its ranking information to the database.
  • the above-described steps 710 to 770 may include a data structure generation unit, a ranking information loading unit, a request receiving unit, a request processing unit, a load rate calculating unit, a load rate transmitting unit, and a backup unit that the ranking data system 300 may include. Each can be performed.
  • FIG. 8 is a flowchart illustrating a ranking calculation method according to another embodiment of the present invention.
  • the ranking calculation method according to the present embodiment may be performed through the ranking query system 400 described with reference to FIG. 4.
  • a ranking calculation method will be described by describing a process of performing each step through the ranking query system 400.
  • the ranking query system 400 receives at least one of the attribute information and the load factor from the plurality of ranking data system to generate or update the ranking routing table.
  • the load ratio may be determined and broadcasted according to the TPS and the free memory capacity in the plurality of ranking data systems, respectively.
  • each of the plurality of ranking data systems may read attribute information of ranking to be serviced from the ranking scheme table, and generate a data structure corresponding to the attribute information in the memory. That is, the ranking query system 400 may generate or update the ranking routing table by receiving attribute information and load rates respectively received from the plurality of ranking data systems.
  • each of the plurality of ranking data systems may be divided according to the score section and loaded into the memory through the data structure generated by receiving the ranking information of the corresponding score section among the ranking information distributed in the plurality of ranking data systems from the database.
  • each of the ranking data systems for loading the ranking information of the score section adjacent to each other among the plurality of ranking data system may be stacked so that a part of the score section is overlapped with each other, the ranking routing table is the score section of the ranking information loaded without overlapping
  • the score section of the non-overlapping ranking information and the score section of the overlapping ranking information may be stored as write sections, respectively. That is, the write operation may occur in two ranking data systems at the same time, but the read operation may be limited to occur in one ranking data system.
  • the ranking query system 400 analyzes a query received from an application, and includes a ranking data system including ranking information corresponding to the query among the plurality of ranking data systems based on the ranking routing table. Send the query.
  • the query from the application may be transmitted to one of a plurality of ranking query systems through an anycast transmission scheme.
  • ranking query system 400 receives the response of the ranking data system for the query and transmits to the application.
  • the ranking routing table may include a count, which is the number of ranking service users who request ranking information or register ranking information, for each of the plurality of ranking data systems, and the ranking may be calculated based on the response and the count.
  • the total score section is from 0 to 99 points, and is divided into 10 score sections in units of 10 points, and corresponding score sections in the 10 ranking data systems of the first ranking data system to the tenth ranking data system, respectively.
  • the ranking query system 400 relays the query to the eighth ranking data system to receive a response within the score interval of 70 to 79 points You can get a rank at.
  • the ranking query system 400 checks the counts of the ninth ranking data system and the tenth ranking data system in the ranking routing table, and is included in the score section of 80 to 89 points and the score section of 90 to 99 points.
  • the number of subjects using the ranking service may be checked to obtain a ranking outside the desired score section. That is, the ranking query system 400 may simply calculate the ranking of the application by summing the counts of the ninth ranking data system and the tenth ranking data system with the ranks within the score interval of 70 to 79 points.
  • the ranking query system 400 updates the score section of the ranking information included in each of the plurality of ranking data system in the ranking routing table based on the load ratio.
  • the ranking query system 400 updates the score intervals of the ranking information included in the ranking data systems adjacent to each other based on the load ratios in the ranking routing table.
  • the ranking data systems adjacent to each other may mean a ranking data system including ranking information of score sections adjacent to each other.
  • the load ratio of H is 1.5 times larger than the load ratio of I
  • some of the ranking information loaded in H may be moved to I, thereby reducing the load of H. have.
  • I may also compare the load ratio with the ranking data system J adjacent to the score section, and load may be dynamically distributed by sequentially comparing the load rates of all the ranking data systems with adjacent score sections.
  • the above-described steps 810 to 840 may be performed by the table manager, the query processor, the response processor, and the score interval update unit, which the ranking data system 400 may include.
  • the ranking information is distributed and stacked in a plurality of ranking data systems, and the ranking information is processed only for its own score section, thereby enabling a large-scale ranking in real time.
  • the ranking relay the query to the ranking data system that matches the query of the application using the ranking route table, and determine the ranking through the counter of each of the plurality of ranking data systems stored in the ranking data table's response and the ranking route table.
  • large-scale ranking can be calculated in real time.
  • the load can be distributed dynamically.
  • FIG 9 is an example for explaining the basic operation of the ranking data system and the ranking query system according to an embodiment of the present invention.
  • the attribute information to be generated may be generated through the attribute of the ranking input through the ranking management tool, and the attribute information of the ranking may be registered in the ranking scheme table.
  • the ranking data system reads the ranking information to be served from the ranking scheme table, and creates a data structure corresponding thereto in main memory, and generates ranking information backed up from the database. Can be loaded into internal data structures.
  • the ranking query system may read attribute information generated in each ranking data system to generate a ranking routing table.
  • a ranking query system receives a query for a ranking request from an application, the ranking request is queried for a ranking routing table in which ranking information corresponding information corresponds to the ranking request, and relays the request to the corresponding ranking data system.
  • the query for the ranking request from the application may be received through an anycast transmission scheme for the plurality of ranking query systems.
  • the ranking data system searches for an internal data structure in which the ranking information is stored, performs a required operation, and transfers the result to the requested ranking query system.
  • the ranking query system may deliver the result received from the ranking data system to the application that has transmitted the query. In this case, as described above, the overall ranking may be calculated by using the ranking routing table and the received result by the ranking query system and then transferred to the application.
  • the result received by the application may be transmitted to the user, and in operation 980, the ranking data system may periodically back up its ranking information to the database.
  • FIG. 10 is an example for explaining an operation of dynamically distributing a load in a ranking data system and a ranking query system according to an embodiment of the present invention.
  • step S1010 the ranking data system periodically broadcasts its load rate to the ranking query system.
  • step 1020 the ranking query system checks whether a ratio between load rates is equal to or greater than A for all ranking data systems including ranking information of score sections adjacent to each other. In this case, step 1020 may be repeatedly performed until the ratio between the load ratios is equal to or greater than A through step 1030.
  • the area of the adjacent buffer is adjusted by changing the values of the read interval and the write interval of the ranking routing table in the ranking query system.
  • the adjacent buffer is an area for storing ranking information of overlapping score sections in a ranking data system in which ranking information of adjacent score sections is loaded.
  • a low-loading ranking data system stores ranking information of adjacent buffers in a dedicated area.
  • the new adjacent buffer area is set, and the ranking data system having a high load ratio can convert a portion of the dedicated area into the adjacent buffer area.
  • Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium.
  • the computer readable medium may include program instructions, file data, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

Landscapes

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

Abstract

L'invention porte sur un système de données de classement pour calculer un classement de masse en temps réel, sur un système d'interrogation de classement et sur un procédé de calcul de classement. Le système de données de classement comprend : une unité de génération de structure de données pour lire des informations de propriété d'un classement en tant cible de service dans une table de système de classement et générer une structure de données correspondant à des informations de propriété dans une mémoire ; une unité de chargement d'informations de classement pour recevoir les informations de classement de la section ponctuelle correspondante des informations de classement en provenance d'une base de données et charger les informations de classement reçues dans la mémoire par l'intermédiaire de la structure de données générée, les informations de classement étant divisées par les sections ponctuelles et étant distribuées et chargées dans une pluralité de systèmes de données de classement ; une unité de réception de requête pour recevoir une requête d'interrogation provenant d'un système d'interrogation de classement servant à recevoir une interrogation provenant d'une application d'une pluralité de systèmes d'interrogation de classement ; et une unité de traitement de requête pour traiter une opération conformément à la requête reçue par rapport aux informations de classement chargées et transmettre le résultat traité aux systèmes d'interrogation de classement.
PCT/KR2010/006654 2009-09-30 2010-09-30 Système de données de classement pour calculer un classement de masse en temps réel, système d'interrogation de classement et procédé de calcul de classement WO2011040765A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2009-0093476 2009-09-30
KR1020090093476A KR101029416B1 (ko) 2009-09-30 2009-09-30 실시간으로 대용량 랭킹을 산정하기 위한 랭킹 데이터 시스템, 랭킹 질의 시스템 및 랭킹 산정 방법

Publications (2)

Publication Number Publication Date
WO2011040765A2 true WO2011040765A2 (fr) 2011-04-07
WO2011040765A3 WO2011040765A3 (fr) 2011-07-28

Family

ID=43826790

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/006654 WO2011040765A2 (fr) 2009-09-30 2010-09-30 Système de données de classement pour calculer un classement de masse en temps réel, système d'interrogation de classement et procédé de calcul de classement

Country Status (2)

Country Link
KR (1) KR101029416B1 (fr)
WO (1) WO2011040765A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241195A (zh) * 2017-07-03 2019-01-18 北京国双科技有限公司 排名的计算方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289971B2 (en) * 2015-02-13 2019-05-14 Atlassian Pty Ltd Issue and trigger rebalancing in a ranked issue management system
KR101667796B1 (ko) * 2015-07-21 2016-10-20 네이버 주식회사 검색 결과의 실시간 변화 양상을 제공하는 검색 결과 제공 방법과 시스템 및 기록 매체
CN110147944B (zh) * 2019-04-30 2023-08-01 创新先进技术有限公司 排名方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005118543A (ja) * 2003-09-24 2005-05-12 Sega Corp ランキングデータ生成プログラム
KR20070003268A (ko) * 2005-07-01 2007-01-05 메타냅주식회사 동적 검색 결과 순위 생성 방법 및 시스템
US20090132515A1 (en) * 2007-11-19 2009-05-21 Yumao Lu Method and Apparatus for Performing Multi-Phase Ranking of Web Search Results by Re-Ranking Results Using Feature and Label Calibration
KR101049777B1 (ko) * 2008-01-21 2011-07-19 주식회사 드래곤플라이 실시간 랭킹 제공 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241195A (zh) * 2017-07-03 2019-01-18 北京国双科技有限公司 排名的计算方法及装置
CN109241195B (zh) * 2017-07-03 2022-03-18 北京国双科技有限公司 排名的计算方法及装置

Also Published As

Publication number Publication date
WO2011040765A3 (fr) 2011-07-28
KR101029416B1 (ko) 2011-04-14
KR20110035665A (ko) 2011-04-06

Similar Documents

Publication Publication Date Title
WO2014042415A1 (fr) Système et procédé de service de stockage distribué intelligent
WO2012111905A2 (fr) Dispositif et procédé de commande de cluster de mémoire distribuée utilisant mapreduce
WO2010044629A2 (fr) Appareil et procédé permettant la gestion d'application publicitaire
WO2018106012A1 (fr) Système et procédé de calcul de contribution de nœuds de réseau distribués à un service
WO2012141404A1 (fr) Appareil de serveur de réplication et procédé de génération d'une réplique d'un système de stockage de distribution
WO2020022760A1 (fr) Système de réseau distribué pour groupe fonctionnel pour des noeuds contenus dans un système
WO2014189190A1 (fr) Système et procédé de récupération d'informations sur la base d'un étiquetage d'éléments de données
WO2011081319A2 (fr) Procédé et appareil de réseau pour demander des données sur la base d'un nom de contenu
WO2011040765A2 (fr) Système de données de classement pour calculer un classement de masse en temps réel, système d'interrogation de classement et procédé de calcul de classement
WO2018062614A1 (fr) Système de gestion de données de mesure et support d'enregistrement lisible par ordinateur
WO2014029111A1 (fr) Système et procédé de traitement pour comportement d'utilisateurs
WO2017082505A1 (fr) Dispositif électronique à système d'exploitation multiple et son procédé de gestion de mémoire dynamique
JP5782937B2 (ja) タグ管理装置、タグ管理システムおよびタグ管理プログラム
WO2017131355A1 (fr) Dispositif de sécurité d'auto-défense basé sur un environnement système et une analyse de comportement utilisateur, et procédé de fonctionnement associé
WO2013176431A1 (fr) Système et procédé pour allouer un serveur à un serveur et pour une messagerie efficace
WO2010056042A2 (fr) Appareil et procédé pour fournir et recevoir un service publicitaire mobile dans un système publicitaire mobile
JP3290801B2 (ja) 資源所在位置検出方式
WO2014042414A1 (fr) Système et procédé de service de stockage virtuel basés sur un dispositif de bloc
WO2017146348A1 (fr) Système de données volumineuses basé sur la localisation
WO2010093084A1 (fr) Procédé et système de réalisation d'un environnement de programmation distribué mettant en oeuvre des espaces distribués, et support d'enregistrement lisible par ordinateur
WO2018043767A1 (fr) Procédé de collecte de données à l'aide d'un conteneur d'agent de données et système associé
WO2013085089A1 (fr) Procédé d'utilisation de ressource de réseau de communication dans un environnement de nuage m2m et système correspondant
WO2018151536A1 (fr) Procédé et dispositif pour générer automatiquement une règle d'appel à mise à l'échelle automatique pour chaque locataire individuel dans un environnement multi-locataire
WO2023085573A1 (fr) Procédé et dispositif d'accès à des informations contextuelles pour service intelligent robotisé
WO2015068897A1 (fr) Procédé permettant de relayer un serveur de cloud

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10820838

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10820838

Country of ref document: EP

Kind code of ref document: A2