Distributed conference control method and system
By using hash arrays and consistency selectors, a uniform mapping of meeting numbers and server load balancing were achieved in the distributed meeting control system. This solved the problems of large data migration and unbalanced load caused by server changes, ensuring the stability and seamless switching of the user experience.
Patent Information
- Application Number
- CN202210521988.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-14
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2042-05-14
AI Technical Summary
Distributed conference control systems suffer from problems such as large data migration volumes, unbalanced loads, and poor service stability when the conference control server changes, resulting in a poor user experience.
By employing hash arrays and consistency selectors, meeting numbers are uniquely mapped to array cells through hash calculations, and minimal migration and redistribution are performed when servers change, ensuring load balancing and service stability.
It enables seamless migration of meeting data when servers change, ensuring uninterrupted meetings, providing a consistently stable user experience, and maintaining load balancing during scaling up or down, thus improving the system's flexibility and stability.
Smart Images

Figure CN115022572B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of communication technology, in particular, to a distributed conference control method and system thereof. BACKGROUND
[0002] Internet-based video communication technology is widely used in video conference scenarios in work and life. The conference control system for video conference is different from other content providers of services, which has a strong state characteristic, that is, the operation of the same conference has a time sequence requirement, and the first to process the first and the last to process the last. However, if the control of the same conference is distributed to different servers, the different servers cannot guarantee serial processing according to the receiving order, and this physical space isolation makes it impossible for different servers to synchronize. For example, in the same conference, message A is sent first and message B is sent later, but because server 1 receiving message A runs and processes slower than server 2 receiving message B, this will directly lead to the later sent message B being processed earlier than the earlier sent message A, which will inevitably cause a fault. Therefore, the control of the same conference must be distributed to the same server.
[0003] The distributed conference control system is generally controlled and managed by conference number. The problem is that when the conference is in progress, the conference control server in the distributed conference control system changes, such as failure, expansion of multiple servers, etc. Generally, the conference numbers need to be re-assigned between the changed conference control servers, and the corresponding relationship between each conference number and the conference control server after the change needs to be stored and recorded. Since the conference number will also change frequently (a conference number is generated for each conference), a large amount of data needs to be stored and frequently synchronized between the consistency selector and the conference control server to update the corresponding relationship, which occupies a large amount of resources.
[0004] Further, the conference data needs to be migrated. If the data migration amount is large, it will cause the conference to be interrupted. If the conference numbers are not evenly distributed between the conference control servers, the load of the distributed conference control system will be unbalanced. Therefore, the stability of the distributed conference control system in the above-mentioned situation is relatively poor, and it cannot maintain the optimal operating state. Unstable service leads to poor user experience.
[0005] In order to solve the above-mentioned problem of large data migration amount, it is necessary to reduce the migration of conference data between conference control servers as much as possible, that is, the conference control server corresponding to the original conference number is kept as much as possible. In the prior art, the general implementation strategy of the consistency algorithm to solve the above-mentioned data migration problem is as shown in Figure 1
[0006] 1. Define a virtual hash ring, in the initial state, a plurality of processors such asFigure 1 The processors cc1-cc3 in the figure are evenly distributed at some positions of the virtual hash ring;
[0007] 2. Obtain a processing result by processing the computing targets 9001-9003;
[0008] 3. Based on the processing result, drop the computing targets to random positions on the virtual hash ring;
[0009] 4. Starting from the random position where the computing target is located, find the position of the next processor along the virtual hash ring in a clockwise direction, and select the processor.
[0010] For example, Figure 1 The computing target 9001 selects the processor cc2, the computing target 9002 selects the processor cc3, and the computing target 9003 selects the processor cc1.
[0011] However, it is not difficult to find that the uniformity of such a hash consistency algorithm depends on the distribution state of the processors on the virtual hash ring. Even if the first processors are evenly distributed, it is not necessarily guaranteed that the changed processors still have high uniformity after the increase or decrease of the processors, and there is a high probability that the virtual hash ring will be tilted, as shown in Figure 2 and Figure 3 .
[0012] Figure 2 In the figure, the processor cc3 is reduced, and it can be ensured that the computing targets originally selecting the processors cc1 and cc2 are not affected, but the computing targets originally selecting the processor cc3 will all be found to fall on the processor cc1 in the clockwise direction. Even if the virtual hash ring is divided into small enough units by copying multiple copies of the processors cc1 and cc2, as long as the processors are increased or deleted irregularly, the virtual hash ring will be tilted.
[0013] Figure 3 In the figure, the processor cc4 is added, and it can be ensured that the computing targets originally selecting the processors cc3 and cc2 are not affected. For the computing target 9003 originally selecting the processor cc1 between cc3 and cc4, it will be found to the processor cc4 in the clockwise direction, that is, the processor cc4 will take over all the computing targets originally processed by the processor cc1 between cc3 and cc4. After such allocation, the traffic of the processors cc2 and cc3 is not shared by the new processor cc4, but only the traffic of the processor cc1 is shared by the processor cc4. Therefore, when the processor is increased, it is extremely easy to have the problem of uneven distribution of computing targets.
[0014] The capacity expansion or contraction of the distributed control system has certain requirements for uniformity. If the capacity expansion or contraction leads to uneven distribution of business volume, it may cause the spread and avalanche of faults. Figure 2 For example, if the design capacity of each processor is to process 500 computing targets:
[0015] When the service is running normally, the processors cc1, cc2 and cc3 each undertake the business volume of 300 computing targets.
[0016] When the processor cc3 fails, all 300 computing targets of the processor cc3 are allocated to the processor cc1, so that the virtual hash ring is tilted, that is, the processor cc1 will undertake 600 computing targets, which will cause the avalanche of faults. The detailed analysis is as follows:
[0017] 1. The 300 business volume undertaken by cc2 has no change, and 300 business volume is managed;
[0018] 2. The cc1 alone takes over the business left by cc3, and manages 600 business volume;
[0019] 3. The business volume of cc1 exceeds the design capacity, and the collapse leads to faults;
[0020] 4. The cc2 takes over the 600 business volume above cc1, which leads to cc2 exceeding the limit, and continues to fail. No processor means that the business is completely paralyzed.
[0021] The above design capacity exceeding leads to faults. Although the capacity can be limited to ensure that the faults do not spread, the cost is that the processor cc1 can only take over the 200 business left by the processor cc3, resulting in 100 business being damaged.
[0022] Therefore, the conventional hash consistency algorithm in the prior art cannot solve the problem of uneven distribution of computing targets among processors due to the change of the number of processors. SUMMARY
[0023] The application provides a distributed conference control method and system, which effectively realizes the flexible management of the distributed conference system, ensures that the conference does not interrupt when the conference control server in the distributed conference control system changes, maintains the load balancing state of the distributed conference control system when the service capacity is expanded, and provides continuous, stable and reliable service for users.
[0024] In a first aspect, the application provides a distributed conference control method, characterized in that the method comprises:
[0025] The hash array is included in the consistency selector, and the hash array comprises a plurality of array units, and each array unit corresponds to a conference control server;
[0026] receiving data with a uniquely corresponding conference number;
[0027] the consistency selector converts the conference number corresponding to the received data;
[0028] the array unit corresponding to the conference number is uniquely selected according to the conversion result;
[0029] the data corresponding to the conference number is transmitted to the corresponding conference control server in the selected array unit.
[0030] In a second aspect, the present application further provides a distributed conference control system, characterized in that the system comprises:
[0031] receiving means for receiving data with a uniquely corresponding conference number;
[0032] a consistency selector, wherein a hash array is included in the consistency selector, the hash array comprises a plurality of array units, each of which corresponds to a conference control server, the consistency selector converts the conference number corresponding to the received data, and the array unit corresponding to the conference number is uniquely selected according to the conversion result;
[0033] transmission means for transmitting the data corresponding to the conference number to the corresponding conference control server in the selected array unit.
[0034] In a third aspect, the present application further provides a distributed conference control method, characterized in that the method comprises:
[0035] performing hash calculation on a conference number to obtain a hash value;
[0036] converting the hash value to obtain a conversion result;
[0037] uniquely selecting a conference control server corresponding to the conference number according to the conversion result.
[0038] The application provides a distributed conference control method and system, which is based on the deployment of array units: first, a consistency selector uniquely selects an array unit corresponding to a conference number of the same conference, for example, regardless of whether the data output by the audio / video server or the recording server is processed, as long as the conference number is consistent, the same array unit will be selected, ensuring the strong state attribute, that is, ensuring that the operation of the same conference is processed first and then processed later; second, all conference numbers are uniformly scattered in the hash array by the algorithm (not the traditional storage record) of the consistency selector, that is, the conference numbers in each array unit are basically the same, the algorithm only consumes CPU, is universal across languages, and can be integrated into the peripheral server at any time, even if there are hundreds of thousands of conferences currently, the efficiency of the algorithm selection is very high, and the traditional storage record method will have a greater selection cost when the conference data is huge, and the storage query and comparison will increase with the increase of the conference data; third, each array unit corresponds to a conference control server, and all conference control servers are uniformly distributed in the hash array, that is, the number of array units corresponding to each conference control server is basically the same; fourth, when the number of conference control servers in the distributed conference control system changes, while achieving the re-distribution of all conference numbers among the conference control servers, the minimum range of migration can be ensured, and the number of array units of the conference control server needs to be changed the least, and all the conference control servers are not rearranged in the hash array. When reducing the conference control server, the existing other conference control servers take turns to traverse the released array units, when increasing the conference control server, the increased conference control server takes turns to traverse the array units released by the original conference control server, and when the array unit is re-distributed, only the correspondence between the array unit and the conference control server needs to be stored and recorded, and the correspondence between the conference number and the array unit does not need to be stored and recorded, which can be calculated temporarily when needed. Since the number of array units in the hash array is fixed, and the change range and frequency of the number of conference control servers will not be too large, the storage space will not be occupied too much and the update will not be frequent; fifth, the business level is not sensitive to data migration, and the user experience is seamlessly switched.
[0039] The second and third points above achieve the uniform scattering of all conferences based on the conference number in all conference control servers in the distributed conference control system through the setting of the array unit, and achieve the purpose of load balancing.
[0040] The fourth and fifth points can ensure that the conference does not interrupt when the service fails, and can maintain the load balancing state of the distributed conference control system and the minimum range of migration when the service is expanded, to provide continuous, stable and reliable service for users, and realize flexible management of the distributed conference system. BRIEF DESCRIPTION OF DRAWINGS
[0041] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0042] Figure 1 is a schematic diagram of the principle of the hash consistency algorithm in the prior art;
[0043] Figure 2 is a schematic diagram of the hash consistency algorithm processing when reducing the processor in the prior art;
[0044] Figure 3 is a schematic diagram of the hash consistency algorithm processing when increasing the processor in the prior art;
[0045] Figure 4 is a flowchart of the distributed conference control method provided by the embodiment of the present application;
[0046] Figure 5 is a schematic diagram of consistency calculation in a conventional scenario provided by the embodiment of the present application;
[0047] Figure 6 is a flowchart of the distributed conference control method provided by the embodiment of the present application when reducing the conference control server;
[0048] Figure 7 is a flowchart of the distributed conference control method provided by the embodiment of the present application when increasing the conference control server
[0049] Figure 8 is a schematic diagram of consistency calculation when reducing the conference control server provided by the embodiment of the present application;
[0050] Figure 9 is a schematic diagram of consistency calculation when increasing the conference control server provided by the embodiment of the present application;
[0051] Figure 10 is a schematic diagram of the distributed conference control system provided by the embodiment of the present application. DETAILED DESCRIPTION
[0052] The technical solutions of the present application will be further described in detail below by means of the drawings and embodiments. SUMMARY
[0054] As described above, the present application provides a flexible distributed conference control method and system, which can significantly improve the stability of the service, mainly reflected in the following points:
[0055] 1. Distributed services can achieve conference control system no-sense migration, conference no-interruption, and call no-drop when services restart or fail;
[0056] 2. The distributed services can perform expansion or contraction, and can switch the current conference to the new service without loss, and immediately complete the load balancing strategy control;
[0057] 3. The migration operation involved in the present application can bring no-sense conference reconstruction to users and ensure uninterrupted conference experience.
[0058] Exemplary Method
[0059] Figure 4 is a distributed conference control method flowchart provided by an embodiment of the present application, and the embodiment includes the following steps:
[0060] S401: A hash array is included in a consistency selector, and the hash array includes a plurality of array units, and each array unit corresponds to a conference control server.
[0061] The consistency selector is a front selection point of the conference control server, and the consistency selector is integrated in one or more peripheral servers. The peripheral servers include an access server for processing terminal messages, a dedicated server for processing live recording, a media dedicated server for processing audio and video, etc.
[0062] The hash array is an array of N rows and M columns, where M and N are both integers greater than or equal to 1. The hash array includes N×M array units. For example, if N=6 and M=8, the hash array includes 48 array units.
[0063] The conference control server is a server for overall control and management of conference processes and tasks. For example, a user first clicks a "subtitle" button and then clicks a "record" button. The conference control server will first process the subtitle task and then process the recording task.
[0064] The step S401 specifically includes: a plurality of conference control servers are used to iteratively traverse each array unit in the hash array, so that each array unit corresponds to a conference control server, and each conference control server is uniformly distributed in the array unit.
[0065] Each conference control server corresponds to one or more array units. When the total number of array units N×M is a multiple of the total number of conference control servers, the number of array units corresponding to each conference control server is equal. When the total number of array units N×M is not a multiple of the total number of conference control servers, the number of array units corresponding to each conference control server is not exactly equal but close. For example, if the total number of array units is 35 and the total number of conference control servers is 5, then each conference control server corresponds to 7 array units; if the total number of array units is 40 and the total number of conference control servers is 7, then 5 conference control servers correspond to 6 array units, and 2 conference control servers correspond to 5 array units.
[0066] Specifically, such as Figure 5 As shown, the hash array is a 6x8 array with a total of 48 array cells. The conference control servers cc1, cc2, cc3, and cc4 are sequentially filled into each array cell of the hash array, row by row, i.e., the hash array from left to right is cc1, cc2, cc3, cc4, cc1, cc2, cc3, cc4, ...
[0067] Each array unit contains one conference control server, and each conference control server corresponds to 12 array units.
[0068] The specific method by which the conference control server iterates through the hash array is not limited here, including traversal by row, traversal by column, traversal by line, etc. Among them, traversal by line means filling the data into the conference control server in the order of (1,1)(1,2)(2,1)(2,2)(3,1)(3,2), where (1,2) represents the array cell in the second row of the first column.
[0069] It is not limited to traversing in the order of cc1, cc2, cc3, cc4, or traversing in the order of cc1, cc2, that is, filling 12 cc1 and 12 cc2 in the array cells respectively, and then continuing to fill the remaining array cells with cc3, cc4 to complete the traversal, or completing the traversal of cc1 first and then completing the traversal of cc2, etc.
[0070] In summary, in this invention, after the conference control server takes turns traversing the hash array, each array unit corresponds to one conference control server, and each conference control server is evenly distributed in the array unit. That is, the number of array units corresponding to each conference control server is completely equal or similar, and the positions of the same conference control server in the hash array can be concentrated or dispersed.
[0071] S402: Receive data with a unique corresponding conference number.
[0072] Specifically, the received data includes data not processed by the peripheral servers and / or data processed by the peripheral servers. One or more peripheral servers are configured to process data from one or more conferences, and the data all correspond to a unique conference number. For example, a dedicated server for processing live recordings processes live recording raw data of multiple conferences, and obtains multiple processed live recording data. Whether the data is before processing or after processing, it uniquely corresponds to a conference number. For example, live recording raw data of a conference number 9002 is processed to obtain processed live recording data of the conference number 9002.
[0073] S403: The consistency selector converts the conference number corresponding to the received data.
[0074] The S403 specifically includes that the consistency selector performs hash calculation on the conference number to obtain a hash value, and takes the hash value modulo the total number of array units to obtain the conversion result.
[0075] The hash calculation takes the conference number as a string, adds a magic number and the ASCII code of each character of the conference number to form a numerical value, and performs the same bit shift and addition and subtraction operations on the numerical value to output an integer hash value.
[0076] For example, a magic number is 389283099 (binary representation: 10111001100111111110100011011), and the ASCII code of each character of the conference number (for example, the ASCII code of 9002 is 0011 1001 0011 0000 0011 0000 0011 0010) is added to form a new numerical value (for example, the ASCII code of each character of the conference number can be concatenated at the end of the magic number to obtain a binary number 1011100110011111111010001101100111001001100000011000000110010). Then, the predetermined same bit shift and addition and subtraction operations are performed on the numerical value to output an integer hash value (for example, 107). The integer hash value 107 is taken modulo the total number of array units 48, 107%48=11, and the remainder 11 is the conversion result. The conference number is a basic large number, and the ASCII code of each character is a standard code, which is universal across languages. The purpose of the hash calculation is to calculate a string into an integer, which is universal across languages. The magic number, ASCII code, bit shift and addition and subtraction logic are universal across languages, so the calculation result is also consistent across languages.
[0077] The consistency selector is not limited by space, time and language for the whole calculation process and the calculation result of the conference number conversion, and does not need to read and write the storage of the calculation result, so that the super large scale concurrent selection can be corresponded.
[0078] Therefore, the present application realizes the consistent calculation of the conference number by the hash calculation and the modulo, i.e. the algorithm, instead of using the traditional storage record, which can bring the following benefits: the algorithm only consumes the CPU, is universal across languages, and can be integrated into the peripheral server at any time, and the efficiency of the algorithm selection is very high even if there are hundreds of thousands of conferences at present. However, the storage record method will have a larger selection cost when the conference data is huge, and the storage query and comparison will increase with the increase of the conference data.
[0079] S404: uniquely selecting the array unit corresponding to the conference number according to the conversion result.
[0080] As in the previous example, Figure 5 The conference number 9002 uniquely selects the array unit (3, 2) in the hash array according to the remainder 11. One conference number uniquely corresponds to one array unit, and one array unit can correspond to multiple different conference numbers. For example, 155 mod 48 is 11; 203, 251, etc. Hash values mod 48 are also 11. Therefore, the conference numbers with hash values 107, 155, 203, 251, etc. correspond to the array unit with the remainder 11 in the hash array.
[0081] S403 and S404 ensure the uniform distribution of the conference numbers in the array unit by the hash calculation and the modulo calculation, i.e. the number of conference numbers in each array unit is balanced.
[0082] S405: transmitting the data corresponding to the conference number to the corresponding conference control server in the selected array unit.
[0083] As Figure 5 As shown in the table, after the conversion of the conference numbers 9001-9008:
[0084] The conference number 9001 corresponds to the array unit in the 1st row and the 4th column, and the data corresponding thereto is transmitted to the conference control server cc4;
[0085] The conference number 9002 corresponds to the array unit in the 2nd row and the 3rd column, and the data corresponding thereto is transmitted to the conference control server cc3;
[0086] The conference number 9003 corresponds to the array unit in the 3rd row and the 2nd column, and the data corresponding thereto is transmitted to the conference control server cc2;
[0087] The conference number 9004 corresponds to the array unit in the 4th row and the 1st column, and the corresponding data is transmitted to the conference control server cc1.
[0088] The distribution of the remaining conference numbers in the hash array is shown in the following table Figure 5 .
[0089] In a conventional scenario, it is important to ensure that the same conference number selects the same conference control server, i.e., the consistency of selection, and the number of conference numbers corresponding to each conference control server is uniform, i.e., the uniform distribution of conference numbers.
[0090] Since each conference number corresponds to a unique array unit, and each array unit corresponds to a unique conference control server, each conference number corresponds to a unique conference control server, ensuring the consistency of selection, i.e., the consistency of conference number selection of conference control server, so that all behaviors of a conference necessarily fall on the same conference control server, ensuring the strong state attribute.
[0091] Since the number of conference numbers corresponding to each array unit is uniform, and the number of array units corresponding to each conference control server is uniform, the number of conference numbers corresponding to each conference control server is uniform, i.e., the load balancing of conference control server, and the conference system has strong stability.
[0092] Further, Figure 6 is a flow chart of a conference control server reduction method provided by an embodiment of the application.
[0093] When reducing the number of conference control servers, the following steps are included:
[0094] S601: Releasing the array unit corresponding to the reduced conference control server to obtain a released array unit;
[0095] S602: Reiterating the released array unit by the existing conference control server, so that each released array unit corresponds to a reiterating conference control server, and the existing conference control server is uniformly distributed in the released array unit;
[0096] S603: Performing migration on the data in the reduced conference control server corresponding to the released array unit, so that the data is migrated to the conference control server re-assigned to the array unit after reiteration;
[0097] S604: Updating the hash array according to the result of reassigning the array unit.
[0098] Figure 7is a flow chart of a method for increasing the number of conference control servers provided by an embodiment of the present application.
[0099] When the number of conference control servers is increased, the following steps are included:
[0100] S701: Calculate the number of array units each original conference control server needs to release;
[0101] S702: According to the number of releases, release a corresponding number of array units from each of the original conference control servers to obtain released array units.
[0102] S703: Re-iterate the released array units for the added conference control servers, so that each of the released array units corresponds to a re-iterated conference control server, and the added conference control servers are evenly distributed in the released array units.
[0103] S704: Perform migration on the data in the original conference control server corresponding to the released array unit, so that the data is migrated to the conference control server re-assigned to the array unit after re-iteration.
[0104] S705: Update the hash array according to the result of re-allocating array units.
[0105] Specifically, in an optional implementation, when the number of conference control servers is reduced, the distribution of conference control servers in the hash array changes from Figure 5 to Figure 8 The number of conference control servers is reduced from cc1-cc4 to cc1-cc3, and the conference control server cc4 is reduced. The total number of array units in the hash array remains unchanged.
[0106] First, release the 12 array units corresponding to the reduced conference control server cc4, i.e., the array units in the 4th column and the 8th column in Figure 8 to obtain 12 released array units.
[0107] Second, re-iterate the above 12 released array units for the existing conference control servers cc1-cc3, so that each released array unit corresponds to a re-iterated conference control server, and the existing conference control servers are evenly distributed in the released array units. For example, Figure 8The conference control servers cc1-cc3 take turns to traverse the released array units in a column, and cc1, cc2 and cc3 distribute 4 array units in the 12 released array units respectively. As explained in the foregoing S401, the same is true after the traversal is repeated. The number of array units corresponding to the existing conference control servers is equal or similar, and the arrangement order of the conference control servers and the specific manner of traversing the hash array are not limited.
[0108] The reduced conference control server is determined based on the mutual discovery mechanism among the conference control servers, i.e. the other conference control servers cc1-cc3 in the hash array can discover the reduced conference control server cc4, and then traverse the released array units again and re-allocate the array units. For example, cc1 discovers the reduced cc4, traverses the released array units again, and distributes 4 cc1, cc2 and cc3 in the released array units, i.e. re-allocates the changed part of the hash array.
[0109] Again, the data in the reduced conference control server cc4 corresponding to the released array units is migrated, so that the data is migrated to the conference control servers cc1-cc3 re-allocated after the traversal.
[0110] When the data is migrated, i.e. when the migration is performed, the terminal is notified to automatically call back, and after re-entering the conference, the correct conference control server is selected, and the terminal automatic call back is transparent to the user.
[0111] Finally, the hash array is updated according to the result of re-allocating the array units, and the updated hash array is sent to all existing conference control servers and consistency selectors.
[0112] The result of re-allocating the array units is the result of re-distributing the conference control servers in all released array units.
[0113] In summary, when the number of conference control servers is reduced, instead of performing rearrangement for all conferences, a minimum range of changes is selected. The array units corresponding to the reduced conference control server cc4, i.e., the 4th column and the 8th column, are directly redistributed to the remaining other conference control servers cc1-cc3. It should be noted that when the number of conference control servers is reduced, the array units corresponding to the conference number do not change, only the conference control servers corresponding to a small range of array units change, so the conference control servers corresponding to the conference numbers in this part change. Here, the array unit can be regarded as a pit, and the conference control server is the content in the pit. When the content is less, the pit corresponding to the conference number remains unchanged, only the content in some pits changes, and the content corresponding to the conference number in this part changes. Further, when the result of redistributing the array unit is stored, only the correspondence between the array unit and the conference control server needs to be recorded, and the correspondence between the conference number and the array unit does not need to be recorded, which can be calculated temporarily when needed. The correspondence between the array unit and the conference control server is recorded, and since the number of array units in the hash array is fixed, and the change range and frequency of the number of conference control servers will not be too large, it will not occupy too much storage space and does not need to be updated frequently. However, in the prior art, when the number of conference control servers changes, the correspondence between each conference number and the conference control server needs to be stored. Moreover, in actual scenarios, the conference number also changes frequently (a conference number is generated for each conference), so a large amount of data needs to be stored and frequently synchronized between the consistency selector and the conference control server to update the correspondence, which occupies a large amount of resources.
[0114] Moreover, since the existing conference control servers are uniformly distributed in the released array units, the existing conference control servers are uniformly distributed in all array units of the hash array, so that the load balancing state of the distributed conference control system can be maintained when the conference control server fails.
[0115] Specifically, in an optional embodiment, when the number of conference control servers is increased, the distribution of the conference control servers in the hash array changes from Figure 5 to Figure 9 The conference control servers are increased from cc1-cc4 to cc1-cc6, and the conference control servers cc5 and cc6 are added. The total number of array units in the hash array does not change.
[0116] First, the number of array units that each original conference control server cc1-cc4 needs to release is calculated:
[0117] The number of original conference control servers is 4, and the total number of array units is 48, so each original conference control server corresponds to 48 / 4=12 array units;
[0118] The increased number of conference control servers is 6, and the total number of array units is 48. Therefore, each of the original conference control servers corresponds to 48 / 6 = 8 array units.
[0119] Therefore, the 4 original conference control servers cc1-cc4 need to release 12-8 = 4 array units respectively.
[0120] Secondly, according to the calculation result, cc1-cc4 releases 4 array units respectively, and 16 released array units are obtained, as shown in the part of array units in columns 5-8 in FIG. 5. Figure 9 The specific position of the released array units is not limited, for example, cc1 can randomly select any 4 array units in the first column to release.
[0121] Among them, based on the mutual discovery mechanism between the conference control servers, each conference control server can discover the increased conference control servers cc5 and cc6. For example, after cc1 discovers the increased cc5 and cc6, it randomly selects 4 array units from its array units to release, that is, to re-allocate the part of the hash array that needs to be changed by cc1.
[0122] Thirdly, the increased conference control servers cc5 and cc6 are again iterated through the released array units, so that each of the released array units corresponds to a conference control server after the iteration, and the increased conference control servers cc5 and cc6 are uniformly distributed in the released array units. As shown in FIG. 6, cc5 and cc6 are distributed in 8 of the 16 released array units. Figure 9 As explained in the foregoing S401, the number of released array units corresponding to the increased conference control servers is equal or close after the iteration, and the arrangement order of the conference control servers and the specific method of iteratively traversing the hash array are not limited.
[0123] Secondly, the data in the original conference control servers cc1-cc4 corresponding to the released array units is migrated, so that the data is migrated to the conference control servers cc5 or cc6 to which the array unit is re-allocated after the iteration.
[0124] When the data is migrated, that is, when the migration is performed, the terminal is notified to automatically call back, and after re-entering the conference, the correct conference control server is selected, and the terminal automatic call back is transparent to the user.
[0125] Finally, the hash array is updated according to the result of re-allocating the array unit, and the updated hash array is sent to all existing conference control servers and consistency selectors.
[0126] The result of the redistribution of the array units, i.e. the redistribution of all released array units, is the result of the redistribution of the conference control servers.
[0127] In summary, when the number of conference control servers is increased, instead of performing a disruptive rearrangement for all conferences, a minimum range of changes is selected. The total number of array units is fixed at 48, and when the number of conference control servers is increased from 4 to 6, the minimum number of array units that need to be released is 16, i.e. the original conference control servers each release 4 array units, while ensuring that the increased conference control servers are evenly distributed among all array units of the hash array. cc5 and cc6 each correspond to 8 released array units. It should be noted that when the number of conference control servers is increased, the array unit uniquely corresponding to the conference number does not change, only the small range of array units uniquely corresponding to the conference control server changes, so the conference control server corresponding to the conference number changes. Further, when the array units are redistributed, only the correspondence between the array units and the conference control servers needs to be stored, and the correspondence between the conference number and the array unit does not need to be stored, which can be calculated temporarily when needed. The correspondence between the array units and the conference control servers does not occupy too much storage space and does not need to be updated frequently, because the number of array units in the hash array is fixed, and the change range and frequency of the number of conference control servers will not be too large.
[0128] And since the increased conference control servers are evenly distributed in the released array units, all the changed conference control servers are evenly distributed in the hash array, so the load balancing state of the distributed conference control system can be maintained when multiple conference control servers are expanded. It should be noted that, Figure 9 The number of conference numbers in the middle is limited, so it cannot fully reflect the even distribution of the changed conference control servers in the array units. The number of conference numbers in the actual application scenario is large, and the larger the number of conference numbers, the more evenly distributed.
[0129] In summary, the above three scenarios of distributed services, i.e. the regular scenario, the reduction of conference control servers (distributed service downsizing) and the increase of conference control servers (distributed service expansion), the introduction of array units in the present application directly and greatly simplifies the balanced deployment of conferences in conference control servers, especially when the number of conference control servers changes. Through the array unit, the conference number is connected with the conference control server:
[0130] a. Each conference number uniquely corresponds to an array unit;
[0131] b. Each array unit uniquely corresponds to a conference control server.
[0132] When the number of conference control servers changes, the correspondence in a is unchanged and does not need to store records, and the small range is uniformly changed in b, thereby comprehensively achieving the smallest change range and balanced distribution of the conference number in the conference control server.
[0133] In addition, the non-susceptible migration can bring the user non-susceptible conference reconstruction, and ensure seamless switching of conference experience without interruption.
[0134] In summary, the key modules in the present application are compared as follows for the convenience of understanding:
[0135] The conference is equivalent to a student;
[0136] The conference number is equivalent to the student ID number;
[0137] The data corresponding to the conference number is equivalent to a package with an ID number, and one package has one ID number;
[0138] The consistency selector is equivalent to a receiving and sending room;
[0139] The array unit is equivalent to a class;
[0140] The conference control server is equivalent to a class teacher.
[0141] When receiving a package with an ID number, regardless of where the received package comes from, such as express or surface mail, the package will have a unique ID number; the receiving and sending room finds the corresponding class according to the ID number; and further delivers the package to the corresponding class teacher of the class.
[0142] Among them, the two quantities need to be uniform:
[0143] First, each ID number uniquely corresponds to a class, but one class may correspond to multiple ID numbers, and the number of students allocated to each class needs to be uniform, that is, the number of ID numbers needs to be uniform;
[0144] Second, each class uniquely corresponds to a class teacher, but one class teacher may be responsible for multiple classes, depending on the total number of classes and the total number of class teachers, and the number of classes each class teacher is responsible for needs to be relatively uniform.
[0145] The above two uniformities make the number of students each class teacher is responsible for uniform, and the more the total number of students, the more uniform the number of students each class teacher is responsible for.
[0146] When the number of class teachers decreases, such as class teacher A resigns, the remaining class teachers will take over the classes responsible by class teacher A, and the number of classes each remaining class teacher takes over is equal or similar;
[0147] When the number of class teachers increases, such as class teacher Q enters the job, the number of classes that each class teacher should deliver is calculated by subtracting the number of classes that each class teacher is responsible for after the increase from the number of classes that each class teacher is responsible for originally. The original class teacher delivers the corresponding number of classes to class teacher Q according to the above data.
[0148] If a fixed number of classes is not set, when the number of class teachers increases or decreases, in order to achieve the balance of the number of students that each class teacher is responsible for, the class teachers after the number change need to directly contact the students to determine the students that they are responsible for, which is complex to operate and difficult to achieve load balancing.
[0149] The application also provides a distributed conference control method, which comprises:
[0150] Hash calculation is performed on the conference number to obtain a hash value;
[0151] The hash value is converted to obtain a conversion result;
[0152] The conference control server corresponding to the conference number is uniquely selected according to the conversion result.
[0153] This method can make the conference number uniquely correspond to one of the conference control servers only by performing hash calculation on the conference number when the number of conference control servers is unchanged, and the purpose of the application can be achieved without introducing an array unit, that is, the continuity of conference services and load balancing are ensured. In addition, the corresponding relationship between the conference number and the conference control server does not need to be stored in advance, and the storage amount is small.
[0154] Exemplary System
[0155] Correspondingly, the application also provides a distributed conference control system. Figure 10 is a schematic diagram of the distributed conference control system 100 provided by the application, as shown in Figure 10 The system provided by the embodiment comprises:
[0156] The receiving device 101 is used for receiving data with a uniquely corresponding conference number.
[0157] The consistency selector 102 comprises a hash array, the hash array comprises a plurality of array units, each array unit corresponds to a conference control server, the consistency selector converts the conference number corresponding to the received data, and uniquely selects the array unit corresponding to the conference number according to the conversion result.
[0158] The consistency selector 102 is integrated in one or more peripheral servers; the one or more peripheral servers process data from one or more conferences, the data each corresponding to a unique conference number.
[0159] The consistency selector 102 further comprises a traversal unit 1021 for rotatingly traversing each of the array units in the hash array by the conference control servers, so that each of the array units corresponds to a conference control server, and each of the conference control servers is uniformly distributed in the array units.
[0160] The consistency selector 102 further comprises a conversion unit 1022 for performing hash calculation on the conference number to obtain a hash value, and taking the hash value modulo the total number of array units to obtain the conversion result.
[0161] The conversion unit 1022 comprises a hash calculation module 1023 for taking the conference number as a string, adding a magic word to each character of the conference number corresponding to the ASCII code to form a numerical value, and performing the same bit shift and addition and subtraction operations on the numerical value to output an integer hash value.
[0162] The transmission device 103 is configured to transmit data corresponding to the conference number to the corresponding conference control server in the selected array unit.
[0163] The distributed conference control system 100 further comprises a release unit 1001, a migration unit 1002, an update unit 1003, and a calculation unit 1004.
[0164] When the number of conference control servers is reduced,
[0165] The release unit 1001 is configured to release the array unit corresponding to the reduced conference control server to obtain a released array unit.
[0166] The traversal unit 1021 is configured to rotately traverse the released array unit again by the existing conference control servers, so that each of the released array units corresponds to a conference control server after re-traversal, and the existing conference control servers are uniformly distributed in the released array units.
[0167] The migration unit 1002 is configured to perform migration on the data in the reduced conference control server corresponding to the released array unit, so that the data is migrated to the conference control server that is re-assigned to the array unit after re-traversal.
[0168] The update unit 1003 is configured to update the hash array according to the result of re-assigning the array unit.
[0169] When the number of the conference control servers is increased,
[0170] A calculation unit 1004 is configured to calculate the number of array units each original conference control server needs to release;
[0171] A release unit 1001 is configured to release each of the original conference control servers from the corresponding number of array units according to the number of releases, to obtain released array units;
[0172] A traversal unit 1021 is configured to traverse the released array units again in a round-robin manner for the increased conference control servers, so that each of the released array units corresponds to a conference control server after the re-traversal, and the increased conference control servers are uniformly distributed in the released array units;
[0173] A migration unit 1002 is configured to perform migration on data in the original conference control server corresponding to the released array unit, so that the data is migrated to the conference control server to which the array unit is reassigned after the re-traversal;
[0174] An update unit 1003 is configured to update the hash array according to the result of reassigning the array unit.
[0175] When the number of conference control servers changes, the conference control servers determine the increased or decreased conference control servers based on a mutual discovery mechanism between the conference control servers.
[0176] When the conference control server discovers other conference control servers that are increased or decreased, the update unit 1003 updates the hash array and sends the updated hash array to all existing conference control servers and the consistency selector 102.
[0177] It should be noted that although the operations of the distributed conference control method of the present application are described in a specific order in the accompanying drawings, this does not require or imply that the operations must be performed in this specific order, or that all of the shown operations must be performed to achieve the desired result. Additionally or alternatively, certain steps can be omitted, multiple steps can be combined into one step, and / or one step can be divided into multiple steps.
[0178] Furthermore, although several means, units, or modules of the distributed conference control system are mentioned in the detailed description above, this division is merely exemplary and not mandatory. Indeed, according to an embodiment of the application, the features and functionalities of two or more modules described above can be embodied in one module. Conversely, the features and functionalities of one module described above can be further divided into several modules.
[0179] While the principles and spirit of the application have been described with reference to several specific embodiments, it is to be understood that the application is not limited to the disclosed specific embodiments, and that the division of aspects is not meant to imply that features from these aspects cannot be combined to benefit, but is merely for ease of expression. The application is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
[0180] The present application provides:
[0181] 1. A distributed conference control method, characterized in that the method comprises:
[0182] including a hash array in a consistency selector, the hash array comprising a plurality of array units, each of the array units corresponding to a conference control server;
[0183] receiving data with a unique corresponding conference number;
[0184] the consistency selector converting the conference number corresponding to the received data;
[0185] uniquely selecting the array unit corresponding to the conference number according to the conversion result;
[0186] transmitting the data corresponding to the conference number to the corresponding conference control server in the selected array unit.
[0187] 2. The distributed conference control method according to item 1, characterized in that the including a hash array in a consistency selector, the hash array comprising a plurality of array units, each of the array units corresponding to a conference control server specifically comprises:
[0188] rotating a plurality of the conference control servers to traverse each of the array units in the hash array, so that each of the array units corresponds to a conference control server, and each of the conference control servers is uniformly distributed in the array units.
[0189] 3. The distributed conference control method according to item 1 or item 2, characterized in that the consistency selector converting the conference number corresponding to the received data specifically comprises:
[0190] The consistency selector performs a hash calculation on the conference number, obtains a hash value, takes the hash value modulo the total number of array units, and obtains the conversion result.
[0191] 4. The distributed conference control method according to any one of items 1 to 3, further comprising: when the number of conference control servers is reduced,
[0192] releasing the array units corresponding to the reduced conference control servers, and obtaining released array units;
[0193] repeatedly traversing the released array units by the existing conference control servers, so that each of the released array units corresponds to a re-traversed conference control server, and the existing conference control servers are uniformly distributed in the released array units;
[0194] performing migration of data in the reduced conference control servers corresponding to the released array units, so that the data is migrated to the conference control servers re-assigned to the array units after re-traversal;
[0195] updating the hash array according to the result of re-assigning array units.
[0196] 5. The distributed conference control method according to any one of items 1 to 4, further comprising: when the number of conference control servers is increased,
[0197] calculating the number of array units that each of the original conference control servers needs to release;
[0198] releasing the array units corresponding to each of the original conference control servers according to the number of releases, and obtaining released array units;
[0199] repeatedly traversing the released array units by the increased conference control servers, so that each of the released array units corresponds to a re-traversed conference control server, and the increased conference control servers are uniformly distributed in the released array units;
[0200] performing migration of data in the original conference control servers corresponding to the released array units, so that the data is migrated to the conference control servers re-assigned to the array units after re-traversal;
[0201] updating the hash array according to the result of re-assigning array units.
[0202] 6. The distributed conference control method according to any one of items 1 to 5, wherein the consistency selector is integrated in one or more perimeter servers.
[0203] The one or more perimeter servers process data from one or more conferences, each corresponding to a unique conference number.
[0204] 7. The distributed conference control method according to item 4 or 5, wherein the added or removed conference control servers are determined based on a mutual discovery mechanism between the conference control servers.
[0205] 8. The distributed conference control method according to item 4, 5 or 7, wherein when the conference control server discovers an added or removed other conference control server, the hash array is updated and the updated hash array is sent to all existing conference control servers and the consistency selector.
[0206] 9. The distributed conference control method according to item 3, wherein the hash calculation takes the conference number as a string, forms a value by adding a magic word to the ASCII code of each character of the conference number, and performs the same bit shift and addition / subtraction operations on the value to output an integer hash value.
[0207] 10. A distributed conference control system, comprising:
[0208] receiving means for receiving data with a unique corresponding conference number;
[0209] a consistency selector, in which a hash array is included, the hash array comprising a plurality of array units, each corresponding to a conference control server, the consistency selector converting the conference number corresponding to the received data and uniquely selecting the array unit corresponding to the conference number according to the conversion result;
[0210] transmitting means for transmitting the data corresponding to the conference number to the conference control server corresponding to the selected array unit.
[0211] 11. The distributed conference control system according to item 10, wherein the consistency selector further comprises a traversal unit for:
[0212] rotating a plurality of conference control servers to traverse each of the array units in the hash array, so that each of the array units corresponds to a conference control server, and each of the conference control servers is uniformly distributed in the array units.
[0213] 12. The distributed conference control system according to any one of claims 10 to 11, wherein the consistency selector further comprises a conversion unit configured to:
[0214] perform a hash calculation on the conference number to obtain a hash value, and take the hash value modulo the total number of the array units to obtain the conversion result.
[0215] 13. The distributed conference control system according to any one of claims 10 to 12, further comprising a release unit, a migration unit and an update unit, when the number of the conference control servers is reduced,
[0216] the release unit is configured to release the array units corresponding to the reduced conference control servers to obtain released array units;
[0217] the traversal unit is configured to traverse the released array units again in turn by the existing conference control servers, so that each of the released array units corresponds to a conference control server after the traversal, and the existing conference control servers are evenly distributed in the released array units;
[0218] the migration unit is configured to perform migration on data in the conference control servers corresponding to the released array units, so that the data is migrated to the conference control servers which are reassigned to the array units after the traversal;
[0219] the update unit is configured to update the hash array according to the result of reassigning the array units.
[0220] 14. The distributed conference control system according to any one of claims 10 to 13, further comprising a calculation unit, when the number of the conference control servers is increased,
[0221] the calculation unit is configured to calculate the number of the array units to be released by each of the original conference control servers;
[0222] the release unit is configured to release the array units corresponding to each of the original conference control servers according to the calculated number to obtain released array units;
[0223] the traversal unit is configured to traverse the released array units again in turn by the increased conference control servers, so that each of the released array units corresponds to a conference control server after the traversal, and the increased conference control servers are evenly distributed in the released array units;
[0224] The migration unit is configured to migrate data in the original conference control server corresponding to the released array unit, so that the data is migrated to the conference control server of the array unit after re-distribution.
[0225] The update unit is configured to update the hash array according to the result of re-distribution of the array unit.
[0226] 15. The distributed conference control system according to any one of the items 10 to 14, wherein the consistency selector is integrated in one or more edge servers.
[0227] The one or more edge servers process data from one or more conferences, the data each corresponding to a unique conference number.
[0228] 16. The distributed conference control system according to the item 13 or 14, wherein the conference control servers determine the added or reduced conference control servers based on a mutual discovery mechanism between the conference control servers.
[0229] 17. The distributed conference control system according to the item 13, 14 or 16, wherein when the conference control servers discover other conference control servers that are added or reduced, the update unit updates the hash array and sends the updated hash array to all existing conference control servers and the consistency selector.
[0230] 18. The distributed conference control system according to the item 12, wherein the conversion unit comprises a hash calculation module configured to take the conference number as a string, add a magic word to each character of the conference number corresponding to an ASCII code to form a numerical value, and perform the same bit shift and addition and subtraction operations on the numerical value to output an integer hash value.
[0231] 19. A distributed conference control method, the method comprising:
[0232] performing hash calculation on a conference number to obtain a hash value;
[0233] converting the hash value to obtain a conversion result;
[0234] uniquely selecting a conference control server corresponding to the conference number according to the conversion result.
[0235] 20. The distributed conference control method of claim 19, wherein the hash calculation takes the conference number as a string, forms a value by adding a magic number to the ASCII code of each character of the conference number, and performs the same shift and addition / subtraction operations on the value to output an integer hash value.
Claims
1. A distributed conference control method, characterized by, The method comprises: a hash array is contained in a consistency selector, the hash array comprises a plurality of array units, each of the array units corresponds to a conference control server; data with a unique corresponding conference number is received; the consistency selector converts the conference number corresponding to the received data; the array unit corresponding to the conference number is uniquely selected according to the conversion result; the data corresponding to the conference number is transmitted to the corresponding conference control server in the selected array unit; when the number of the conference control servers is reduced, the array unit corresponding to the reduced conference control server is released, and the released array unit is obtained; the existing conference control servers are re-sequentially traversed through the released array unit, so that each of the released array unit corresponds to a re-traversed conference control server, and the existing conference control servers are uniformly distributed in the released array unit; migration is performed on the data in the reduced conference control server corresponding to the released array unit, so that the data is migrated to the conference control server re-assigned to the array unit after re-traversal; the hash array is updated according to the result of re-assigning the array unit; the total number of array units in the hash array is unchanged.
2. The distributed conference control method according to claim 1, wherein The hash array contained in the consistency selector comprises a plurality of array units, each of the array units corresponds to a conference control server, and the hash array specifically comprises: a plurality of the conference control servers are sequentially traversed through each of the array units in the hash array, so that each of the array units corresponds to a conference control server, and each of the conference control servers is uniformly distributed in the array unit.
3. The distributed conference control method according to claim 1 or 2, characterized by, The consistency selector converts the conference number corresponding to the received data, and specifically comprises: The consistency selector performs hash calculation on the conference number to obtain a hash value, takes the modulus of the hash value with respect to the total number of array units, and obtains the conversion result.
4. The distributed conference control method according to claim 1 or 2, characterized by, Further comprising: when the number of the conference control servers is increased, the number of array units that each of the original conference control servers needs to release is calculated; each of the original conference control servers is released a corresponding number of array units according to the number of releases, and the released array unit is obtained; the increased conference control servers are re-sequentially traversed through the released array unit, so that each of the released array unit corresponds to a re-traversed conference control server, and the increased conference control servers are uniformly distributed in the released array unit; migration is performed on the data in the original conference control server corresponding to the released array unit, so that the data is migrated to the conference control server re-assigned to the array unit after re-traversal; the hash array is updated according to the result of re-assigning the array unit.
5. The distributed conference control method according to claim 1 or 2, characterized by, The consistency selector is integrated in one or more peripheral servers; the one or more peripheral servers process data from one or more conferences, and the data all correspond to unique conference numbers.
6. The distributed conference control method of claim 1, wherein, Determine the increased or decreased conference control servers based on a mutual discovery mechanism between the conference control servers.
7. The distributed conference control method of claim 1, wherein, When the conference control server discovers other conference control servers that are increased or decreased, update the hash array and send the updated hash array to all existing conference control servers and a consistency selector.
8. The distributed conference control method according to claim 3, wherein, The hash calculation takes the conference number as a string, forms a value by adding a magic word to the ASCII code of each character of the conference number, and performs the same bit shift and addition and subtraction operations on the value to output an integer hash value.
9. A distributed conference control system, characterized by, The system comprises: a receiving device for receiving data with a unique corresponding conference number; a consistency selector, which contains a hash array, the hash array comprising a plurality of array units, each array unit corresponding to a conference control server, the consistency selector converting the conference number corresponding to the received data and uniquely selecting the array unit corresponding to the conference number according to the conversion result; a transmission device for transmitting data corresponding to the conference number to the corresponding conference control server in the selected array unit; It also includes a release unit, a traversal unit, a migration unit and an update unit; When the number of conference control servers is decreased, the release unit is used to release the array units corresponding to the decreased conference control servers to obtain released array units; the traversal unit is used to traverse the released array units again in turn for the existing conference control servers, so that each released array unit corresponds to a conference control server that has been traversed again, and the existing conference control servers are evenly distributed in the released array units; the migration unit is used to perform migration on the data in the released array units corresponding to the decreased conference control servers, so that the data is migrated to the conference control servers that are reassigned to the array units after being traversed again; the update unit is used to update the hash array according to the result of reassigning the array units; The total number of array units in the hash array remains unchanged.
10. The distributed conference control system of claim 9, wherein, The consistency selector also contains a traversal unit, which is used to: traverse each array unit in the hash array in turn for a plurality of conference control servers, so that each array unit corresponds to a conference control server, and each conference control server is evenly distributed in the array units.
11. The distributed conference control system according to claim 9 or 10, characterized by, The consistency selector also contains a conversion unit, which is used to: perform hash calculation on the conference number to obtain a hash value, and take the modulus of the hash value with respect to the total number of array units to obtain the conversion result.
12. The distributed conference control system according to claim 9 or 10, further comprising a calculation unit; when the number of conference control servers is increased, the calculation unit is used to calculate the number of array units that each existing conference control server needs to release; The releasing unit is configured to release a corresponding number of the array units from each of the original conference control servers according to the number of the released array units. The traversing unit is configured to traverse the released array units again in a round-robin manner to add the conference control servers, so that each of the released array units corresponds to a conference control server after the traversal again, and the added conference control servers are uniformly distributed in the released array units. The migrating unit is configured to perform migration on data in the original conference control server corresponding to the released array unit, so that the data is migrated to the conference control server which is reassigned to the array unit after the traversal again. The updating unit is configured to update the hash array according to a result of reassigning the array unit.
13. The distributed conference control system according to claim 9 or 10, characterized by, The consistency selector is integrated in one or more peripheral servers. The one or more peripheral servers process data from one or more conferences, and the data all correspond to unique conference numbers.
14. The distributed conference control system of claim 9, wherein, The conference control servers determine the conference control servers to be added or reduced based on a mutual discovery mechanism between the conference control servers.
15. The distributed conference control system of claim 9, wherein, When the conference control servers discover other conference control servers to be added or reduced, the updating unit updates the hash array and sends the updated hash array to all existing conference control servers and the consistency selector.
16. The distributed conference control system of claim 11, wherein, The converting unit includes a hash calculation module configured to take the conference number as a string, add a magic word to each character of the conference number corresponding to an ASCII code to form a numerical value, and perform the same bit shift and addition and subtraction operations on the numerical value to output an integer hash value.
Citation Information
Patent Citations
Load balancing method and device
CN105915650A
System and method for massively parallel processor database
CN107004033A