TECHNICAL FIELD

The present application relates to the field of the Internet, and in particular, to a method and a system for allocating virtual articles and a server.

BACKGROUND

With the development of network technologies, it is increasingly popular nowadays to use red envelops as a carrier to send virtual articles. Receiving and sending red envelops via mobile terminals, such as mobile phones, have become an effective manner of people's daily communications. For example, tens of thousands of users take part in activities of sending and grabbing red envelops during Spring Festivals.

With the sending of group red envelops that is currently popular as an example, detailed creation and acquisition flows will be described below.

First, a sending user creates a group red envelop through a client and determines information like a total amount to be sent, a number of red envelops to be distributed, a manner of sending, and the like. Upon receiving a red envelop sending request from the user and after the successful payment made by the user, a red envelop system correspondingly generates a list of red envelop transactions in the same number as that of red envelops according to a particular algorithm, and sends corresponding links for grabbing red envelops to a plurality of receiving users.

Each receiving user can send an acquisition request to the red envelop system by clicking the link for grabbing red envelops at a client. The red envelop system uses a service server to receive acquisition requests sent by different receiving users, and then sends all these acquisition requests to a resource management server, causing the resource management server to randomly allocate corresponding red envelop transactions to users corresponding to the acquisition requests.

In the process of allocating red envelop transactions, it is possible that the same red envelop transaction is simultaneously allocated to a plurality of receiving users during the random allocation by the resource management server because a plurality of users may all click the links for grabbing red envelops at the same time. When the resource management server allocates the same red envelop transaction to a plurality of receiving users, the problem of competing for the concurrently allocated red envelop transaction will occur. The resource management server can randomly select one from the remaining red envelop transactions that have not been successfully acquired for other users who did not successfully obtain the red envelop to acquire. On the other hand, the remaining red envelop transactions that have not been successfully acquired may also correspond to a plurality of users who are competing for red envelops, including users who were unsuccessful in acquiring the previous red envelop and users who just clicked the links for grabbing red envelops. Several rounds of competition for the concurrently allocated red envelop transactions take place in such a manner until all red envelop transactions are acquired.

The above-described existing technologies have at least the following deficiencies: in the above process of allocate red envelop transactions, the workload of the entire red envelop system is high due to the problem of several rounds of competition for concurrently allocated red envelop transactions. As a result, the allocation of red envelop transactions has low efficiency, takes a long time, and gives poor user experience.

SUMMARY

The present disclosure provides methods and systems for allocating virtual articles, which can improve the efficiency of virtual article allocation, shorten the time for allocating virtual articles, and improve user experience. An exemplary system may comprise one or more servers.

According to one aspect, a method for allocating virtual articles comprises: receiving at least two acquisition requests directed at a virtual article packet, and respectively recording receiving times of the acquisition requests, wherein the virtual article packet comprises one or more virtual article sub-packets; allocating acquisition sequence numbers respectively to the acquisition requests according to a sequential order of the receiving times of the acquisition requests; and allocating the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, and sending virtual articles in the virtual article sub-packets to users corresponding to the acquisition requests.

In some embodiments, the acquisition requests comprise an identifier of the virtual article packet; and before the step of allocating the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, the method further comprises: determining the virtual article packet directed at by the acquisition request according to the identifier.

In some embodiments, before the step of recording the receiving times of the acquisition requests, the method further comprises: determining users qualified for acquisition on the basis of the acquisition requests; and recording the receiving times of the acquisition requests corresponding to the users qualified for acquisition.

In some embodiments, the acquisition request comprises first state information regarding whether a first user has acquired one of the virtual article sub-packets; and determining the user qualified for acquisition on the basis of each of the acquisition requests comprises: when the first state information of the user indicates that the first user has not acquired the one virtual article sub-packet, determining that the first user is qualified for acquisition.

In some embodiments, when the virtual article includes electronic currency, the acquisition request further comprises second state information regarding whether the first user has passed a real name verification; and determining the user qualified for acquisition on the basis of each of the acquisition requests comprises: when the second state information indicates a real-name verified user, determining that the first user is qualified for acquisition.

In some embodiments, the acquisition sequence number increments sequentially from an initial value, according to the sequential order of the receiving times and according to a number of the users qualified for acquisition; and when the virtual article sub-packets are determined to have all been acquired, the acquisition sequence number is reset to the initial value.

In some embodiments, the virtual articles each comprise any one of the following: electronic currency, traffic, and electronic coupon.

In some embodiments, the receiving at least two acquisition requests directed at the virtual article packet, and respectively recording the receiving times of the acquisition requests comprises: at one or more service servers, receiving at least two acquisition requests directed at the virtual article packet, respectively recording the receiving times of the acquisition requests, and sending the acquisition requests recorded with the receiving times to a global server; the allocating the acquisition sequence numbers respectively to the acquisition requests according to the sequential order of the receiving times of the acquisition requests comprises: at the global server, receiving the acquisition requests recorded with the receiving times, allocating the acquisition sequence numbers respectively to the acquisition requests according to the sequential order of the receiving times of the acquisition requests, and sending the acquisition requests allocated with the acquisition sequence numbers to a resource management server; and the allocating the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, and sending the virtual articles in the virtual article sub-packets to the users corresponding to the acquisition requests comprises: at the resource management server, receiving the acquisition requests allocated with the acquisition sequence numbers, allocating the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, and sending the virtual articles in the virtual article sub-packets to the users corresponding to the acquisition requests.

According to another aspect, a system for allocating virtual articles comprises: one or more service servers configured to receive at least two acquisition requests directed at a virtual article packet, and respectively record receiving times of the acquisition requests, wherein the virtual article packet comprises one or more virtual article sub-packets; a global server configured to allocate acquisition sequence numbers respectively to the acquisition requests according to a sequential order of the receiving times of the acquisition requests; and a resource management server configured to allocate the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, and send virtual articles in the virtual article sub-packets to users corresponding to the acquisition requests.

In some embodiments, the acquisition requests comprise an identifier of the virtual article packet; and before the resource management server allocates the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, the resource management server is further configured to: determine the virtual article packet directed at by the acquisition request according to the identifier.

In some embodiments, before the global server allocates the acquisition sequence numbers respectively to the acquisition requests, the global server is configured to: determine users qualified for acquisition on the basis of the acquisition requests; and allocate the acquisition sequence numbers respectively to the acquisition request corresponding to the users qualified for acquisition.

In some embodiments, before the one or more service servers record the receiving times of the acquisition requests, the one or more service servers are configured to: determine users qualified for acquisition on the basis of the acquisition requests; and record the receiving times of the acquisition requests corresponding to the users qualified for acquisition.

In some embodiments, the acquisition request comprises first state information regarding whether a first user has acquired one of the virtual article sub-packets; and to determine the user qualified for acquisition on the basis of each of the acquisition requests, the one or more service servers are configured to: when the first state information of the user indicates that the first user has not acquired the one virtual article sub-packet, determine that the first user is qualified for acquisition.

In some embodiments, when the virtual article includes electronic currency, the acquisition request further comprises second state information regarding whether the first user has passed a real name verification; and to determine the user qualified for acquisition on the basis of each of the acquisition requests, the one or more service servers are configured to: when the second state information indicates a real-name verified user, determining that the first user is qualified for acquisition.

In some embodiments, the acquisition sequence number increments sequentially from an initial value, according to the sequential order of the receiving times and according to a number of the users qualified for acquisition; and when the virtual article sub-packets are determined to have all been acquired, the acquisition sequence number is reset to the initial value.

In some embodiments, to receive the at least two acquisition requests directed at the virtual article packet, and respectively record the receiving times of the acquisition requests, the one or more service servers configured to: receive at least two acquisition requests directed at the virtual article packet, respectively record the receiving times of the acquisition requests, and send the acquisition requests recorded with the receiving times to a global server; to allocate the acquisition sequence numbers respectively to the acquisition requests according to the sequential order of the receiving times of the acquisition requests, the global server is configured to receive the acquisition requests recorded with the receiving times, allocate the acquisition sequence numbers respectively to the acquisition requests according to the sequential order of the receiving times of the acquisition requests, and send the acquisition requests allocated with the acquisition sequence numbers to a resource management server; and to allocate the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, and send the virtual articles in the virtual article sub-packets to the users corresponding to the acquisition requests, the resource management server is configured to receive the acquisition requests allocated with the acquisition sequence numbers, allocate the virtual article sub-packets according to the acquisition sequence numbers for the acquisition requests corresponding to the acquisition sequence numbers, and send the virtual articles in the virtual article sub-packets to the users corresponding to the acquisition requests.

According to another aspect, a device (e.g., server) for allocating virtual articles comprises: a processor, and a non-transitory computer-readable memory configured to: store a virtual article packet, the virtual article packet comprising one or more virtual article sub-packets; store instructions that, when executed by the processor, cause the device to perform a method for allocating virtual articles. The method comprises: receiving at least two acquisition requests directed at the virtual article packet; allocating an acquisition sequence number to each of the acquisition requests according to a sequential order of receiving times of the acquisition requests; and obtaining a corresponding virtual article sub-packet from the one or more virtual article sub-packets according to the acquisition sequence number from the memory, allocating the virtual article sub-packet for one of the acquisition requests corresponding to the acquisition sequence number, and sending a virtual article in the virtual article sub-packet to a user corresponding to the one acquisition request.

In some embodiments, the acquisition requests each comprise an identifier of the virtual article packet; and the method further comprises: determining, according to the identifier, the virtual article packet directed at by the acquisition requests.

In some embodiments, the method further comprises: respectively determining users qualified for acquisition on the basis of the acquisition requests; and respectively recording the receiving times of the acquisition requests corresponding to the users qualified for acquisition.

In some embodiments, the acquisition sequence number increments sequentially from an initial value, according to the sequential order of the receiving times and according to a number of the users qualified for acquisition; and when the virtual article sub-packets are determined to have all been acquired, the acquisition sequence number is reset to the initial value.

Thus, according to various embodiments, the service server sends all the acquisition requests recorded with receiving times to the global server, then the global server allocates corresponding acquisition sequence numbers according to the sequential order of receiving times of the acquisition requests, and the resource management server allocates a virtual article sub-packet according to the acquisition sequence number and sends virtual articles in the virtual article sub-packet to a user corresponding to the acquisition request, thereby achieving that one virtual article sub-packet uniquely corresponds to one user in a virtual article allocating process. As a result, the problem of competing for concurrently allocated virtual articles can be avoided, thereby ensuring that a system for allocating virtual articles can efficiently and pertinently allocate each to-be-allocated virtual article to a corresponding user, greatly reducing the workload of the server, improving the virtual article allocating efficiency, shortening the allocation time, and improving user experience.

In the embodiments of the present disclosure, moreover, the global server determines a sequential order in which users are allocated with acquisition sequence numbers and determines whether a user can be allocated with an acquisition sequence number according to the sequential order in which virtual article acquisition requests arrive at the service server. When network conditions are the same, therefore, the embodiments of the presents disclosure can effectively ensure, relative to the existing acquisition manner, that a user who sends an acquisition request first can have a priority opportunity to obtain a corresponding virtual article.

