Two-dimensional code generation system
By dynamically switching seed groups and fission groups, the problem of group entry failure caused by group fullness is solved, the user's smooth joining and the continuous expansion of the community is achieved, and the user experience and service personalization is improved.
Patent Information
- Application Number
- CN202510524161.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-24
- Publication Date
- 2025-08-08
AI Technical Summary
In the prior art, the group active code strategy may cause the group to be full and cannot be successfully joined immediately when the user joins the group, reducing the efficiency of joining the group and affecting the user experience.
By creating channel codes and group code groups, storing the mapping relationship between channel codes and group code groups, dynamically switching seed groups and fission groups, ensuring that users join groups with less than the upper limit of group members, and automatically creating a preparatory group using timing tasks and real-time detection mechanisms to achieve smooth entry to the group by users.
It improves the flexibility and user satisfaction of the group entry process, ensures that new members join groups with higher relevance, realizes customized services, breaks through the group number limit, and ensures the continuous expansion ability of the community.
Smart Images

Figure CN120449913A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a two-dimensional code generation system. Background Art
[0002] With the continuous advancement of internet technology, online group chats have become an important means of information exchange. When building and cultivating communities through online group chats, increasing group membership is a key component of enriching the community. Currently, common methods for inviting new members to a group include using static group QR codes or dynamically updated group live codes. The live code mechanism effectively overcomes issues that can arise with static group QR codes, such as code expiration or the target group reaching its member limit and being unable to admit new members.
[0003] However, when using the group active code strategy to guide users into the group, there are still cases where the client is provided with a group QR code that has reached the member limit. This situation prevents users from successfully joining the online group chat immediately, thus reducing group entry efficiency and negatively affecting the user experience. Summary of the Invention
[0004] The present disclosure provides a QR code generation system, which at least to some extent overcomes the problem in the related art that the group QR code provided cannot be used and users cannot join the group.
[0005] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.
[0006] According to one aspect of the present disclosure, a two-dimensional code generation system is provided, comprising:
[0007] The business layer is used to create channel codes and group code groups. Group code groups are bound to one or more seed groups, and each seed group is associated with one or more fission groups.
[0008] The storage layer is used to store the mapping relationship between channel codes and group code groups;
[0009] The processing layer is used to obtain the user information and channel code identifier of the channel code scanned. Based on the mapping relationship between the channel code and the group code group stored in the storage layer, it queries and obtains the group code group corresponding to the channel code identifier. Based on the user information, it determines the target seed group in the seed group bound to the group code group, and returns the group QR code of the active group to the user.
[0010] Among them, when the number of group members in the seed group is less than the upper limit of the number of people, the used group is the seed group; when the number of group members in the seed group is equal to the upper limit of the number of people, the used group is the fission group with the number of group members less than the upper limit of the number of people.
[0011] In one embodiment of the present disclosure, the processing layer includes:
[0012] The channel code and group code group association module is used to respond to a request initiated by the business layer, call the storage layer, and save the mapping relationship between the channel code and the group code group in the database of the storage layer; the channel code and group code group association module is also used to obtain the user information and channel code identifier of the scanned channel code, and then query and obtain the group code group corresponding to the channel code identifier based on the mapping relationship between the channel code and the group code group stored in the storage layer;
[0013] The seed group identifier mapping module is used to bind the seed group identifier to the group code group after the group code group is created at the business layer, and to bind the fission group to the seed group identifier after the fission group is created; the seed group identifier mapping module is also used to determine the target seed group in the seed group bound to the group code group based on user information, and return the group QR code of the active group to the user.
[0014] In one embodiment of the present disclosure, the business layer further includes:
[0015] The fission task creation and modification module is used to create a fission group corresponding to the seed group based on the group information of the seed group when the number of group members in the seed group reaches a first threshold, and to create a new fission group when the number of group members in the fission group corresponding to the seed group reaches the first threshold.
[0016] In one embodiment of the present disclosure, the system further includes a basic component layer, the basic component layer including a timer service;
[0017] The processing layer also includes:
[0018] The scheduled task detection group module is used to call the timer service to regularly detect whether the number of people in the current group exceeds the second threshold or whether there is a group full mark. When it exceeds the second threshold or the number of people in the current group is equal to the upper limit, the standby group will be switched to the new active group.
[0019] In one embodiment of the present disclosure, the system further includes a basic component layer, the basic component layer including a timer service;
[0020] The processing layer also includes:
[0021] The scheduled task detection group module is used to call the fission task creation and modification module to generate a new fission group as the reserve group when the remaining number of the reserve group is less than the third threshold.
[0022] In one embodiment of the present disclosure, the system further includes a basic component layer, the basic component layer including a message queue component;
[0023] The processing layer also includes:
[0024] The group entry event detection module is used to detect user group entry events and whether the number of people in the current group exceeds the second threshold or whether there is a group full mark. When the second threshold is exceeded or the number of people in the current group is equal to the upper limit, the standby group will be switched to the new active group.
[0025] In one embodiment of the present disclosure, the system further includes a basic component layer, the basic component layer including a message queue component;
[0026] The processing layer also includes:
[0027] Scan code event detection module, used to detect user scanning behavior;
[0028] The code scanning counting module obtains the user's code scanning behavior through the code scanning event detection module, and counts the number of times a single user scans the channel code within the preset time period, as well as the total number of times the channel code is scanned within the preset time period; if the number of times a single user scans the channel code within the preset time period is greater than the fourth threshold, and the group entry event detection module does not detect the user entering the active group, the standby group will be switched to the new active group; if the total number of times the channel code is scanned within the preset time period is greater than the fifth threshold, and the group entry event detection module does not detect the scanning user entering the active group, the standby group will be switched to the new active group.
[0029] In one embodiment of the present disclosure, the system further includes a basic component layer, which includes a configuration management component; the configuration management component is used to adjust the second threshold, the fourth threshold and / or the fifth threshold in response to configuration operations by operators.
[0030] In one embodiment of the present disclosure, the business layer includes:
[0031] The seed group identifier mapping file upload module is used to upload the seed group identifier mapping file. The seed group identifier is used to identify the classification dimension of the group under the group code group. The seed group identifier includes one or more of the city ID, store ID, cell, crowd portrait tag ID, and delivery scenario ID.
[0032] The group code group creation and modification module is used to batch create group code groups based on the seed group identification mapping file. Each group code group is bound to one or more seed groups with the same classification dimension.
[0033] The channel code creation and modification module is used to create channel codes and bind channel codes to group code groups in response to the operation instructions of the operator;
[0034] The seed group identifier mapping module is also used to save the seed group identifier mapping file uploaded by the user into the database of the storage layer after the group code group is created at the business layer.
[0035] In one embodiment of the present disclosure, the business layer includes:
[0036] Group information query module, used to query group-related attributes, including but not limited to group name, group members, group QR code and group ID;
[0037] The seed group list query module is used to query the relevant configuration information of the seed group, including but not limited to the group QR code, group owner and group administrator of the active group.
[0038] According to another aspect of the present disclosure, a QR code generation method is provided, including: obtaining user information and a channel code identifier of a scanned channel code; querying and obtaining the group code group corresponding to the channel code identifier based on a mapping relationship between the channel code and the group code group; determining a target seed group in a seed group bound to the group code group based on the user information; and returning a group QR code of the in-use group to the user; wherein, when the number of group members in the seed group is less than an upper limit on the number of people, the in-use group is the seed group; and when the number of group members in the seed group is equal to the upper limit on the number of people, the in-use group is a fission group whose number of group members is less than the upper limit on the number of people.
[0039] According to another aspect of the present disclosure, an electronic device is provided, including: a memory for storing instructions; and a processor for calling the instructions stored in the memory to implement the above-mentioned two-dimensional code generation method.
[0040] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which computer instructions are stored. When the computer instructions are executed by a processor, the above-mentioned two-dimensional code generation method is implemented.
[0041] According to another aspect of the present disclosure, a computer program product is provided. The computer program product stores instructions, and when the instructions are executed by a computer, the computer implements the above-mentioned two-dimensional code generation method.
[0042] According to yet another aspect of the present disclosure, there is provided a chip comprising at least one processor and an interface;
[0043] An interface for providing program instructions or data to at least one processor;
[0044] At least one processor is used to execute program instructions to implement the above-mentioned two-dimensional code generation method.
[0045] In the QR code generation system provided by the embodiment of the present disclosure, when a user scans a channel code, the processing layer will select the most appropriate target seed group based on the mapping relationship and user information saved in the storage layer, and match the active group associated with the target seed group. This not only improves the flexibility of the group entry process, but also ensures that new members can be assigned to groups with higher relevance, thereby more effectively implementing customized services or content recommendations, and significantly improving user satisfaction. In addition, after the user scans the code, the system will return the QR code of the current "active group" to ensure that the user can join a group that is not full. If the number of group members in the current seed group is equal to the upper limit, the system will automatically switch to the next available fission group and provide a corresponding QR code. This method breaks through the limitation on the number of groups in the existing technology, allowing the system to dynamically create more groups according to actual needs and automatically switch to an unfull group, ensuring the continuous expansion capability of the community.
[0046] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0048] Obviously, the drawings described below are only some embodiments of the present disclosure. A person skilled in the art can obtain other drawings based on these drawings without any creative effort.
[0049] Figure 1 A schematic diagram illustrating the architecture of a QR code generation system according to an embodiment of the present disclosure is shown;
[0050] Figure 2 A schematic diagram showing the relationship between the group code group, the seed group, and the fission group in an embodiment of the present disclosure;
[0051] Figure 3-8 A schematic diagram illustrating the architecture of a QR code generation system according to an embodiment of the present disclosure is shown;
[0052] Figure 9 A schematic diagram of lane switching between the preparatory group creation and the fission group in an embodiment of the present disclosure is shown;
[0053] Figure 10 A schematic diagram illustrating the architecture of a QR code generation system according to an embodiment of the present disclosure is shown;
[0054] Figure 11 A schematic diagram of the code scanning and counting process in an embodiment of the present disclosure is shown;
[0055] Figure 12A schematic diagram illustrating the architecture of a QR code generation system according to an embodiment of the present disclosure is shown;
[0056] Figure 13 A flow chart of a method for generating a two-dimensional code according to an embodiment of the present disclosure is shown;
[0057] Figure 14 A structural block diagram of an electronic device in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0058] In order to make the purpose, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. The components of the embodiments of the present disclosure generally described and shown in the drawings herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure provided in the drawings is not intended to limit the scope of the disclosure for which protection is sought, but merely represents selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present disclosure.
[0059] With the development of the Internet and the popularization of digital marketing, companies will initially promote and sell their products in the public traffic pool. After the public traffic pool develops to a certain period, user growth tends to be saturated, user conversion rate and activity gradually weaken, and customer acquisition costs become higher. Companies then turn their attention to the private traffic pool and look for growth points in private traffic.
[0060] Group fission is a strategy widely used in social networks, marketing, and community management. It aims to achieve rapid expansion by having existing members invite new members to join a specific community or group.
[0061] A common industry solution to the problem of group fission is the group live code model. This involves creating a maximum of five preliminary groups. Once a group reaches its maximum number of members, the system binds the channel code (the QR code used to guide new users into the group) to one of the five pre-created groups, and this process continues in a continuous loop.
[0062] While the group live code model significantly simplifies the user joining process and improves operational efficiency, it also has certain limitations. The lack of direct connection between group and user information in this model results in low correlation between group members, making it difficult to provide customized services or content recommendations based on member characteristics. Furthermore, because the group live code model does not consider individual user differences and preferences, it presents significant challenges in providing a personalized user experience and fails to effectively improve service relevance and user satisfaction.
[0063] The QR code generation system provided by the embodiment of the present disclosure can help enterprises build groups corresponding to private domain traffic, enable users to smoothly enter seed groups or fission groups, enable enterprises to directly interact and communicate with private domain users, and ultimately help enterprises quickly and conveniently provide services and marketing to users in the group.
[0064] The defects of the above solutions and the proposed solutions are the results obtained by the inventor after practice and careful research. Therefore, the discovery process of the above problems and the solutions proposed in the present disclosure for the above problems below should be the contributions made by the inventor to the present disclosure during the disclosure process.
[0065] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0066] This exemplary implementation is described in detail below with reference to the accompanying drawings and examples.
[0067] Figure 1 A two-dimensional code generation system according to an embodiment of the present disclosure is shown. Figure 1 As shown, the QR code generation system provided in the embodiment of the present disclosure includes a business layer 10, a processing layer 20 and a storage layer 30.
[0068] Business layer 10, used to create channel codes and group code groups. Group code groups are bound to one or more seed groups, and each seed group is associated with one or more fission groups.
[0069] The storage layer 30 is used to store the mapping relationship between the channel code and the group code group;
[0070] The processing layer 20 is used to obtain the user information and channel code identifier of the scanned channel code, and based on the mapping relationship between the channel code and the group code group stored in the storage layer, query to obtain the group code group corresponding to the channel code identifier, determine the target seed group in the seed group bound to the group code group based on the user information, and return the group QR code of the active group to the user; wherein, when the number of group members in the seed group is less than the upper limit of the number of people, the active group is the seed group; when the number of group members in the seed group is equal to the upper limit of the number of people, the active group is a fission group with the number of group members less than the upper limit of the number of people.
[0071] The channel code is a dynamic code that adds an extra layer of information encapsulation to the ordinary group QR code. This makes it not only limited to joining a specific group, but also can carry more information about users, sources or activities, supports permanent reuse, and meets the needs of fission customer acquisition.
[0072] In some embodiments, a group code group is bound when creating a channel code. When a user scans a channel code, based on the seed group identifier and user information, a group QR code (the QR code of the group in use above) is selected from the group code group and displayed to the user. The user can enter the corresponding group by scanning the code. As an example, the relationship between the group code group, seed group, and fission group can be as follows: Figure 2 shown.
[0073] In the embodiment of the present disclosure, when a user scans a channel code, the processing layer selects the most appropriate target seed group based on the mapping relationship and user information stored in the storage layer, and matches the active groups associated with the target seed group. This not only improves the flexibility of the group entry process, but also ensures that new members can be assigned to groups with higher relevance, thereby enabling more effective implementation of customized services or content recommendations, and significantly improving user satisfaction.
[0074] In a specific example, the application scenario of the above-mentioned QR code generation system is as follows: the enterprise terminal displays the channel code to the user, and the user uses the device to scan the channel code; after the enterprise service receives the user's scanning action, it queries the bound group code group according to the relevant information of the channel code; finds the seed group identifier mapped to it according to the user information and group code group, and finds the available fission group from the fission group according to the seed group identifier, and finally returns the QR code of the in-use group to the enterprise terminal. The user can enter the corresponding group after identifying the QR code of the in-use group on the device; the fission task will periodically detect whether the number of group members is equal to the upper limit. If the number of group members is equal to the upper limit, a new group will be fissioned, so that the group QR codes returned to the user are all available. In addition, the above method breaks through the limitation of the number of groups in the existing technology, allowing the system to dynamically create more groups according to actual needs, and automatically switch to an unfilled group, ensuring the continuous expansion capability of the community.
[0075] In some embodiments, as Figure 3 As shown, the business layer 10 includes a seed group identifier mapping file uploading module 101 , a group code group creating and modifying module 102 , and a channel code creating and modifying module 103 .
[0076] The seed group identification mapping file uploading module 101 is used to upload the seed group identification mapping file. The seed group identification is used to identify the classification dimension of the group under the group code group. The seed group identification includes one or more of the city ID, store ID, cell, crowd portrait tag ID, and delivery scenario ID.
[0077] The seed group identifier (ID) can be an identification number customized by the operator, which is the classification dimension of the group under the group code group. For example, city ID, store ID, cell, crowd portrait tag ID, delivery scene ID, etc. can all be used as seed group ID. When the group is created, the group and seed group ID are associated. In one example, after the user scans the code to enter the group of the corresponding seed group ID, the users in the group have similar attributes, such as coming from the same city, scanning the same store ID to enter the group, etc. The operator can use this similar attribute to conveniently count, manage and operate the group. Under the seed group identifier mapping file upload module 101, the operator can first download the template file, fill in the relevant information based on the template file, and then upload the file to the back end.
[0078] The group code group creation and modification module 102 is used to create group code groups in batches based on the seed group identification mapping file, and each group code group is bound to one or more seed groups with the same classification dimension.
[0079] A group code group is an aggregation of a group of related seed groups that have the same classification dimension. Under the group code group creation and modification module 102, the operator can generate several seed groups in batches by uploading the seed group ID mapping file and filling in the group code group basic information.
[0080] The channel code creation and modification module 103 is used to create a channel code in response to an operation instruction from an operator, and to bind the channel code to a group code.
[0081] In some embodiments, as Figure 4 As shown, the business layer 10 may further include a group information query module 104 and a seed group list query module 105 .
[0082] The group information query module 104 is used to query group-related attributes, including but not limited to the group name, group member number, group QR code and group ID.
[0083] The seed group list query module 105 is used to query the relevant configuration information of the seed group, including but not limited to the group QR code, group owner and group administrator of the active group.
[0084] The seed group is the first group in a group fission. When the subsequent groups are full and the group fission is carried out, the same information is copied based on the seed group. The new group created can have a similar group name, the same group owner, group administrator, etc. The user can query the relevant configuration information of the seed group in the seed group list query module 105, such as the group QR code of the active group, the group owner and group administrator, etc.
[0085] In some embodiments, as Figure 5 As shown, the processing layer 20 may include a channel code and group code group association module 201 and a seed group identifier mapping module 202 .
[0086] The channel code and group code group association module 201 is used to respond to the request initiated by the business layer, call the storage layer, and save the mapping relationship between the channel code and the group code group in the database of the storage layer; the channel code and group code group association module is also used to obtain the user information and channel code identifier of the scanned channel code, and then query and obtain the group code group corresponding to the channel code identifier based on the mapping relationship between the channel code and the group code group stored in the storage layer.
[0087] The channel code and group code group association module 201 mainly has two core processing logics: (1) the processing business layer initiates a request, calls the storage layer, and saves the association relationship between the channel code and the group code group into the database; (2) after the user scans the corresponding channel code through the device, calls the storage layer and finds the associated group code group through the channel code.
[0088] The seed group identifier mapping module 202 is used to bind the seed group identifier to the group code group after the group code group is created at the business layer, and to bind the fission group to the seed group identifier after the fission group is created; the seed group identifier mapping module is also used to determine the target seed group in the seed group bound to the group code group based on user information, and return the group QR code of the active group to the user.
[0089] In some embodiments, the seed group identifier mapping module 202 is further configured to save the seed group identifier mapping file uploaded by the user into a database at the storage layer after the group code group is created at the business layer.
[0090] The seed group identification mapping module 202 mainly processes the mapping relationship between the seed group ID and the seed group, and processes the requests after the business layer and the user device scan the code respectively: (1) In the business layer, after the group code group is created, the seed group identification mapping file uploaded by the user will be saved to the database by calling the storage layer. Each seed group ID has a corresponding unique identification number and name. When the fission group is created, the group fission will be bound to a seed group ID as part of the basic attributes of the group. (2) After the user scans the channel code through the device, the corresponding group code group is found through the channel code and group code group association module. According to the seed group and user information bound to the group code group, the group code of the fission group is returned, and the user can scan the group code to join the group.
[0091] In some embodiments, as Figure 6 As shown, the business layer 10 may further include a fission task creation and modification module 106 .
[0092] The fission task creation and modification module 106 is used to create a fission group corresponding to the seed group based on the group information of the seed group when the number of group members in the seed group reaches a first threshold, and to create a new fission group when the number of group members in the fission group corresponding to the seed group reaches the first threshold.
[0093] The fission task creation and modification module 106 creates similar groups based on the seed group, known as fission groups. When the number of group members reaches a certain threshold, the task first obtains the seed group information and creates a second group based on the seed group information. This cycle ensures that users who scan groups will only join a group that is not full. In the fission task creation and modification module 106, operators can enter the fission task name, the number of people required to create the new fission group, and the unique identifier of the seed group.
[0094] In some embodiments, as Figure 7 As shown, the QR code generation system further includes a basic component layer 40 , which includes a timer service 401 . The processing layer 20 further includes a timed task detection group module 203 .
[0095] The scheduled task detection group module 203 is used to call the timer service to regularly detect whether the number of members in the current active group exceeds a second threshold or whether the group is marked as full. When the number exceeds the second threshold or the number of members in the active group reaches the upper limit, the standby group is switched to the new active group. It is understood that the second threshold is less than the upper limit.
[0096] In some embodiments, the scheduled task detection group module 203 is further configured to call the fission task creation and modification module to generate a new fission group as a reserve group when the remaining number of reserve groups is less than a third threshold.
[0097] The scheduled task detection group module 203 mainly detects whether the number of people in the current group exceeds a certain threshold or whether it has a group full mark. When the number of people in the current group reaches the upper limit, the current group will be switched to the reserve group. In addition, the scheduled task detection group module 203 will also generate a batch of reserve groups in advance based on the remaining number of reserve groups to prevent a large number of users from scanning the code to join the group, which will result in the inability to create a fission group in time after the group is full.
[0098] In some embodiments, as Figure 8 As shown, the QR code generation system further includes a basic component layer 40 , which further includes a message queue component 402 ; the processing layer 20 further includes a group entry event detection module 204 .
[0099] The group joining event detection module 204 is used to detect user joining events and whether the number of people in the current group exceeds the second threshold or whether there is a group full mark. When the number exceeds the second threshold or the number of people in the current group is equal to the upper limit, the standby group is switched to the new active group.
[0100] The group entry event detection module 204 is mainly responsible for detecting user group entry events. When a user scans the code on the device to join the group, the group entry event detection module 204 receives the user's group entry message. The operator can perform data statistics based on the event, record the number of group members, group member information list, etc. Since there is a certain time interval for the execution of scheduled tasks, it is impossible to detect in time whether the number of group members is equal to the upper limit. The group entry event detection module 204 makes up for the defects of scheduled tasks and can detect in real time whether the number of group members exceeds a certain threshold. If it exceeds, it will switch to a group with less than full group members. Figure 9 To prepare for the group creation and fission group switching swim lane diagram, Figure 9 The process of creating a preliminary group and switching a fission group by the scheduled task detection group module 203 and the group entry event detection module 204 is shown.
[0101] In some embodiments, as Figure 10 As shown, the QR code generation system further includes a basic component layer 40 , which includes a message queue component 402 ; the processing layer 20 further includes a code scanning event detection module 205 and a code scanning counting module 206 .
[0102] Scan code event detection module 205, used to detect user scanning behavior;
[0103] The code scanning counting module 206 obtains the user's code scanning behavior through the code scanning event detection module, and counts the number of times a single user scans the channel code within the preset time period, as well as the total number of times the channel code is scanned within the preset time period; if the number of times a single user scans the channel code within the preset time period is greater than the fourth threshold, and the group entry event detection module does not detect the user entering the active group, the standby group is switched to the new active group; if the total number of times the channel code is scanned within the preset time period is greater than the fifth threshold, and the group entry event detection module does not detect the scanning user entering the active group, the standby group is switched to the new active group.
[0104] The code scanning event detection module 205 is mainly responsible for monitoring the user's code scanning action. When the user scans the code through the device, the enterprise terminal will sense the user's code scanning action and report the action to the enterprise server. The server processes the user's code scanning event through the code scanning event detection module 205.
[0105] The code scanning counting module 206 records the number of times a user scans a group or the number of users scanned in a group within a certain period of time through the code scanning event detection module 205 and calls the storage layer to store the count in Redis. When the code scanning count exceeds a certain threshold and the group entry event monitoring module has not yet detected that a user has actually entered the group, it can be considered that there is a certain problem with the group that causes the user to be unable to join the group after scanning the code, and the group in use will be switched to another fission group to prevent a large number of users from complaining online. The process of code scanning counting is as follows Figure 11When the user scans the code and when the user actually joins the group, the cache counter will be updated respectively. Finally, whether the count value of the cache counter exceeds a certain threshold is used to determine whether the current group is not eligible for joining.
[0106] refer to Figure 10 The storage layer 30 consists of two modules: a database and a Redis data cache. The database is primarily responsible for storing data related to the QR code generation system, such as the channel code table, group code group table, group code group and channel code association table, group fission information table, group code group and group fission association table, and seed group ID information table. The Redis data cache is primarily responsible for recording scan counts.
[0107] In some embodiments, as Figure 12 As shown, the system further includes a basic component layer 40, which includes a configuration management component 403; the configuration management component 403 is used to adjust the second threshold, the fourth threshold and / or the fifth threshold in response to the configuration operation of the operator.
[0108] The basic component layer 40 is primarily responsible for providing basic services to the QR code generation system. The scheduled task detection group module 203 relies on a timer to detect whether the group is full and whether sufficient reserve groups have been created. The code scanning event detection module 205 and the group joining event detection module 204 rely on the queue (MQ) component 402 to receive user code scanning actions and group joining messages. The configuration management component is responsible for pushing configurable values in real time, such as the threshold for the number of group scans and the threshold for determining whether the group is full, allowing operators to adjust strategies in a timely manner based on current operational conditions.
[0109] To quickly and efficiently switch groups with members equal to the upper limit to fission groups, the above solution uses scheduled tasks and real-time links to switch groups and create reserve groups. If a group becomes unavailable, the solution monitors group entry and QR code scanning to determine whether to switch groups. The fission group and seed group IDs are associated, and users with similar profiles are grouped together for easier operation.
[0110] The disclosed embodiment can cope with a sudden increase in the number of people joining the group through real-time and scheduled task detection and the creation of a preliminary group in advance, and quickly switch the group with the number of group members equal to the upper limit to a fission group to avoid the group being full and users being unable to join the group; when the group is unavailable and the code cannot be scanned to join the group, it can automatically switch to an available fission group without manual intervention to avoid user loss and customer complaints and public opinion; by gathering users with the same population portrait into the group, precise marketing and efficient operation can be achieved, thereby improving the conversion rate of the activity, and at the same time, personalized product recommendations and services can be provided to users to maximize user value.
[0111] In the embodiments of the present disclosure, the terms “first,” “second,” and “third” are used for descriptive purposes only and should not be understood as indicating or implying relative importance.
[0112] The concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0113] In this disclosure, the term "and / or" simply describes an association relationship between related objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the related objects are in an "or" relationship.
[0114] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, such division is not mandatory.
[0115] In fact, according to the embodiment of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0116] Some of the blocks shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0117] Based on the same inventive concept, the present disclosure also provides a method for generating a two-dimensional code. Figure 13 As shown, the QR code generation method provided in the embodiment of the present disclosure includes S1301-S1304.
[0118] In S1301, the user information and channel code identifier of the scanned channel code are obtained;
[0119] In S1302, based on the mapping relationship between the channel code and the group code group, the group code group corresponding to the channel code identifier is queried;
[0120] In S1303, a target seed group is determined from the seed groups bound to the group code group based on the user information;
[0121] In S1304, the group QR code of the active group is returned to the user; when the number of group members in the seed group is less than the upper limit, the active group is the seed group; when the number of group members in the seed group is equal to the upper limit, the active group is the fission group whose number of group members is less than the upper limit.
[0122] In the embodiment of the present disclosure, when a user scans a channel code, the system will automatically determine whether the number of group members is less than the upper limit, and return a QR code of an "active group" with a number of group members less than the upper limit. Then, the user can join the active group after scanning the QR code of the active group. This method reduces the probability that the user will not be able to join the group after scanning the code, breaks through the limitation on the number of groups in the existing technology, allows the system to dynamically create more groups according to actual needs, and automatically switch to an unfilled group, thereby ensuring the continuous expansion capability of the community.
[0123] It should be noted that although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results.
[0124] In some embodiments, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0125] Refer to the following Figure 14 To describe the electronic device provided by the embodiment of the present disclosure. Figure 14 The electronic device 1400 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0126] Figure 14 FIG. 1 shows a schematic diagram of the architecture of an electronic device 1400 provided by an embodiment of the present disclosure. Figure 14 As shown, the electronic device 1400 includes but is not limited to: at least one processor 1410 and at least one memory 1420.
[0127] The memory 1420 is used to store instructions.
[0128] In some embodiments, the memory 1420 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 14201 and / or a cache memory unit 14202 , and may further include a read-only memory unit (ROM) 14203 .
[0129] In some embodiments, the memory 1420 may also include a program / utility 14204 having a set (at least one) of program modules 14205, such program modules 14205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0130] In some embodiments, the memory 1420 may store an operating system, which may be a real-time operating system (RTX), LINUX, UNIX, WINDOWS, or OS X.
[0131] In some embodiments, data may also be stored in the memory 1420 .
[0132] As an example, the processor 1410 may read data stored in the memory 1420 . The data may be stored at the same storage address as the instruction, or the data may be stored at a different storage address from the instruction.
[0133] Processor 1410 is configured to call instructions stored in memory 1420 to implement the steps described in the "Exemplary Methods" section above according to various exemplary embodiments of the present disclosure. For example, processor 1410 may execute the steps of the aforementioned QR code generation method embodiment.
[0134] It should be noted that the processor 1410 may be a general-purpose processor or a dedicated processor. The processor 1410 may include one or more processing cores, and the processor 1410 executes various functional applications and data processing by running instructions.
[0135] In some embodiments, the processor 1410 may include a central processing unit (CPU) and / or a baseband processor.
[0136] In some embodiments, the processor 1410 may determine an instruction based on the priority identifier and / or function category information carried in each control instruction.
[0137] In the present disclosure, the processor 1410 and the memory 1420 may be provided separately or integrated together.
[0138] As an example, the processor 1410 and the memory 1420 may be integrated on a single board or a system on chip (SOC).
[0139] like Figure 14 As shown, the electronic device 1400 is implemented as a general-purpose computing device. The electronic device 1400 may further include a bus 1430 .
[0140] The bus 1430 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.
[0141] The electronic device 1400 may also communicate with one or more external devices 1440 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 1400, and / or any device that enables the electronic device 1400 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication may occur through an input / output (I / O) interface 1450.
[0142] Furthermore, the electronic device 1400 can also communicate with one or more networks (eg, a local area network (LAN), a wide area network (WAN) and / or a public network, such as the Internet) through the network adapter 1460 .
[0143] like Figure 14 As shown, the network adapter 1460 communicates with other modules of the electronic device 1400 via the bus 1430 .
[0144] It should be understood that although not shown in the figures, other hardware and / or software modules may be used in conjunction with the electronic device 1400, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0145] It is understood that the structure shown in the embodiment of the present disclosure does not constitute a specific limitation on the electronic device 1400. In other embodiments of the present disclosure, the electronic device 1400 may include Figure 14 More or fewer components may be shown, or some components may be combined or separated, or the components may be arranged differently. Figure 14 The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0146] The present disclosure also provides a computer-readable storage medium having computer instructions stored thereon. When the computer instructions are executed by a processor, the two-dimensional code generation method described in the above method embodiment is implemented.
[0147] The computer-readable storage medium in the embodiments of the present disclosure is a computer instruction that can be sent, propagated or transmitted for use by or in conjunction with an instruction execution system, apparatus or device.
[0148] As an example, computer readable storage media are non-volatile storage media.
[0149] In some embodiments, more specific examples of computer-readable storage media in the present disclosure may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, a USB flash drive, a mobile hard disk, or any suitable combination of the foregoing.
[0150] In the embodiments of the present disclosure, the computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer instructions (readable program codes).
[0151] Such a propagated data signal may take any of a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.
[0152] In some examples, computing instructions contained on a computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0153] The embodiments of the present disclosure further provide a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the QR code generation method described in the above method embodiment.
[0154] The above instructions may be program codes. In specific implementation, the program codes may be written in any combination of one or more programming languages.
[0155] Programming languages include object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages.
[0156] The program code may execute entirely on the user's computing device, partly on the user's computing device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server.
[0157] Where a remote computing device is involved, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0158] The embodiment of the present disclosure further provides a chip, comprising at least one processor and an interface;
[0159] An interface for providing program instructions or data to at least one processor;
[0160] At least one processor is used to execute program instructions to implement the QR code generation method described in the above method embodiment.
[0161] In some embodiments, the chip may further include a memory for storing program instructions and data, and the memory may be located inside or outside the processor.
[0162] Those skilled in the art will appreciate that all or part of the steps for implementing the above embodiments may be implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software, which may be collectively referred to herein as a "circuit," "module," or "system."
[0163] Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein.
[0164] This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims.
Claims
1. A QR code generation system, characterized in that: include: The service layer is used to create channel codes and group code groups. The group code groups are bound to one or more seed groups, and each seed group is associated with one or more fission groups. The storage layer is used to store the mapping relationship between channel codes and group code groups; The processing layer is configured to obtain user information and a channel code identifier of a user who scanned a channel code, query the group code group corresponding to the channel code identifier based on the mapping relationship between the channel code and the group code group stored in the storage layer, determine a target seed group from the seed groups bound to the group code group based on the user information, and return a group QR code of the active group to the user; When the number of group members of the seed group is less than the upper limit, the active group is the seed group; When the number of group members of the seed group is equal to the upper limit of the number of people, the in-use group is a fission group in which the number of group members is less than the upper limit of the number of people.
2. The system according to claim 1, wherein: The processing layer includes: The channel code and group code group association module is configured to, in response to a request initiated by the business layer, call the storage layer and save the mapping relationship between the channel code and the group code group in a database of the storage layer; the channel code and group code group association module is further configured to obtain user information and a channel code identifier of a scanned channel code, and then, based on the mapping relationship between the channel code and the group code group stored in the storage layer, query and obtain the group code group corresponding to the channel code identifier; The seed group identifier mapping module is used to bind the seed group identifier to the group code group after the group code group is created at the business layer, and to bind the fission group to the seed group identifier after the fission group is created; the seed group identifier mapping module is also used to determine the target seed group in the seed group bound to the group code group based on the user information, and return the group QR code of the active group to the user.
3. The system according to claim 2, characterized in that The business layer also includes: The fission task creation and modification module is used to create a fission group corresponding to the seed group based on the group information of the seed group when the number of group members in the seed group reaches a first threshold, and to create a new fission group when the number of group members in the fission group corresponding to the seed group reaches the first threshold.
4. The system according to claim 1, wherein: The system further includes a basic component layer, wherein the basic component layer includes a timer service; The processing layer further comprises: The scheduled task detection group module is used to call the timer service to regularly detect whether the number of people in the current group exceeds the second threshold or whether there is a group full mark. When it exceeds the second threshold or the number of people in the current group is equal to the upper limit, the standby group will be switched to the new active group.
5. The system according to claim 3, wherein: The system further includes a basic component layer, wherein the basic component layer includes a timer service; The processing layer further comprises: The scheduled task detection group module is used to call the fission task creation and modification module to generate a new fission group as a reserve group when the remaining number of the reserve group is less than a third threshold.
6. The system according to claim 1 or 4, characterized in that The system further comprises a basic component layer, wherein the basic component layer comprises a message queue component; The processing layer further comprises: The group entry event detection module is used to detect user group entry events and whether the number of people in the current group exceeds the second threshold or whether there is a group full mark. When the second threshold is exceeded or the number of people in the current group is equal to the upper limit, the standby group will be switched to the new active group.
7. The system according to claim 6, characterized in that The system further comprises a basic component layer, wherein the basic component layer comprises a message queue component; The processing layer further comprises: Scan code event detection module, used to detect user scanning behavior; The code scanning counting module obtains the user's code scanning behavior through the code scanning event detection module, and counts the number of times a single user scans the channel code within a preset time period, as well as the total number of times the channel code is scanned within the preset time period; if the number of times a single user scans the channel code within the preset time period is greater than the fourth threshold, and the group entry event detection module does not detect the user entering the active group, the standby group is switched to the new active group; if the total number of times the channel code is scanned within the preset time period is greater than the fifth threshold, and the group entry event detection module does not detect the scanning user entering the active group, the standby group is switched to the new active group.
8. The system according to claim 7, characterized in that The system further includes a basic component layer, which includes a configuration management component; the configuration management component is configured to adjust the second threshold, the fourth threshold and / or the fifth threshold in response to a configuration operation by an operator.
9. The system according to claim 2, wherein: The business layer includes: A seed group identifier mapping file upload module is used to upload a seed group identifier mapping file. The seed group identifier is used to identify the classification dimension of the group under the group code group. The seed group identifier includes one or more of the city ID, store ID, cell, crowd portrait tag ID, and delivery scenario ID. A group code group creation and modification module is used to create group code groups in batches based on the seed group identification mapping file, and each group code group is bound to one or more seed groups with the same classification dimension; A channel code creation and modification module is used to create a channel code in response to an operation instruction from an operator, and to bind the channel code to a group code group; The seed group identifier mapping module is further configured to save the seed group identifier mapping file uploaded by the user into the database of the storage layer after the group code group is created at the business layer.
10. The system according to claim 1 or 9, characterized in that The business layer includes: Group information query module, used to query group-related attributes, including but not limited to group name, group members, group QR code and group ID; The seed group list query module is used to query the relevant configuration information of the seed group, including but not limited to the group QR code, group owner and group administrator of the active group.