User sign-in method, device and equipment in conference service and medium
By using bitmaps in the video conferencing system instead of the traditional database check-in method, the bottlenecks and insufficient scalability of the video conferencing system under high concurrency are solved, and an efficient and scalable check-in solution is achieved.
Patent Information
- Application Number
- CN202510060064.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-15
- Publication Date
- 2025-04-25
AI Technical Summary
Existing video conferencing systems face performance bottlenecks and insufficient scalability in high concurrency scenarios, resulting in a decrease in response speed and system availability during user check-in.
Check-in for video conferences by using a bitmap corresponding to the current date, instead of traditional relational databases (such as MySQL). The method includes generating a check-in identifier and a check-in bitmap in the check-in record, and the bit value of the check-in bitmap is used to indicate the user's check-in status within different time periods.
A more efficient and scalable video conferencing check-in solution is realized, enabling the ability to maintain responsiveness and system availability in high concurrency scenarios, reducing storage costs and simplifying data management.
Smart Images

Figure CN119893028A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of conferences, and in particular to a method, apparatus, device and medium for user sign-in in a conference service. Background Art
[0002] In video conferencing services, user check-in and periodic statistics are important indicators for evaluating meeting participation and user activity.
[0003] Typically, existing video conferencing systems use relational databases (such as MySQL) to implement sign-in records and data statistics. This method can meet basic needs, but with the popularity of remote work and online learning, the number of users and meeting frequency of video conferencing platforms have increased significantly. In high-concurrency scenarios, the existing sign-in method faces performance bottlenecks and insufficient scalability.
[0004] Therefore, a more efficient and scalable video conferencing check-in solution is needed. Summary of the invention
[0005] An embodiment of the present application aims to provide a method, apparatus, device and medium for user sign-in in a conference service. Through the embodiment of the present application, a more efficient and scalable video conference sign-in solution can be provided.
[0006] In the first aspect, an embodiment of the present application provides a method for user sign-in in a conference service, which is applied to a conference server, and the method includes: obtaining a sign-in request message from a client, the sign-in request message including a conference number and an identifier of the user; generating a sign-in record based on the conference number, the identifier of the user and the current date, wherein the sign-in record includes a sign-in identifier and a sign-in place map, the conference number and the identifier of the user are used to determine the sign-in identifier, and the current date is used to determine the sign-in place map.
[0007] The embodiment of the present application abandons the existing sign-in method and instead implements the meeting sign-in through a bitmap corresponding to the current date, thereby realizing a more efficient and scalable video conference sign-in solution.
[0008] In one embodiment, the sign-in bitmap includes N bits, each bit in the sign-in bitmap corresponds to a day in the sign-in statistical unit, the bit in the sign-in bitmap corresponding to the current date has a value between 0 and 1, and the remaining bits have another value between 0 and 1, wherein the sign-in statistical unit includes a week, a month, a quarter or a year, N is a positive integer greater than 1, and the value of N corresponds to the sign-in statistical unit.
[0009] In one implementation, the sign-in location map includes M bits, a binary value of the M bits corresponds to the current date, M is a positive integer greater than 1, and the value of M corresponds to a sign-in statistical unit.
[0010] In one implementation, the sign-in location map further includes a sign-in location, and the value of the sign-in location is used to indicate whether the person has signed in or not signed in on the current date.
[0011] In one embodiment, the method further includes: obtaining information to be queried, the information to be queried including at least one of a meeting number, a user identifier, and a check-in date; querying check-in records based on the information to be queried, and outputting check-in status corresponding to the information to be queried.
[0012] In one embodiment, the method further includes: obtaining information to be counted, the information to be counted including a user identifier and a statistical time period; counting sign-in records according to the information to be counted, and outputting sign-in status corresponding to the statistical information.
[0013] In one implementation, the method further includes: determining that the user has participated in a meeting corresponding to the meeting number.
[0014] In the second aspect, an embodiment of the present application provides a device for user check-in in a conference service, which is applied to a conference server, and the device includes: an acquisition unit, used to obtain a check-in request message from a client, and the check-in request message includes a conference number and an identifier of the user; a determination unit, used to generate a check-in record based on the conference number, the identifier of the user and the current date, wherein the check-in record includes a check-in identifier and a check-in place map, the conference number and the identifier of the user are used to determine the check-in identifier, and the current date is used to determine the check-in place map.
[0015] In one embodiment, the sign-in bitmap includes N bits, each bit in the sign-in bitmap corresponds to a day in the sign-in statistical unit, the bit in the sign-in bitmap corresponding to the current date has a value between 0 and 1, and the remaining bits have another value between 0 and 1, wherein the sign-in statistical unit includes a week, a month, a quarter or a year, N is a positive integer greater than 1, and the value of N corresponds to the sign-in statistical unit.
[0016] In one implementation, the sign-in location map includes M bits, a binary value of the M bits corresponds to the current date, M is a positive integer greater than 1, and the value of M corresponds to a sign-in statistical unit.
[0017] In one implementation, the sign-in location map further includes a sign-in location, and the value of the sign-in location is used to indicate whether the person has signed in or not signed in on the current date.
[0018] In one embodiment, the acquisition unit is also used to acquire the information to be queried, and the information to be queried includes at least one of a meeting number, a user's identification, and a check-in date; the determination unit is also used to query the check-in record based on the information to be queried, and output the check-in status corresponding to the information to be queried.
[0019] In one embodiment, the acquisition unit is further used to acquire information to be counted, the information to be counted includes a user identifier and a statistical time period; the determination unit is further used to count the sign-in records based on the information to be counted, and output the sign-in status corresponding to the statistical information.
[0020] In one implementation, the determining unit is further configured to determine that the user has participated in the conference corresponding to the conference number.
[0021] In a third aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the program is executed by a processor, the method described in the first aspect and any one of the embodiments of the first aspect can be implemented.
[0022] In a fourth aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method described in the first aspect and any one of the embodiments of the first aspect can be implemented.
[0023] In a fifth aspect, an embodiment of the present application provides a computer program product, wherein the computer program product includes a computer program, wherein when the computer program is executed by a processor, it can implement the method described in the first aspect and any one of the embodiments of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solution of an embodiment of the present application, the drawings required for use in an embodiment of the present application will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0025] Figure 1 A schematic diagram of a video conferencing system scenario provided for an embodiment of the present application;
[0026] Figure 2 A flow chart of a method for user sign-in in a conference service provided by an embodiment of the present application;
[0027] Figure 3 A schematic diagram of a bitmap provided for an embodiment of the present application;
[0028] Figure 4 A schematic diagram of a device for user check-in in a conference service provided by an embodiment of the present application;
[0029] Figure 5 A schematic diagram of an electronic device is provided for one embodiment of the present application. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0031] Existing video conferencing systems use relational databases (such as MySQL) to implement sign-in records and data statistics. Although this method can meet basic needs, it faces performance bottlenecks and insufficient scalability in high-concurrency scenarios.
[0032] For example, the existing MySQL data structure uses a user sign-in table to sign in, for example, the sign-in table contains fields such as user ID, meeting ID, sign-in time, etc. The table structure includes the following content: user_signin table: id (primary key); user_id (user unique ID); meeting_id (meeting unique ID); signin_time (sign-in time).
[0033] In addition, the conference server may also store the user's participation records within a specific time period through a periodic statistical table. Compared with the above-mentioned sign-in table, the periodic statistical table may even require additional fields to support more complex reporting functions.
[0034] The above existing sign-in methods have the following problems:
[0035] Performance bottleneck problem, high-concurrency write performance degradation: In large video conferences, the frequency of user sign-in may be very high. When MySQL is written with high concurrency, especially when multiple users sign in at the same time, it will cause lock contention and transaction delays, which will significantly reduce the response speed of the system. Complexity of read-write separation: Although read-write separation technology can be used to improve read performance, this requires additional architecture design and management investment, and in high-concurrency situations, the write performance of the main database will still be affected.
[0036] Database lock contention, row-level locks and table-level locks: In high-concurrency scenarios, MySQL usually needs to lock ongoing operations, which may cause user sign-in requests to be blocked. When multiple users try to sign in at the same time, database lock contention increases, further affecting response time. Deadlock risk: As the number of concurrent users increases, the probability of deadlock problems also increases, which may cause some sign-in operations to fail to complete, thus affecting the user experience.
[0037] Insufficient scalability and complexity of horizontal expansion: Although MySQL can be horizontally expanded by sharding, this method requires complex architecture design and data migration, which increases the maintenance cost of the system. In addition, after sharding, the performance of cross-database queries will also be affected. Hardware limitations: MySQL's performance depends to a certain extent on the performance of stand-alone hardware. As the number of users increases, it may be necessary to frequently upgrade the hardware, which is costly.
[0038] Data consistency and complexity issues, transaction management complexity: When processing user sign-ins, MySQL's ACID feature ensures data consistency, but in high concurrency situations, complex transaction management may lead to performance degradation. A reasonable transaction isolation level needs to be designed to avoid problems such as phantom reads and lost updates. Data model complexity: When designing a sign-in system, you may need to maintain multiple tables (such as user tables, sign-in tables, meeting tables, etc.). As the amount of data increases, complex table associations will affect query efficiency and increase the complexity of data management.
[0039] Maintenance and operation cost issues, management costs: MySQL database maintenance requires professional database administrators (DBAs) to monitor performance, tune queries, back up and restore data, etc. This may increase operating costs for small and medium-sized teams. Data backup and recovery: In high-frequency sign-in scenarios, data backup and recovery consume a lot of system resources, affecting system availability. In addition, the backup process may cause delays in write operations, affecting the user sign-in experience.
[0040] Query efficiency issues, poor performance of complex queries: When complex queries (such as cross-table queries, aggregation operations, etc.) are required, MySQL performance may be affected. Under high concurrency, check-in queries of different users may increase query response time and affect real-time performance.
[0041] In view of the above problems, this application provides a method for user sign-in in a conference service. This application abandons the existing sign-in method and instead implements conference sign-in through a bitmap corresponding to the current date, thereby realizing a more efficient and scalable video conference sign-in solution.
[0042] In the following, for the sake of ease of understanding and explanation, as an example but not a limitation, the execution process and actions of the user sign-in method of the present application in a real-time communication system are described.
[0043] The following is combined with Figure 1 The overall structure of a video conferencing system provided by an embodiment of the present application is exemplified.
[0044] like Figure 1 As shown, a video conferencing system provided by an embodiment of the present application includes: a client and a conference server.
[0045] In the embodiments of the present application, the client may also be referred to as a user terminal or user equipment or terminal equipment. In the real-time examples of the present application, the terminal equipment may be installed with a browser, and real-time communication may be performed through the browser, or an APP or applet may be installed, and real-time communication may be performed through the APP or applet. The terminal equipment in the present application may include a smart phone, a tablet computer (personal digital assistant, PDA), a computer, a game console, a wearable device, a tablet computer (portable android device, PAD), etc., and the embodiments of the present application are not limited thereto.
[0046] In the embodiment of the present application, the conference server may also be referred to as a server, a video conference server, a remote server or a cloud server, and the embodiment of the present application is not limited thereto. The conference server may perform conference attendance on the client based on the request of the client. The server may also be used to query or count the attendance of the conference, and the embodiment of the present application is not limited thereto. Among them, after receiving the request of the client, the conference server may store the processed data in Redis to realize the conference attendance, and may also realize the statistics or query of the attendance by accessing Redis.
[0047] It should be understood that Figure 1 The video conferencing system shown may be a WebRTC-based conferencing system. The corresponding communication architecture may be a mesh architecture, a multipoint conferencing unit (MCU) architecture, or a selective forwarding unit (SFU) architecture, but the embodiments of the present application are not limited thereto.
[0048] The following is combined with Figure 2 The following is an exemplary description of a method for user sign-in in a conference service provided by an embodiment of the present application.
[0049] like Figure 2 The method shown is applied to Figure 1In the video conferencing system shown, Figure 2 The methods shown include:
[0050] 210. The client sends a sign-in request message to the conference server.
[0051] Correspondingly, the conference server obtains the sign-in request message from the client, where the sign-in request message includes the conference number and the identifier of the user.
[0052] For example, before a meeting starts or after a meeting ends, when users who need to participate sign in to the meeting, the meeting client can display a meeting sign-in reminder through the meeting interface. After the user clicks the meeting sign-in reminder, or when the user actively clicks the meeting sign-in function, the client generates a meeting request message and sends the sign-in request message to the meeting server.
[0053] 220. The conference server generates a sign-in record according to the conference number, the user's identifier and the current date.
[0054] The sign-in record includes a sign-in mark and a sign-in map, the meeting number and the user's mark are used to determine the sign-in mark, and the current date is used to determine the sign-in map.
[0055] 230. The conference server feeds back a sign-in success feedback message to the client.
[0056] Optionally, as an embodiment, the sign-in bitmap includes N bits, each bit in the sign-in bitmap corresponds to a day in the sign-in statistical unit, the value of the bit in the sign-in bitmap corresponding to the current date is one of 0 and 1, and the values of the remaining bits are another of 0 and 1, wherein the sign-in statistical unit includes a week, month, quarter or year, N is a positive integer greater than 1, and the value of N corresponds to the sign-in statistical unit.
[0057] It should be understood that the sign-in identifier here is used to indicate the corresponding sign-in bitmap. The sign-in identifier can also be called a key. The embodiment of the present application can use the conference number and the user's identifier to determine the key. For example, the sign-in statistical unit is year, that is, the sign-in record is in years, and one user corresponds to a bitmap, which indicates the user's sign-in status in the corresponding conference within one year. It should be understood that in the embodiment of the present application, each meeting and each participant can correspond to a bitmap.
[0058] For example, the first placeholder in the key can represent the year, and the second placeholder can represent the user number. For example, key = meeting: 101: user: 2024: 1, which means the attendance of the user with id 1 at the 101 meeting in 2024. The corresponding bitmap can have 366 bits, where each bit represents a day of the year. For example, a bitmap such as Figure 3 As shown, starting from the first digit, the offset value starts from 0 to the last digit 365, which corresponds to the period from January 1st to December 31st of the year. Among them, the value of each digit is 0 or 1, 0 can represent not signing in, and 1 can represent signing in. For example, Figure 3 The value of bitmap offset 2 is 1, indicating that the user signed in on January 3. It should be understood that 0 is used here to indicate not signing in, and 1 is used to indicate signing in. Alternatively, it can also indicate the opposite meaning, for example, 0 indicates signing in, and 1 indicates not signing in. This is not limited to the embodiments of the present application.
[0059] It should be understood that the bitmap in the embodiment of the present application can be a Redis Bitmap, which is a data structure for storing and processing binary bits. In Redis, Bitmap is not an independent data type, but a special use of the string type. Binary bits can be processed in string data through specific commands.
[0060] When the conference server performs user sign-in, it can generate the user sign-in record according to the key and bitmap, the conference number, the user's ID and the current date after receiving the user's request. For example, the conference server can use the SETBIT command of Redis. The SETBIT command is used to set or clear a bit value in a string value. The specific usage is as follows: SETBIT key offset value.
[0061] Among them, key represents the key name, offset represents the bit offset, which represents the position of the bit to be set or cleared, and the bit position is counted from 0. value: the bit value to be set, which can be 0 or 1. The value execution result of 0 represents a successful sign-in, and the execution result of 1 represents that the sign-in has been completed. For example: setbit meeting:101:user:2024:1 0 1, which means that the user with user id 1 sets the sign-in at the meeting 101 on 2024-01-01, and returns the execution result 0 after the sign-in is completed; if the sign-in has been completed, when the setbit meeting:101:user:2024:1 0 1 command is executed again, the execution result is 1 because the sign-in has been completed. For another example, setbit meeting:101:user:2024:x 8 1, which means that the user with id x sets the sign-in at the meeting 101 on 2024-01-09.
[0062] In the above embodiment, one bit corresponds to one day in the statistical unit. Alternatively, in the embodiment of the present application, M bits may be used to correspond to the statistical unit, and the binary value of the M bits corresponds to one day in the statistical unit.
[0063] Correspondingly, as another embodiment, the sign-in location map includes M bits, the binary value of the M bits corresponds to the current date, M is a positive integer greater than 1, and the value of M corresponds to the sign-in statistical unit.
[0064] For example, if the statistical unit is one year, the M bit can be 9 bits, and the binary value of the M bit has 512 days in total. The decimal value corresponding to the specific binary value of the M bit can be used to correspond to the above offset to indicate the position of the day corresponding to the current date in the year. For example, 000000000 indicates January 1, 000000010 indicates January 3, 000000011 indicates January 4, and so on.
[0065] It should be understood that the value of the above M bit can represent the current date and can also indicate that the current date has been signed in, that is, the sign-in table only records the date of sign-in. Alternatively, the value of the M bit can only represent the date, and at the same time, it can indicate whether the corresponding date is signed in by adding 1 sign-in bit. Correspondingly, as another embodiment, the sign-in bit map also includes 1 sign-in bit, and the value of the sign-in bit is used to indicate whether the current date has been signed in or not. Corresponding to the case where the sign-in statistical unit is one year, the value of M can be 10, and 1 sign-in bit is added on the basis of the above 9 bits. It should be understood that the added sign-in bit can be the 1st bit or the 10th bit, and the embodiments of the present application are not limited to this.
[0066] Optionally, as another embodiment, the method may further include: determining that the user has participated in the meeting corresponding to the meeting number.
[0067] It should be understood that the user has participated in the meeting corresponding to the meeting number shown here, which can include various situations, for example, full participation, or the proportion of participation time exceeding a threshold, for example, more than 50%, or the user does not care about the specific participation time, as long as he has joined or participated in the meeting.
[0068] In one implementation, the embodiment of the present application generates a sign-in record only after determining that the user has participated in the meeting. In another implementation, the sign-in record can be generated first, and then the user is verified to meet the above-mentioned conditions of having participated in the meeting. Only if the user meets the conditions of having participated in the meeting, the sign-in record is retained, otherwise the sign-in record is deleted, or the sign-in status of the user in the sign-in record is changed to not signed in.
[0069] In this way, the embodiment of the present application can avoid situations where someone else signs in or signs in fraudulently, and only users who are participating in the meeting can sign in successfully.
[0070] Optionally, as another embodiment, the method may further include: obtaining information to be queried, the information to be queried including at least one of a meeting number, a user identifier and a check-in date; querying check-in records based on the information to be queried, and outputting check-in status corresponding to the information to be queried.
[0071] Specifically, in an embodiment of the present application, the check-in status can be queried based on the information to be queried. For example, the information to be queried includes a meeting number, through which the meeting number can be used to see which users attended the meeting on which days. For example, a company may have only one meeting number, which can be used for this meeting to see which person attended the meeting on which day of the year. For another example, the information to be queried includes a meeting number and a user ID, and it can be queried on which days the user attended the meeting throughout the year. For another example, the information to be queried includes a user ID, and it can be queried on which days the user attended which meetings. For another example, the information to be queried includes a meeting number, and it can be queried on which users attended the meeting on which days.
[0072] Specifically, the conference server can use the GETBIT command of Redis to perform a check-in query. The GETBIT command can be used to obtain the value of a certain bit in a string value, and the usage is as follows: GETBIT key offset.
[0073] Among them, key represents the key name, offset represents the bit offset, which indicates the position of the bit to be queried, and the bit position is counted from 0. If the execution result (indicating the value of the queried bit) is 0, it means that the user has not signed in, and if the execution result is 1, it means that the user has signed in. For example, getbit meeting:101:user:2024:1 0 means to query whether the user with user id 1 signed in at the meeting 101 on 2024-01-01.
[0074] Optionally, as another embodiment, the method may further include: obtaining information to be counted, the information to be counted including a user identifier and a statistical time period; counting sign-in records according to the information to be counted, and outputting sign-in status corresponding to the statistical query information.
[0075] Specifically, in the embodiment of the present application, the statistical time period can be one year, one quarter, one month or one week, etc., and the embodiment of the present application is not limited thereto. Through the user's identification and statistical time period, the conference server can count which meetings the user attended on which specific day during the statistical time period. For example, the conference server can use the BITCOUNT command to perform conference attendance statistics. For example, bitcount meeting:101:user:2024:1 means counting the date when the user with user ID 1 attended meeting 101 in 2024.
[0076] Some embodiments of the present application can achieve some or all of the following beneficial effects:
[0077] High performance and low latency. In-memory storage: Redis is an in-memory data storage system that uses RAM as its main storage medium. This makes Redis extremely superior in read and write operations, and can usually complete check-in and query requests within milliseconds, which is suitable for high-concurrency user scenarios. Bitmap storage: Using Redis BitMap to store the user's check-in status in the form of bits can effectively reduce memory usage. For example, for the check-in status of a large number of users, a 64-bit integer is used to represent the status of multiple users, which saves a lot of space compared to row records in traditional databases.
[0078] It can simplify operation and implementation. Simple API interface: Redis provides a simple and intuitive API. User sign-in, query and statistics operations can be completed through a few commands. Developers can quickly get started, reducing learning and maintenance costs. Atomic operation: Redis bit operations are atomic, which means that when multiple users sign in at the same time, there will be no data competition or inconsistent state problems. This is a major advantage of complex transaction processing in traditional databases.
[0079] It has excellent scalability. Easy to expand: Redis supports distributed deployment and can be easily expanded horizontally. As the number of users increases, more Redis instances can be added to increase storage and processing capabilities. High availability: Through Redis Cluster or master-slave replication, high data availability can be ensured to avoid system downtime caused by single point failures, thereby improving the reliability of the overall system.
[0080] Flexible data management can be achieved. Efficient periodic statistics: Redis BitMap can easily implement periodic statistics. Through bit operations, the number of sign-ins in a specific time period can be quickly calculated, avoiding the complex query and performance bottleneck of traditional relational databases when performing statistics. Real-time data analysis: The real-time nature of Redis enables timely update and feedback of user sign-ins and statistical data, making it convenient for organizers to monitor meeting participation at any time.
[0081] It can reduce storage costs. Compressed storage: Because bitmaps are used to store user check-in status, Redis can significantly compress storage space. Compared with the traditional row record method, it saves storage costs, especially when there are a large number of users. This advantage is more obvious. Simplified data structure: Compared with the complex relational database structure, Redis's bitmap storage method makes the data structure simpler and easier to manage and maintain.
[0082] It can adapt to high-concurrency scenarios. Excellent concurrent processing capabilities: Redis has the ability to handle tens of thousands to hundreds of thousands of concurrent requests, and can maintain stable performance in high-concurrency situations, which is suitable for the needs of large-scale user sign-in. Avoid lock contention: Due to the design of Redis, the sign-in operation does not involve a lock mechanism, which can effectively avoid the performance degradation caused by lock contention in traditional databases, ensuring that users can sign in quickly.
[0083] Ability to achieve data persistence and improve security Persistence strategy: Although Redis is an in-memory database, it provides a variety of persistence solutions (such as RDB snapshots and AOF logs), which can ensure that data is not lost in the event of an unexpected restart or failure, enhancing data security. Flexible expiration mechanism: Redis can set the expiration time of the key, automatically clean up the check-in records that are no longer needed, manage the life cycle of data storage, and avoid invalid memory usage.
[0084] Please refer to Figure 4 , Figure 4 A block diagram showing the composition of an apparatus for user check-in in a conference service provided by an embodiment of the present application is shown. Figure 4 The device 400 shown can be a conference server or a module in a conference server. It should be understood that the device 400 corresponds to the conference server in the above method embodiment and can execute each step performed by the conference server involved in the above method embodiment. The specific functions of the device 400 can be found in the description above. To avoid repetition, the detailed description is appropriately omitted here.
[0085] Figure 4 The device 400 shown includes at least one software function module that can be stored in a memory or fixed in the device in the form of software or firmware. Figure 4 The device 400 shown includes: an acquisition unit 410, used to obtain a check-in request message from a client, the check-in request message including a meeting number and an identifier of the user; a determination unit 420, used to generate a check-in record based on the meeting number, the identifier of the user and the current date, wherein the check-in record includes a check-in identifier and a check-in location map, the meeting number and the identifier of the user are used to determine the check-in identifier, and the current date is used to determine the check-in location map.
[0086] In one embodiment, the sign-in bitmap includes N bits, each bit in the sign-in bitmap corresponds to a day in the sign-in statistical unit, the bit in the sign-in bitmap corresponding to the current date has a value between 0 and 1, and the remaining bits have another value between 0 and 1, wherein the sign-in statistical unit includes a week, a month, a quarter or a year, N is a positive integer greater than 1, and the value of N corresponds to the sign-in statistical unit.
[0087] In one implementation, the sign-in location map includes M bits, a binary value of the M bits corresponds to the current date, M is a positive integer greater than 1, and the value of M corresponds to a sign-in statistical unit.
[0088] In one implementation, the sign-in location map further includes a sign-in location, and the value of the sign-in location is used to indicate whether the person has signed in or not signed in on the current date.
[0089] In one embodiment, the acquisition unit is also used to acquire the information to be queried, and the information to be queried includes at least one of a meeting number, a user's identification, and a check-in date; the determination unit is also used to query the check-in record based on the information to be queried, and output the check-in status corresponding to the information to be queried.
[0090] In one embodiment, the acquisition unit is further used to acquire information to be counted, the information to be counted includes a user identifier and a statistical time period; the determination unit is further used to count the sign-in records based on the information to be counted, and output the sign-in status corresponding to the statistical information.
[0091] In one implementation, the determining unit is further configured to determine that the user has participated in the conference corresponding to the conference number.
[0092] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned method, and will not be described in detail here.
[0093] like Figure 5 As shown, an embodiment of the present application provides an electronic device 500, which includes: a memory 510, a processor 520, and a computer program stored in the memory 510 and executable on the processor 520, wherein the processor 520 reads the program from the memory 510 through a bus 530 and executes the program to implement the method executed by the conference server in any of the above embodiments. Optionally, Figure 5 The device shown may also include a transceiver, which may be used to send and / or receive data streams. Figure 5The device shown may also include a collector, which may be used to collect audio / video data. The optional electronic device 500 may also include other input devices or other hardware devices, etc., but the embodiments of the present application are not limited thereto.
[0094] Processor 520 can process digital signals and can include various computing structures, such as complex instruction set computer structure, reduced instruction set computer structure, or a structure that implements a combination of multiple instruction sets. In some examples, processor 520 can be a microprocessor.
[0095] The memory 510 may be used to store instructions executed by the processor 520 or data related to the execution of instructions. These instructions and / or data may include codes for implementing some or all functions of one or more modules described in the embodiments of the present application. The processor 520 of the disclosed embodiment may be used to execute instructions in the memory 510 to implement the method performed by the conference server shown above. The memory 510 includes a dynamic random access memory, a static random access memory, a flash memory, an optical memory, or other memory known to those skilled in the art.
[0096] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the method performed by the conference server in any of the above methods provided in the above embodiments can be implemented.
[0097] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it can implement the method performed by the conference server in any of the above methods provided in the above embodiments.
[0098] It should be noted that the processor in the embodiment of the present invention (eg, Figure 5The processor in the embodiment of the present invention may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above method embodiment may be completed by an integrated logic circuit of hardware in the processor or an instruction in software form. The above processor may be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention may be implemented or executed. The general processor may be a microprocessor or the processor may be any conventional processor, etc. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0099] It can be understood that the memory in the embodiment of the present invention (for example, Figure 5The memory in the memory may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0100] The application programs involved in the embodiments of the present application include any application installed on the requesting end, including but not limited to browsers, email, instant messaging services, word processing, keyboard virtualization, widgets, encryption, digital rights management, voice recognition, voice replication, positioning (such as functions provided by the global positioning system), music playback, etc.
[0101] It should be understood that the transceiver unit or transceiver in the embodiment of the present invention may also be referred to as a communication unit.
[0102] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instruction is loaded and executed on a computer, the process or function according to the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instruction can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instruction can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a high-density digital video disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).
[0103] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0104] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or can be electrical, mechanical or other forms of connection.
[0105] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present invention.
[0106] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0107] In short, the above is only a preferred embodiment of the technical solution of the present invention, and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for user sign-in in a conference service, characterized in that: Applied to a conference server, the method comprises: Obtaining a sign-in request message from a client, wherein the sign-in request message includes a conference number and an identifier of the user; A sign-in record is generated according to the meeting number, the user's identifier and the current date, wherein the sign-in record includes a sign-in identifier and a sign-in location map, the meeting number and the user's identifier are used to determine the sign-in identifier, and the current date is used to determine the sign-in location map.
2. The method according to claim 1, characterized in that The sign-in bitmap includes N bits, each bit in the sign-in bitmap corresponds to a day in the sign-in statistical unit, the bit in the sign-in bitmap corresponding to the current date has a value between 0 and 1, and the remaining bits have another value between 0 and 1, wherein the sign-in statistical unit includes a week, a month, a quarter or a year, N is a positive integer greater than 1, and the value of N corresponds to the sign-in statistical unit.
3. The method according to claim 1, characterized in that The sign-in location map includes M bits, the binary value of the M bits corresponds to the current date, M is a positive integer greater than 1, and the value of M corresponds to the sign-in statistical unit.
4. The method according to claim 3, characterized in that The sign-in location map also includes a sign-in location, and the value of the sign-in location is used to indicate whether the current date has been signed in or not.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Acquire information to be queried, where the information to be queried includes at least one of a meeting number, a user identifier, and a sign-in date; According to the information to be queried, the sign-in record is queried, and the sign-in status corresponding to the information to be queried is output.
6. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Acquire the information to be counted, wherein the information to be counted includes the user's identifier and the statistical time period; According to the information to be counted, the sign-in records are counted, and the sign-in status corresponding to the statistical information is output.
7. The method according to any one of claims 1 to 4, characterized in that The method further comprises: It is determined that the user has participated in the meeting corresponding to the meeting number.
8. A device for user sign-in in a conference service, characterized in that: Applied to a conference server, the device comprises: An acquisition unit, configured to acquire a sign-in request message from a client, wherein the sign-in request message includes a conference number and an identifier of the user; A determination unit is used to generate a sign-in record according to the meeting number, the user's identifier and the current date, wherein the sign-in record includes a sign-in identifier and a sign-in location map, the meeting number and the user's identifier are used to determine the sign-in identifier, and the current date is used to determine the sign-in location map.
9. An electronic device, characterized in that: The method comprises a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the computer program executes the method according to any one of claims 1 to 7 when being run by the processor.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program executes the method according to any one of claims 1 to 7 when executed by a processor.