CN110210922B - Information display resource allocation method and device, computer equipment and storage medium - Google Patents
Information display resource allocation method and device, computer equipment and storage medium Download PDFInfo
- Publication number
- CN110210922B CN110210922B CN201811301766.8A CN201811301766A CN110210922B CN 110210922 B CN110210922 B CN 110210922B CN 201811301766 A CN201811301766 A CN 201811301766A CN 110210922 B CN110210922 B CN 110210922B
- Authority
- CN
- China
- Prior art keywords
- order
- resource allocation
- orders
- information display
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0272—Period of advertisement exposure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The application relates to an information display resource allocation method, an information display resource allocation device, computer equipment and a storage medium. The method comprises the following steps: and generating a resource distribution topological graph according to the sequence of each order in the order queue, wherein the types of the information display resources corresponding to the orders which are not on the same path in the resource distribution topological graph are not overlapped, and the information display resources are distributed according to the resource distribution topological graph. For two or more orders with non-overlapping resource types, the resource allocation results do not influence each other, so when the resource allocation is carried out through the resource allocation topological graph of the scheme, the resources can be allocated in parallel to the orders which do not influence each other, and the resources can be allocated in series to the orders which may influence each other, so that the accuracy of resource allocation is ensured, the time required by resource allocation is shortened, and the efficiency of resource allocation and the response speed of a system are improved.
Description
Technical Field
The present application relates to the field of internet application technologies, and in particular, to a method and an apparatus for allocating information display resources, a computer device, and a storage medium.
Background
In an information display system, such as an advertisement display system, each time when the remaining amount of information display resources is queried, resource allocation needs to be performed once for an order in the system or for an order for locking the information display resources.
In the related art, when resource allocation is performed on orders in a system, the orders needing to be allocated in the system are generally sorted according to a preset sorting rule, information display resources are allocated to each order one by one according to a sorting result, and after allocation of one order is completed, allocation of information display resources of the next order is performed.
According to the allocation scheme, the resource allocation of the next order is performed only after the allocation of one order is completed, so that long allocation time is consumed for completing the allocation of all the orders to be allocated, and the response speed of the system is influenced.
Disclosure of Invention
The embodiment of the application provides an information display resource allocation method, an information display resource allocation device, computer equipment and a storage medium, which can be used for solving the problems that long allocation time needs to be consumed for completing all allocation of orders needing to be allocated in the related technology, and the response speed of a system is influenced, and the technical scheme is as follows:
in one aspect, a method for allocating information display resources is provided, where the method includes:
acquiring a resource allocation instruction, wherein the resource allocation instruction is used for triggering the allocation of information display resources, and the information display resources are resources for displaying information in an information display platform;
acquiring a first order queue corresponding to the resource allocation instruction, wherein the first order queue comprises at least two orders, and the orders are used for ordering or locking at least one type of information display resource;
generating a resource allocation topological graph comprising a plurality of resource allocation paths according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order; the types of the information display resources corresponding to the orders which are not positioned on the same resource distribution path are not overlapped;
and according to the resource distribution topological graph, serially distributing information display resources to orders on the same resource distribution path, and parallelly distributing information display resources to orders not on the same resource distribution path.
In another aspect, an information presentation resource allocation apparatus is provided, the apparatus includes:
the instruction acquisition module is used for acquiring a resource allocation instruction, wherein the resource allocation instruction is used for triggering the allocation of information display resources, and the information display resources are resources for displaying information in the information display platform;
a first order queue acquiring module, configured to acquire a first order queue corresponding to the resource allocation instruction, where the first order queue includes at least two orders, and the orders are used to order or lock at least one type of information display resource;
a topological graph generating module, configured to generate a resource allocation topological graph including multiple resource allocation paths according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order; the types of the information display resources corresponding to the orders which are not positioned on the same resource distribution path are not overlapped;
and the resource distribution module is used for serially distributing information display resources to orders on the same resource distribution path and parallelly distributing information display resources to orders not on the same resource distribution path according to the resource distribution topological graph.
In another aspect, a computer device is provided, which includes a processor and a memory, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored in the memory, and the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded and executed by the processor to implement the above-mentioned information presentation resource allocation method.
In yet another aspect, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a set of codes, or a set of instructions is stored, which is loaded and executed by a processor to implement the above-mentioned information presentation resource allocation method.
The technical scheme provided by the application can comprise the following beneficial effects:
according to the scheme, a resource distribution topological graph is generated according to the sequence of orders in an order queue and the types of information display resources corresponding to the orders, the types of the information display resources corresponding to the orders which are not located on the same resource distribution path in the resource distribution topological graph are not overlapped, then the information display resources are distributed in series according to the orders on the same resource distribution path indicated by the resource distribution topological graph, and the information display resources are distributed in parallel for the orders which are not located on the same resource distribution path. For two or more orders with non-overlapping information display resource types, the resource allocation results of the two or more orders are not influenced mutually, so that when the resource allocation is carried out through the resource allocation topological graph of the scheme, the resources can be allocated in parallel to the orders which are not influenced mutually, and the resources can be allocated in series to the orders which are possibly influenced, so that the accuracy of resource allocation is ensured, the time length required by resource allocation is shortened, and the efficiency of resource allocation and the response speed of a system are improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the principles of the application.
FIG. 1 is a schematic diagram illustrating the structure of an information presentation system in accordance with an exemplary embodiment;
FIG. 2 is a schematic diagram illustrating an order generation process in accordance with an exemplary embodiment;
FIG. 3 is a flow diagram illustrating a method of information presentation resource allocation, according to an example embodiment;
FIG. 4 is a schematic diagram of an order sequence allocation according to the embodiment of FIG. 3;
FIG. 5 is a diagram illustrating resource allocation according to a resource allocation topology according to the embodiment shown in FIG. 3;
FIG. 6 is a flow diagram illustrating a method of information presentation resource allocation in accordance with an exemplary embodiment;
FIG. 7 is a resource allocation topology diagram illustrating two order queues according to an exemplary embodiment;
fig. 8 is a block diagram showing the construction of an information presentation resource allocation apparatus according to an exemplary embodiment;
FIG. 9 is a block diagram illustrating a configuration of a computer device, according to an example embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the application, as detailed in the appended claims.
The scheme provided by the application can be used for shortening the time consumed by resource allocation of a plurality of orders every time in an information display system needing to allocate the orders frequently, so that the resource allocation efficiency is improved, and the response speed of the system is improved. The information display system may be a system that receives information published by an information publisher and displays the information published by the information publisher in an information display platform, for example, the information display system may be an advertisement display system.
In the application, when an information publisher publishes information in the information display system, information display resources need to be ordered for the published information, and then the system pushes the published information to the information display platform for display according to the ordered information display resources. Before explaining the embodiments shown in the present application, first, taking an advertisement display system as an example, some concepts related to the links of resource ordering and information display are introduced:
1) Thousand people Cost (CPM) selling mode
In this embodiment of the present application, the CPM selling mode is a mode in which the advertisement display system sells advertisement display resources according to thousands of exposures, for example, in this embodiment of the present application, a CPM may be used as a resource unit of information display resources, 1 CPM means 1 thousand exposures of the same advertisement, and an advertiser purchases 1 CPM resources, that is, the advertiser purchases 1 thousand exposures for one advertisement.
2) Information display platform
In the embodiments of the present application, the information display platform mainly refers to a medium capable of carrying an advertisement playing carrier. For example, taking the information to be displayed as a video advertisement as an example, the video advertisement display platform is a medium capable of bearing a video player, and includes but is not limited to a Personal Computer (PC) end webpage, a PC end information publisher end, a mobile end application (not distinguishing between a mobile phone and a tablet computer, android and an IOS system, and the like), a hypertext Markup Language (HTML) 5 page, a television set-top box, a game host (such as Xbox or PS3, and the like), an outdoor advertisement display screen, a vehicle-mounted advertisement display screen, and the like.
3) Video paster advertisement
The video tile advertisement is an advertisement form occupying the browsing time of a user, and can be divided into but not limited to 'front tile', 'rear tile', 'advertisement insertion', 'advertisement opening', and the like according to the displayed time and place.
4) Information publisher priority
In the present application, the information publisher priority is a priority position of the information publisher (such as an advertiser) among all information publishers served by a media side, which is set by comprehensively considering factors such as an industry type of the information publisher who puts information such as an advertisement on the media side resource (i.e., the above-mentioned information presentation resource), a CPM unit price, and a cooperative relationship between the information publisher and the media side.
5) Stock keeping
In this application, inventory refers to the total amount of exposure an order can be booked under its targeting conditions (e.g., city, content, etc.).
6) Vector operation
The quantity inquiring operation refers to a process of acquiring the current available stock for buying under the targeted condition of the information publisher when the information publisher realizes the flow buying demand to an order through an advertisement display system of the media party and requests the media party to sell the stock distribution service. The information publisher can make a specific flow buying plan based on the query volume return results and its own advertising budget.
7) Operation of locking amount
The locking operation is a process that when the traffic library provided by the information publisher on the media side has a strong purchase intention, the part of the traffic library can be reserved in advance in a locking manner so as to prevent other information publishers with low priority from seizing the part of the traffic library in a predetermined interval. The lock is usually accompanied by a time limit, such as up to n days or up to m days before the release period.
8) Ordering operation
The ordering operation refers to an operation flow that an information publisher determines to execute a flow buying plan of fixed or unfixed CPM quantity on a media side after considering the inventory inquiry result of an order and the self advertisement budget, and generates a formal contract.
9) Subscription rate
In this application, the booking rate refers to the sum of the booked amount of orders (i.e. the advertisement display resources ordered by each order) as a percentage of the bookable total amount.
10 ) draft sheet request
The draft bill request refers to a request for acquiring available surplus inventory under a directed or non-directed condition before an information publisher has no specific predetermined intention, and the request does not contain specific demand information.
11 Lock ticket request
The lock order request refers to a request that the information publisher locks the inventory after determining the specific predetermined inventory amount, and the part of the inventory after locking cannot be preempted by other information publishers with the priority lower than that of the current information publisher.
Fig. 1 is a schematic diagram illustrating the structure of an information presentation system according to an exemplary embodiment. The system comprises: an information publisher terminal 120, an information presentation device 140, and a server 160.
The information publisher terminal 120 may be a terminal device with network access capabilities as well as user interface presentation and interaction functions. For example, the information publisher terminal 120 may be a PC (such as a laptop or desktop computer, etc.), a smart phone, a tablet computer, an e-book reader, or the like.
The information display device 140 may be a computer device including or externally connected to an information display platform, for example, the information display device 140 may be a mobile phone, a tablet computer, an electronic book reader, smart glasses, a smart watch, an MP3 player (Moving Picture Experts Group Audio Layer III, moving Picture Experts compression standard Audio Layer 3), an MP4 player (Moving Picture Experts Group Audio Layer IV, moving Picture Experts compression standard Audio Layer 4), a laptop computer, a desktop computer, a television set-top box, a game console, an outdoor advertisement display screen, a vehicle-mounted advertisement display screen, and the like.
The information distributor terminal 120 and the information presentation apparatus 140 are connected to the server 160 through a communication network, respectively. Optionally, the communication network is a wired network or a wireless network.
The server 160 is a server, or a plurality of servers, or a virtualization platform, or a cloud computing service center.
The resource selling platform 160a is configured to interact with the information publisher terminal 120, provide a service for querying orderable information display resources to the information publisher terminal 120 according to a user operation, and provide a service for locking/ordering the information display resources to the information publisher terminal 120.
The order management platform 160b is used for storing and maintaining an order for the information publisher to order the information display resource, for example, creating an order for the information publisher to request to order the information display resource, or deleting an order that has completed an information display task (for example, reaching the exposure time) from the existing order, and the like.
The information management platform 160c is used for managing the display of the information released by the information publisher, for example, pushing the information released by the information publisher to the corresponding information display platform according to the type of the information display resource ordered by the information publisher, and counting the exposure of the information in each information display platform.
Optionally, the system may further include a management device (not shown in fig. 1), which is connected to the server 160 through a communication network. Optionally, the communication network is a wired network or a wireless network.
Optionally, the wireless or wired networks described above use standard communication techniques and/or protocols. The Network is typically the Internet, but may be any Network including, but not limited to, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile, wireline or wireless Network, a private Network, or any combination of virtual private networks. In some embodiments, data exchanged over a network is represented using techniques and/or formats including Hypertext Mark-up Language (HTML), extensible Markup Language (XML), and the like. All or some of the links may also be encrypted using conventional encryption techniques such as Secure Socket Layer (SSL), transport Layer Security (TLS), virtual Private Network (VPN), internet Protocol Security (IPsec). In other embodiments, custom and/or dedicated data communication techniques may also be used in place of, or in addition to, the data communication techniques described above.
For an information display system such as a brand advertisement display system, a core function of the system is to provide inventory selling service with a reserved amount, an order is often required to be subjected to stages such as draft sheet inquiry amount, order locking amount, order placing and the like from a predetermined intention of an information publisher to a final formation of a formal purchase contract, taking the advertisement display system as an example, please refer to fig. 2, which is a schematic diagram of an order generation process shown according to an exemplary embodiment, as shown in fig. 2, an order is generated between a server and an information publisher terminal through interaction of the above stages, and the server pushes information published by the information publisher to an information display platform according to the order, wherein the execution conditions of the above stages are as follows:
s21, draft bill inquiry stage.
In the draft sheet query operation, when the existing order of the system is required to be satisfied, the inventory of the available remaining information display resources under the current query order orientation condition is queried, so that the allocation of the information display resources needs to be performed on the existing order so as to obtain the inventory of the allocated remaining information display resources.
For example, in the case where the information distributor is an advertiser, when the advertiser wants to distribute an advertisement, the advertiser first logs in a server of the system via a client terminal, and inquires the server about the inventory of the remaining information presentation resources under each targeting condition by a draft sheet request (S21 a). At this time, the server may allocate resources to an order in the system that requires resource allocation (S21 b), and return the inventory of the remaining information presentation resources under each targeting condition to the terminal of the advertiser according to the allocation result (S21 c), for example, return the inventory resources of how many CPMs remain under each targeting condition to the terminal.
S22, order locking stage.
In order locking operation, under the condition that a current existing order of the system is satisfied, available remaining stock under a current locking quantity single-orientation condition is queried, that is, allocation of information display resources needs to be performed on the current existing order to obtain the remaining stock under the current locking quantity single-orientation condition after allocation, and a corresponding quantity of resource stock is locked according to a resource demand of the current locking quantity single, an order corresponding to the locking quantity single may also be called a locking quantity order, and after the partial stock is locked, the partial stock cannot be robed by other locking quantity single with a lower priority than the current locking quantity single, but can be robed by a locking quantity single with a higher priority.
For example, taking the information publisher as an advertiser as an example, after the terminal of the advertiser queries and displays the inventory of the remaining information display resources under each targeting condition to the server, the advertiser determines, according to the inventory of the remaining information display resources, which targeting conditions the specified number of inventory resources are locked, and sends a lock amount list request to the server (S22 a), since a query result of the draft list is returned from the server to the terminal, until the lock amount list request returned by the terminal is received, a certain time interval, which is usually a few seconds, a few tens of minutes, or a few hours, is received, in this process, the inventory of resources under each targeting condition in the system may change, in order to ensure correct resource allocation, the server needs to allocate resources to the existing order in the system again (S22 b) and return a lock amount result (S22 c), for example, if there is enough inventory of resources for locking under the targeting condition specified by the lock amount list after the resource allocation, the locked prompt is returned to the terminal, and otherwise, the lock amount prompt that the terminal fails is returned to the terminal successfully.
And S23, an order placing stage.
In order placing operation, an information publisher generates a determined advertising contract, namely a formal placing, for the locked resource inventory according to an agreed CPM price and a media party, wherein an order corresponding to the formal placing request can be called an order, and the formal placing process can also be regarded as a process of converting a lock volume order into an order. At this time, under the condition that the current existing order of the system is satisfied, available surplus inventory under the directional condition of the current order placing is inquired, that is, the allocation of the information display resources is required to be executed on the current existing order, so as to obtain surplus inventory under the directional condition of the current order placing after the allocation, and whether the order placing is successful is judged according to the resource demand and the surplus inventory of the current order placing. Wherein the resource inventory reserved by the orders placed in order cannot be taken over by any type of order.
For example, taking the example that the information publisher is an advertiser, after the terminal of the advertiser locks inventory of a part of quantity of information display resources to the server, the advertiser determines to place an order for the inventory of the part of resources, at this time, the terminal sends a formal order placing request (S23 a) to the server, and a certain time period also exists between the time when the formal order placing request returned by the terminal is received and the time when the locking result of the locking order is returned from the server to the terminal. For example, if there is enough resource inventory under the directional condition corresponding to the formal ordering request after the resource allocation, a prompt of ordering success is returned to the terminal, otherwise, a prompt of ordering failure is returned to the terminal.
As can be seen from the above processes of inquiring, locking and placing orders, a new order adding system needs to be performed on the premise of ensuring that the stock allocation of the historical placed orders is satisfied, that is, it needs to be ensured that the predetermined amount of the historical orders can be satisfied in each stage, and thus, the new order adding system all involves the process of allocating the information display resources of each order in the system. If the information display resources are allocated to each order in the system, the orders are allocated one by one completely in a serial manner, which results in too long time spent on resource allocation and thus slower response speed of the system.
For example, taking an advertisement display system as an example, in the order flow distribution process in the overall order flow in the advertisement display system, when the flow distribution needs to be performed on all orders in various request processing of the orders, the order queue needs to be traversed sequentially, and the distribution of inventory resources is performed on each order in the queue according to the directional condition of each order. For example, when there are 9 orders in the order queue, the traversal allocation is performed on the 9 orders, and 9 order allocation times (assuming that the traffic allocation time of each order is the same) are required to complete the whole resource allocation process. Since an advertiser (i.e., an information publisher) needs to know the available amount of the remaining resource inventory corresponding to an order in the current state at different processing stages in the whole life cycle of the order to ensure smooth execution of the subsequent flow stages, the system needs to perform resource allocation on the order in the current system at each stage, and thus the speed of the system performing the resource allocation process on all orders has an influence on the operation experience of the advertiser and the achievement of the final resource reservation contract.
The time consumption of the order resource allocation method executed in the currently adopted global traversal + sequential allocation method is proportional to the number of orders, when the number of orders is large, the time consumption of the whole resource allocation is also long, and with the continuous increase of the number of orders of a service system, the time consumption of the processes of operation inquiry, order placement and the like of a user is increased, the user experience effect of the system is influenced, more serious system efficiency problem is possibly caused, and the system income is influenced, and specific influences can include but are not limited to the following aspects:
1. the operation time consumption of the information publisher, the medium operation inquiry amount and the order placing is increased along with the increase of the number of the orders, so that the user experience effect and the integral trust of the function of the information display system are influenced, and the loss of the orders is possibly caused.
2. When the system allocation processing speed is slow, backlog of requests is easily caused, and then a stacking effect is generated, which affects the normal processing of subsequent orders and may cause the system to be blocked.
3. In the scenario of volume inquiry of multiple orders respectively and volume inquiry of the same order for multiple times, a large number of orders need to be subjected to a repeated flow distribution process, which may increase the operation time of the system.
In order to improve the allocation efficiency of the information display resources, the present application provides an allocation method of the information display resources, which can be used to shorten the allocation time of the information display resources for each order in the system, for example, to shorten the time consumption of the above steps S21b, S22b, and S23 b.
FIG. 3 is a flow diagram illustrating an information presentation resource allocation method that may be performed by the server 160 in the information presentation system shown in FIG. 1, according to an example embodiment. As shown in fig. 3, the information presentation resource allocation method may include the steps of:
step 31, obtaining a resource allocation instruction, where the resource allocation instruction is used to trigger allocation of information display resources, where the information display resources are resources for displaying information in an information display platform.
The resource allocation instruction may be an instruction generated when the server receives a volume inquiry request, a volume locking request or a formal order placing request sent by the terminal, so as to trigger the server to start allocating information display resources to an existing order in the system.
Step 32, a first order queue corresponding to the resource allocation instruction is obtained, where the first order queue includes at least two orders, and the orders are used to order or lock at least one type of information display resource.
The information display resources in the information display system can be distinguished according to multiple dimensions (also called as a directional condition), each dimension is divided into at least two categories, and the combination of one category in each dimension corresponds to one type of information display resources. In some scenarios, a type of information presentation resource may also be referred to as a resource slot of an information presentation resource. When the information publisher locks the information display resources with a certain amount of resources, the information publisher can select one or more types of information display resources.
For example, the information display resources in the system may be divided into multiple types according to the dimensions and the classifications, where each type corresponds to one city, one sex, and one age group, and for example, according to the dimensions and the classifications, the types of the information display resources may be divided into: { Beijing, male, youth }, { Beijing, female, youth }, { Beijing, male, middle-aged }, and { Shanghai, male, youth }, etc.
Wherein { beijing, male, young } represents the resource for pushing information to young male users in beijing; { Beijing, women, youth } represents a resource for pushing information to young female users in Beijing area; { Beijing, male and middle-aged } represents a resource for pushing information to male middle-aged users in Beijing area; { shanghai, men, youth } indicates a resource that pushes information to young men in the shanghai region.
In an embodiment of the present application, the order may include an order and a lock volume order. After the server obtains the resource allocation instruction, the first order queue can be obtained and generated according to the existing order and the existing lock quantity order in the slave system. The order is an order for ordering at least one type of information display resource, the lock volume order is an order for locking at least one type of information display resource, and both the order and the lock volume order correspond to respective resource volumes, such as how many CPMs the information display resources respectively correspond to.
In a possible implementation manner, when the orders correspond to respective priorities, since the lock volume order with the low priority may be preempted by the lock volume order with the higher priority, when the server obtains one resource allocation instruction, it may not be necessary to allocate resources to all orders in the system.
For example, when the server acquires the resource allocation instruction, the server simultaneously acquires the priority of the information publisher corresponding to the resource allocation instruction, extracts all the order orders and the lock order with the corresponding priority of the information publisher being not lower than the priority of the information publisher of the resource allocation instruction from the current existing orders of the system, and generates the first order queue according to the acquired order and lock order.
Or, in another possible implementation manner, when the resource allocation instruction is an instruction generated by being triggered by a formal order placing request sent by the terminal, the server may perform resource allocation only on all order orders in the system.
For example, when the server obtains the resource allocation instruction, if the resource allocation instruction is an instruction triggered by a formal order placing request sent by the terminal, the server may obtain all order orders in the system, and generate the first order queue according to the obtained order orders.
When the first order queue is generated, the server may sort the acquired orders requiring resource allocation according to a predetermined sorting rule, so as to obtain the first order queue.
For example, when the at least two obtained orders include all current order orders and partial lock orders with priorities meeting requirements in the system, the server may sort the order orders according to the priority of the information publisher, and sort the order orders with the same priority as the priority of the information publisher according to the order time from morning to evening to obtain a first sub-queue formed by the order orders; the server also sorts partial lock orders with the priority meeting the requirements according to the priority of the information publisher, sorts the lock orders with the priority same as that of the information publisher according to the order from morning to evening, and obtains a second sub-queue formed by the lock orders; and then the server splices the second sub-queue behind the first sub-queue to obtain the first order queue.
Or, when the at least two obtained orders include all current order orders in the system, the server may sort the order orders according to the priority of the information publisher, and sort the order orders with the same priority of the information publisher according to the order time from morning to evening to obtain the first order queue.
And step 33, generating a resource distribution topological graph according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order.
The resource allocation topological graph comprises a plurality of resource allocation paths, and information corresponding to orders which are not positioned on the same resource allocation path shows that the types of resources are not overlapped.
Optionally, the resource allocation topological graph is a directed acyclic graph in which the orders are connected by unidirectional arrows to form the resource allocation paths, and the types of the information display resources corresponding to two adjacent orders on the same resource allocation path are overlapped; and the orders on the same resource allocation path are arranged in the order in the first order queue.
And step 34, serially distributing information display resources to orders on the same resource distribution path according to the resource distribution topological graph, and parallelly distributing information display resources to orders not on the same resource distribution path.
When resource allocation is performed on a certain order, the server may deduct the quantity of resources requested by the order from the type of information display resources corresponding to the order, for example, deduct the quantity of CPM resources requested by the order.
In this embodiment of the application, when the server allocates the information display resource to each order in the first order queue, the server may allocate each order that does not belong to the same path in parallel, for example, for two orders that do not belong to the same path, the server may allocate the information display resource to the two or more orders in parallel at the same time. For each order on the same path, the server performs serial allocation according to the path sequence, that is, for two consecutive orders on the same path, the server can start resource allocation for the next order after completing resource allocation for the previous order.
In the present application, the essence of order allocation is to deduct the amount of resources requested by an order from the type of information presentation resources corresponding to the order, for example, deduct the amount of CPM resources requested by the order. From this essential problem, it can be found that the allocation result of one order will affect other orders with overlapping types of information display resources, and will not affect other orders with non-overlapping types of information display resources. According to the scheme, the directed acyclic graph between orders is constructed based on the types of resources corresponding to the orders from the essential problem of order distribution, the topological sorting result of the directed acyclic graph is used for modeling the resource distribution process of the orders, and finally the thread pool is introduced for parallelization deduction based on the topological sorting result.
In a possible implementation manner, in the process of performing resource allocation on each order in a first order queue according to a resource allocation topological graph, for a first order in each order, when a leading order of the first order exists, acquiring a resource allocation condition of each leading order of the first order, where the leading order is an order which is located before the first order in the first order queue and has a hop count of 1 from the first order on each resource allocation path where the first order is located; the first order is any order in the first order queue; the resource allocation condition is used for indicating whether the corresponding order completes the allocation of the information display resources; and when the allocation of the information display resources of the various front orders is finished, allocating the information display resources to the first order. Correspondingly, when the pre-order of the first order does not exist, information display resources are allocated to the first order.
Referring to fig. 4 and fig. 5, fig. 4 shows a schematic diagram of order sequence allocation according to an embodiment of the present application, and fig. 5 shows a schematic diagram of resource allocation according to a resource allocation topology according to an embodiment of the present application.
As shown in fig. 4 and 5, it is assumed that the system includes 12 types of information display resources, i.e., types a to i, and the first order queue includes 9 orders in an order 1 to 9, each order corresponds to multiple types of resources in the system, and the types of the resources corresponding to different orders may be overlapped or not overlapped. Specifically, in fig. 4 and 5, the resource types corresponding to the order 1 include types a to l, the resource types corresponding to the order 2 include resources a to d, and so on.
Assuming that the resource allocation of each order needs to consume one unit of allocation duration, according to the order sequence shown in fig. 4, ideally, the server allocates resources to the orders 1 to 9 respectively, and completes allocation of each order in the first order queue, which needs to consume 9 units of allocation duration.
In this embodiment of the application, according to the arrangement order of the orders 1 to 9 and the resource types corresponding to the orders 1 to 9, the server may generate a resource allocation topological graph as shown in fig. 5, the resource allocation topological graph is divided into 3 resource paths, which are { order 1, order 2, order 5, order 8, order 9}, { order 1, order 3, order 6, order 8, order 9}, and { order 1, order 4, order 7, order 8, order 9}, respectively, where two adjacent orders on each path are connected by a unidirectional arrow, and the resource types of the information display resources corresponding to two adjacent orders through the unidirectional arrow are overlapped, but the resource types of the information display resources corresponding to two orders that do not belong to the same path are not overlapped. In addition, the order of the orders on each path is arranged in the order in the first order queue.
When allocating resources to each order in the first order queue according to the resource allocation topology shown in fig. 5, for any one of the orders, the server may determine whether each order that is in the same path and is arranged before the order in the queue has been allocated completely, and if all orders have been allocated completely, immediately allocate resources to the order without considering allocation situations of other orders that are not in the same path as the order, even if the orders of other orders that are not in the same path as the order are ordered more forward in the order queue, for example, taking order 4 and order 7 in fig. 5 as an example, when the leading order of order 4, that is, order 1, has been allocated completely, the server may directly allocate resources to order 4 without considering allocation situations of order 2 and order 3 that are ordered before order 4 in the queue, and accordingly, for order 7, when order 4 has been allocated completely, the server may directly allocate resources to order 7 without considering allocation situations of orders 2, order 3, order 5, and order 6 that are ordered before order 7 in the queue. For order 8, since order 5, order 6, and order 7 are all 1 from order 8, the server does not allocate resources to order 8 until the allocation of orders 5 through 7 is complete. In addition, since order 1 has no preceding order, the server allocates resources to order 1 at the first time when starting resource allocation.
Similarly, assuming that the resource allocation of each order needs to consume the allocation duration of one unit, according to the resource allocation topological diagram shown in fig. 5, ideally, the server allocates the resource to the order 1 in the allocation duration of the 1 st unit, allocates the resource to the order 2, the order 3, and the order 4 in the allocation duration of the 2 nd unit, allocates the resource to the order 5, the order 6, and the order 7 in the allocation duration of the 3 rd unit, allocates the resource to the order 8 in the allocation duration of the 4 th unit, and allocates the resource to the order 9 in the allocation duration of the 5 th unit, that is, completes the allocation of each order in the first order queue, which only needs to consume the allocation duration of 5 units.
In summary, according to the scheme shown in the embodiment of the present application, a resource allocation topological graph is generated according to the sequence of each order in the order queue and the type of the information display resource corresponding to each order, the types of the information display resources corresponding to two orders that are connected by a unidirectional arrow in the resource allocation topological graph are overlapped, and the types of the information display resources corresponding to orders that are not on the same resource allocation path are not overlapped, then the information display resources are serially allocated to the orders on the same resource allocation path according to the resource allocation path indicated by the resource allocation topological graph, and the information display resources are parallelly allocated to the orders that are not on the same resource allocation path. For two or more orders with non-overlapped information display resource types, the resource allocation results of the two or more orders are not influenced mutually, so that when the resource allocation is carried out through the resource allocation topological graph of the scheme, the resources can be allocated in parallel to the orders which are not influenced mutually, and the resources can be allocated in series to the orders which are possibly influenced, so that the accuracy of resource allocation is ensured, the time length required by resource allocation is shortened, and the efficiency of resource allocation and the response speed of a system are improved.
In the information display system, in different order allocation flows that are close in time, the corresponding order queues may have a situation that most orders are the same, that is, a large number of repeated allocation phenomena exist in resource allocation of different order queues in the system.
Based on the characteristic that a large number of orders are repeatedly allocated among multiple allocations in the information display system, the method and the device can also perform parallel allocation on the orders with non-overlapping resource types according to the resource allocation topological graph to establish a storage point for each key node in the resource allocation topological graph on the basis of shortening the time required by resource allocation, so that the quick recovery and reconstruction of the resource allocation topological graph structure can be realized, the allocated resource allocation result can be conveniently and quickly utilized to reduce the overall order flow allocation times, and the purpose of further improving the service efficiency of the system is achieved.
FIG. 6 is a flowchart illustrating an information presentation resource allocation method that may be performed by the server 160 in the information presentation system shown in FIG. 1, according to an example embodiment. As shown in fig. 6, the information presentation resource allocation method may include the steps of:
The request for volume inquiry can be a draft sheet request, a volume sheet request or an order placing request.
And step 602, obtaining a resource allocation instruction according to the request.
The resource allocation instruction is used for triggering allocation of information display resources, and the information display resources are resources for displaying information in the information display platform.
The resource allocation topological graph comprises a plurality of resource allocation paths, and information corresponding to orders which are not positioned on the same resource allocation path shows that the types of resources are not overlapped.
Optionally, the resource allocation topological graph is a directed acyclic graph in which the orders are connected by unidirectional arrows to form a plurality of resource allocation paths, and the types of information display resources corresponding to two adjacent orders on the same resource allocation path are overlapped; and the orders on the same resource allocation path are arranged in the order in the first order queue.
In a possible implementation manner, when the server generates the resource allocation topological graph, the server may add each order in the first order queue to the resource allocation topological graph in sequence according to an existing resource allocation path in the resource allocation topological graph, starting from the first order in the first order queue.
For example, for the ith order in the first order queue, the server may determine whether there is a cross order of the ith order before the ith order, where the cross order of the ith order is an order in which the type of the corresponding information display resource and the type of the information display resource of the ith order are overlapped; when the cross order of the ith order exists, determining a second order; the second order belongs to the cross order of the ith order, and the hop count of the second order, which is away from the last order on the existing resource allocation path, is the minimum; and a one-way arrow is established between the second order and the ith order. When there is no cross order for the ith order, the server may set the ith order as the first order on the new resource allocation path of the resource allocation topology map.
For example, taking the resource types corresponding to the orders in fig. 4 and fig. 5 as an example, for order 1, the server determines that there is no cross order of order 1 before the order 1, and then determines that the order 1 is the first order on the new resource allocation path, and for order 2, the server determines that the order 1 is the cross order of order 2, and then the hop count of the order 1 from the last order (that is, the order 1 itself) on the existing path is the minimum (the hop count is 0), and then a one-way arrow between the order 1 and the order 2 is established, and similarly, for order 3 and order 4, both cross orders before the two orders are order 1, and then the server establishes a one-way arrow between the order 1 and the order 3 and the order 4, respectively. For order 5, the server determines that the cross orders before order 5 are order 1 and order 2, and the hop count of order 2 from the last order (namely order 2 itself) on the existing path is minimum (hop count is 0), and then the server establishes a one-way arrow from order 2 to order 5; similarly, for order 6 and order 7, the server establishes the one-way arrows for order 3 through order 6, and for order 4 through order 7, respectively. For order 8, the server determines that order 1 to order 7 are all cross orders of order 8, and hop counts of order 5, order 6 and order 7 from the last order on the existing path are minimum (all 0), and then the server establishes one-way arrows from order 5, order 6 and order 7 to order 8 respectively; for order 9, the server determines that order 1, order 3, order 6 and order 8 are cross orders of order 9, and the hop count of order 8 from the last order on the existing path is minimum, a one-way arrow from order 8 to order 9 is established, and thus, the establishment of the resource allocation topological graph is completed.
Wherein N is an integer greater than or equal to 1.
In this embodiment, after obtaining the first order queue, the server may compare the first order queue with each of the pre-stored completed queues to determine the number of consecutive orders that are located at the front of the respective queue and are the same in the first order queue and each of the completed queues, and obtain a completed queue with the highest number as the second order queue.
For example, assuming that there are 3 completed queues in the system, where the first 5 orders in completed queue 1 are the same as the first 5 orders in the first order queue, the first 8 orders in completed queue 2 are the same as the first 8 orders in the first order queue, and the first 9 orders in completed queue 3 are the same as the first 9 orders in the first order queue, the server may obtain completed queue 3 as the second order queue.
The third order is the last key order in the first N orders, and the key order is an order through which each resource allocation path in the corresponding resource allocation topological graph passes.
For example, taking the resource allocation topology shown in fig. 5 as an example, order 1, order 8, and order 9 are orders that all resource allocation paths pass through, and therefore, in the first order queue, order 1, order 8, and order 9 are key nodes. Assuming that the first 8 orders of the first order queue are identical to the first 8 orders of the second order queue, the server may determine that order 8 is a key order.
When the server allocates each order in the second order queue, the server stores the information display resource allocation result of each key order in the second order queue, that is, the margin of various types of information display resources in the system after resource allocation is performed on each key order. And subsequently, when the resource allocation is carried out on the first order queue, the server directly obtains the information display resource allocation result after the resource allocation is carried out on the third order in the second order queue.
After the server acquires the third order, the server may directly use the information display resource allocation result of the third order as the information display resource allocation result of the third order in the first order queue, and continuously perform resource allocation on each order after the third order in the resource allocation topological graph according to the resource allocation topological graph.
For example, taking the above-mentioned order 8 as the third order as an example, in the resource allocation topological graph shown in fig. 5, the server directly uses the allocation result of the order 8 in the second order queue as the allocation result of the order 8 in the first order queue, and performs resource allocation on the order 9 based on the allocation result.
After the server completes the allocation of the information display resources to each order in the first order queue, the server may store the information display resource allocation results of each key order in the first order queue, so that other subsequent order queues may be directly applied.
In summary, according to the scheme shown in the embodiment of the present application, a resource allocation topological graph is generated according to the sequence of each order in an order queue and the type of the information display resource corresponding to each order, the types of the information display resources corresponding to two orders connected by a unidirectional arrow in the resource allocation topological graph are overlapped, and the types of the information display resources corresponding to orders not located on the same resource allocation path are not overlapped, then the information display resources are serially allocated to orders on the same resource allocation path according to the resource allocation path indicated by the resource allocation topological graph, and the information display resources are allocated to orders not located on the same resource allocation path in parallel. For two or more orders with non-overlapping information display resource types, the resource allocation results of the two or more orders are not influenced mutually, so that when the resource allocation is carried out through the resource allocation topological graph of the scheme, the resources can be allocated in parallel to the orders which are not influenced mutually, and the resources can be allocated in series to the orders which are possibly influenced, so that the accuracy of resource allocation is ensured, the time length required by resource allocation is shortened, and the efficiency of resource allocation and the response speed of a system are improved.
In addition, according to the scheme shown in the embodiment of the application, when resource allocation is performed on the first order queue, a second order queue which is the same as the first N orders of the first order queue can be determined from the completed queue, and resource allocation is performed on other orders which are located after the last key order in the first order queue directly based on the allocation result of the last key order in the N orders, so that the repeated allocation process from the first order to the last key order in the N orders is avoided, and the resource allocation efficiency of the orders and the response speed of the system are further improved.
Taking the above-mentioned information display system as an example of an advertisement display system, an advertisement contract order needs to go through a plurality of polling operation flows from the time when an advertiser has a predetermined flow intention to form a formal ordering contract, and corresponds to the resource allocation process of a plurality of orders in the system. Accordingly, the scheme shown in the application analyzes the order flow distribution process in the system from the following aspects and carries out targeted optimization:
(1) The essence of the resource allocation process of the orders in the system is that the orders needing resource allocation are allocated in a traversing mode based on a specific order sequence, so that the resource allocation value of each order is not lower than the preset resource amount, namely, the amount of all orders is preserved.
(2) The essence of the resource allocation process for a single order in the system is to allocate the individual types of resources placed by the order to that particular order so that the sum of the resource allocations obtained for the order at each of the placed types is no less than its predetermined amount of flow.
(3) Based on (2), when two orders which are adjacent to each other in the sequence have intersection on the directed resource types, the allocation result of the order which is ordered in the sequence can influence the allocation result of the order which is ordered in the sequence. The latter order needs to be allocated based on the resource inventory condition remaining after allocation of the former order, i.e. there is an allocation order dependency relationship between the two orders (e.g. order 2 has an allocation dependency relationship to order 1 in fig. 4 and 5, and order 2 must perform allocation after order 1).
(4) Based on (2), when two orders in adjacent order do not intersect on the directed resource type, there is no allocation order dependency between the two orders, and the two orders can be allocated at the same time (e.g. order 2 has no allocation dependency on order 3 in fig. 4 and 5).
(5) Based on (1), when the corresponding order queues have the same initial queue segment (i.e. the same first N orders) in the volume inquiry process of two orders, the distribution result of the key orders in the queue segment can be shared, and the distribution process of the subsequent orders is performed based on the distribution result, so that the execution times of the overall distribution process of the system can be reduced.
Based on the above 5-point analysis, the following conclusions can be drawn:
based on the analysis (1), the system needs to perform the resource allocation of the orders in the order sequence, that is, the resource allocation of the orders is ordered;
based on the analysis (2), (3) and (4), whether the resource types among the orders are crossed or not can influence the distribution sequence among the orders, and the parallel distribution among the non-crossed orders can be introduced to improve the distribution efficiency while the sequential distribution among the crossed orders is ensured;
based on the analysis (5), it can be known that the shared initial queue information in the multiple allocation processes can be maximally utilized by establishing the allocation result storage points of the key nodes, so that the overall allocation time consumption is reduced.
Through further analysis and experiments on the conclusion, the application can adopt the following optimization steps:
1. constructing a directed acyclic graph (namely a resource allocation topological graph) based on an order resource type cross result according to the original order sequence: 1) The direction between orders (direction of the one-way arrow) represents the precedence order between orders; 2) The presence of a one-way arrow between orders indicates that there is a cross relationship of resource types between the two orders. 3) The order between orders is unidirectional and loop-free, as each order will only be deducted once. The order queue as in fig. 4 is constructed as a directed acyclic graph in fig. 5 after being sorted by topology.
2. Constructing a topological sorting distribution queue according to the constructed directed acyclic graph: 1) Marking key orders based on a directed acyclic graph among the orders; 2) The key orders must be executed in strict sequence, and the non-cross queues between the key orders can be distributed in parallel.
3. And setting an allocation result storage point at the key order position, and storing the resource allocation result (the current key order is allocated) up to the current key order position for directly recovering use in a subsequent similar allocation scene.
For example, refer to FIG. 7, which is a resource allocation topology diagram illustrating two order queues according to an exemplary embodiment. In fig. 7, the order queue 1 includes 12 orders from order 1 to order 12, and the order queue 2 includes 10 orders from order 1 to order 8, order 10, and order 12.
In fig. 7, the order queue 1 is allocated with resources by the system first, and by storing the allocation result after the key order allocation in the order queue 1 is finished, directly recovering (i.e. the order 8 in the queue) in the subsequent topology queue having the same preceding sequence table and performing allocation on the order in the subsequent order queue 2, the order allocation frequency of the new queue (order queue 2) can be greatly reduced, specifically for example:
for the resource allocation scene of the order queue 1, the system has 12 orders, and due to the fact that a resource allocation topological graph among the orders is built, the resource allocation of the whole 12 orders can be completed within 6 unit time length, wherein the order combination [2,5], the order combination [3,6] and the order combination [4,7] can complete the resource allocation within 2 unit time length in parallel, the orders 9, 10 and 11 can complete the resource allocation within 1 unit time length in parallel, and compared with an original algorithm which does not adopt the resource allocation topological graph for parallel allocation, the whole allocation speed can be doubled.
For the resource allocation scenario of the order queue 2, the system has 10 orders in total, wherein the first 8 orders are consistent with the orders in the order queue 1, and the topological sequences of the first 8 orders in the resource allocation topological graph corresponding to the resource allocation for twice have the same subsequence, so that the resource allocation result corresponding to the key order 8 can be directly recovered, and the resource allocation of the remaining orders 10 and the orders 12 is performed on the basis, and the resource allocation of the 10 orders can be completed only by 2 unit time lengths, and the overall allocation performance is improved by 5 times compared with that of the original unoptimized system.
The scheme is based on the condition that the overall complexity of the resource allocation process of orders in the existing advertisement display system is high, and provides an algorithm scheme for allocating the resources of the advertisement orders by using a directed graph topological sorting queue based on the resource type overlapping relation of the orders. According to the scheme, a directed topology queue graph (namely the resource allocation topology graph) which can be used for efficient parallel allocation is constructed through the incidence relation of the resource types among the orders, and allocation result storage points are arranged at key orders in the topology queue graph, so that the allocation execution efficiency under a single or multiple system order allocation scene can be greatly improved, and the user experience of a user in an advertisement display system is improved.
Fig. 8 is a block diagram illustrating a configuration of an information presentation resource allocation apparatus according to an exemplary embodiment. The information display resource allocation apparatus may be implemented as part or all of the server 160 in the system shown in fig. 1 in a hardware or software and hardware manner, so as to execute all or part of the steps in the method provided in the embodiment shown in fig. 3 or fig. 6. The information presentation resource allocation apparatus may include:
an instruction obtaining module 801, configured to obtain a resource allocation instruction, where the resource allocation instruction is used to trigger allocation of information display resources, where the information display resources are resources for displaying information in an information display platform;
a first queue obtaining module 802, configured to obtain a first order queue corresponding to the resource allocation instruction, where the first order queue includes at least two orders, and the orders are used to order or lock at least one type of information display resource;
a topological diagram generating module 803, configured to generate a resource allocation topological diagram including multiple resource allocation paths according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order; the types of the information display resources corresponding to the orders which are not positioned on the same resource distribution path are not overlapped;
the resource allocation module 804 is configured to serially allocate information display resources to orders located on the same resource allocation path according to the resource allocation topological graph, and parallelly allocate information display resources to orders not located on the same resource allocation path.
Optionally, the resource allocation topological graph is a directed acyclic graph in which the orders are connected by unidirectional arrows to form the multiple resource allocation paths, and the types of information display resources corresponding to two adjacent orders on the same resource allocation path are overlapped; orders on the same resource allocation path are arranged in the order in the first order queue.
Optionally, the resource allocation module 804 is specifically configured to,
for a first order in the orders, when a leading order of the first order exists, acquiring a resource allocation condition of each leading order of the first order, wherein the leading order is an order which is positioned in front of the first order in the first order queue and has a hop count of 1 from the first order on each resource allocation path where the first order is positioned; the first order is any order in the first order queue; the resource allocation condition is used for indicating whether the corresponding order completes the allocation of the information display resources;
and when the distribution of the information display resources of the front orders is finished, distributing the information display resources to the first order.
Optionally, the resource allocation module 804 is specifically configured to allocate information to show resources for the first order when the leading order of the first order does not exist.
Optionally, the resource allocation module 804 is specifically configured to,
acquiring a second order queue from each completed queue, wherein the completed queue is an order queue for which information display resource distribution is completed, the second order queue is the same as the first N orders of the first order queue, and N is an integer greater than or equal to 1;
when the key orders exist in the first N orders, acquiring an information display resource distribution result of a third order when the information display resource distribution is carried out on the second order queue; the third order is the last key order in the first N orders, and the key order is an order through which each resource allocation path in the corresponding resource allocation topological graph passes;
and based on the information display resource distribution result of the third order, serially distributing information display resources to orders which are behind the third order and are on the same resource distribution path in the first order queue, and parallelly distributing information display resources to orders which are behind the third order and are not on the same resource distribution path in the first order queue.
Optionally, the apparatus further comprises:
and the storage module is used for storing the information display resource distribution result of each key order in the first order queue.
Optionally, the topology map generating module 803 is specifically configured to add, starting from the first order in the first order queue, each order in the first order queue to the resource allocation topology map in sequence according to the existing resource allocation path in the resource allocation topology map.
Optionally, the topology map generating module 803 is specifically configured to,
for the ith order in the first order queue, judging whether a cross order of the ith order exists before the ith order, wherein the cross order of the ith order is an order in which the type of the corresponding information display resource is overlapped with the type of the information display resource of the ith order;
when the cross order of the ith order exists, determining a second order; the second order belongs to the cross order of the ith order, and the hop count of the second order from the last order on the existing resource allocation path is the minimum;
establishing a one-way arrow between the second order and the ith order.
Optionally, the topology map generating module 803 is further specifically configured to,
and when the cross order of the ith order does not exist, setting the ith order as the first order on the new resource distribution path of the resource distribution topological graph.
Fig. 9 is a block diagram illustrating a structure of a computer device 900 according to an exemplary embodiment of the present application. The computer device 900 includes a Central Processing Unit (CPU) 901, a system memory 904 including a Random Access Memory (RAM) 902 and a Read Only Memory (ROM) 903, and a system bus 905 connecting the system memory 904 and the central processing unit 901. The computer device 900 also includes a basic input/output system (I/O system) 906 for facilitating information transfer between devices within the computer, and a mass storage device 907 for storing an operating system 913, application programs 914, and other program modules 915.
The basic input/output system 906 includes a display 908 for displaying information and an input device 909 such as a mouse, keyboard, etc. for user input of information. Wherein the display 908 and the input device 909 are connected to the central processing unit 901 through an input output controller 910 connected to the system bus 905. The basic input/output system 906 may also include an input/output controller 910 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, input-output controller 910 also provides output to a display screen, a printer, or other type of output device.
The mass storage device 907 is connected to the central processing unit 901 through a mass storage controller (not shown) connected to the system bus 905. The mass storage device 907 and its associated computer-readable media provide non-volatile storage for the computer device 900. That is, the mass storage device 907 may include a computer-readable medium (not shown) such as a hard disk or CD-ROM drive.
Without loss of generality, the computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will appreciate that the computer storage media is not limited to the foregoing. The system memory 904 and mass storage device 907 described above may be collectively referred to as memory.
The computer device 900 may be connected to the internet or other network device through a network interface unit 911 connected to the system bus 905.
The memory further includes one or more programs, the one or more programs are stored in the memory, and the central processor 901 implements all or part of the steps of the method shown in any one of fig. 3 or fig. 6 by executing the one or more programs.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as a memory comprising a computer program (instructions), executable by a processor of a computer device to perform the information presentation resource allocation method performed by a server of the methods shown in the various embodiments of the present application is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.
Claims (14)
1. An information presentation resource allocation method, the method comprising:
acquiring a resource allocation instruction, wherein the resource allocation instruction is used for triggering the allocation of information display resources, and the information display resources are resources for displaying information in an information display platform;
acquiring a first order queue corresponding to the resource allocation instruction, wherein the first order queue comprises at least two orders, and the orders are used for ordering or locking at least one type of information display resource;
generating a resource allocation topological graph comprising a plurality of resource allocation paths according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order; the resource allocation topological graph is a directed acyclic graph formed by connecting the orders through unidirectional arrows, the types of the information display resources corresponding to two adjacent orders on the same resource allocation path are overlapped, and the types of the information display resources corresponding to orders not on the same resource allocation path are not overlapped; the orders on the same resource allocation path are arranged in the order in the first order queue;
and according to the resource distribution topological graph, serially distributing information display resources to orders on the same resource distribution path, and parallelly distributing information display resources to orders not on the same resource distribution path.
2. The method according to claim 1, wherein said serially allocating information showing resources to orders on a same resource allocation path and parallelly allocating information showing resources to orders not on a same resource allocation path according to said resource allocation topology, comprises:
for a first order in the orders, when a leading order of the first order exists, acquiring a resource allocation condition of each leading order of the first order, wherein the leading order is an order which is positioned in front of the first order in the first order queue and has a hop count of 1 from the first order on each resource allocation path where the first order is positioned; the first order is any order in the first order queue; the resource allocation condition is used for indicating whether the corresponding order completes the allocation of the information display resources;
and when the distribution of the information display resources of the front orders is finished, distributing the information display resources to the first order.
3. The method according to claim 2, wherein said serially allocating information showing resources to orders on a same resource allocation path and parallelly allocating information showing resources to orders not on a same resource allocation path according to said resource allocation topology, further comprises:
and when the preposed order of the first order does not exist, allocating information display resources to the first order.
4. The method according to claim 1, wherein the generating a resource allocation topological graph according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order comprises:
and sequentially adding each order in the first order queue into the resource allocation topological graph from the first order in the first order queue according to the existing resource allocation path in the resource allocation topological graph.
5. The method according to claim 4, wherein said adding each order in said first order queue to said resource allocation topology map in sequence starting from a first order in said first order queue according to said existing resource allocation path in said resource allocation topology map comprises:
for the ith order in the first order queue, judging whether a cross order of the ith order exists before the ith order, wherein the cross order of the ith order is an order in which the type of the corresponding information display resource is overlapped with the type of the information display resource of the ith order;
when the cross order of the ith order exists, determining a second order; the second order belongs to the cross order of the ith order, and the hop count of the second order from the last order on the existing resource allocation path is the minimum;
establishing a one-way arrow between the second order and the ith order.
6. The method of claim 5, further comprising:
and when the cross order of the ith order does not exist, setting the ith order as the first order on the new resource allocation path of the resource allocation topological graph.
7. The method according to claim 1, wherein said serially allocating information-showing resources to orders on the same resource allocation path and parallelly allocating information-showing resources to orders not on the same resource allocation path according to the resource allocation topology map comprises:
acquiring a second order queue from each completed queue, wherein the completed queue is an order queue for which information display resource distribution is completed, the second order queue is the same as the first N orders of the first order queue, and N is an integer greater than or equal to 1;
when the key orders exist in the first N orders, acquiring an information display resource distribution result of a third order when the information display resource distribution is carried out on the second order queue; the third order is the last key order in the first N orders, and the key order is an order through which each resource allocation path in the corresponding resource allocation topological graph passes;
and based on the information display resource distribution result of the third order, serially distributing information display resources to orders which are positioned behind the third order and on the same resource distribution path in the first order queue, and distributing information display resources in parallel to orders which are positioned behind the third order and are not positioned on the same resource distribution path in the first order queue.
8. The method of claim 7, further comprising:
and storing the information display resource allocation result of each key order in the first order queue.
9. An apparatus for allocating information presentation resources, the apparatus comprising:
the instruction acquisition module is used for acquiring a resource allocation instruction, wherein the resource allocation instruction is used for triggering the allocation of information display resources, and the information display resources are resources for displaying information in the information display platform;
a first order queue acquiring module, configured to acquire a first order queue corresponding to the resource allocation instruction, where the first order queue includes at least two orders, and the orders are used to order or lock at least one type of information display resource;
a topological graph generating module, configured to generate a resource allocation topological graph including multiple resource allocation paths according to the sequence of each order in the first order queue and the type of the information display resource corresponding to each order; the resource distribution topological graph is a directed acyclic graph formed by connecting the orders through unidirectional arrows, the types of the information display resources corresponding to two adjacent orders on the same resource distribution path are overlapped, and the types of the information display resources corresponding to orders not on the same resource distribution path are not overlapped; orders on the same resource allocation path are arranged in the order in the first order queue;
and the resource distribution module is used for serially distributing information display resources to orders on the same resource distribution path and parallelly distributing information display resources to orders not on the same resource distribution path according to the resource distribution topological graph.
10. The apparatus according to claim 9, wherein the resource allocation module is configured to,
for a first order in the orders, when a leading order of the first order exists, acquiring a resource allocation condition of each leading order of the first order, wherein the leading order is an order which is positioned in front of the first order in the first order queue and has a hop count of 1 from the first order on each resource allocation path where the first order is positioned; the first order is any order in the first order queue; the resource allocation condition is used for indicating whether the corresponding order completes the allocation of the information display resources;
and when the distribution of the information display resources of the front orders is finished, distributing the information display resources to the first order.
11. The apparatus of claim 10,
the resource allocation module is specifically configured to, when the pre-order of the first order does not exist, allocate information to the first order to show resources.
12. The apparatus according to claim 9, wherein the resource allocation module is configured to, in particular,
acquiring a second order queue from each completed queue, wherein the completed queue is an order queue for completed information display resource distribution, the second order queue is the same as the first N orders of the first order queue, and N is an integer greater than or equal to 1;
when the key orders exist in the first N orders, acquiring an information display resource distribution result of a third order when the information display resource distribution is carried out on the second order queue; the third order is the last key order in the first N orders, and the key order is an order through which each resource allocation path in the corresponding resource allocation topological graph passes;
and based on the information display resource distribution result of the third order, serially distributing information display resources to orders which are positioned behind the third order and on the same resource distribution path in the first order queue, and distributing information display resources in parallel to orders which are positioned behind the third order and are not positioned on the same resource distribution path in the first order queue.
13. A computer device comprising a processor and a memory, the memory having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, the at least one instruction, the at least one program, the set of codes, or the set of instructions being loaded and executed by the processor to implement the information presentation resource allocation method according to any one of claims 1 to 8.
14. A computer-readable storage medium, having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the information presentation resource allocation method according to any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811301766.8A CN110210922B (en) | 2018-11-02 | 2018-11-02 | Information display resource allocation method and device, computer equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811301766.8A CN110210922B (en) | 2018-11-02 | 2018-11-02 | Information display resource allocation method and device, computer equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110210922A CN110210922A (en) | 2019-09-06 |
CN110210922B true CN110210922B (en) | 2023-02-17 |
Family
ID=67779838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811301766.8A Active CN110210922B (en) | 2018-11-02 | 2018-11-02 | Information display resource allocation method and device, computer equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110210922B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061567B (en) * | 2019-12-17 | 2023-05-30 | 腾讯科技(深圳)有限公司 | Resource data processing method, device, computer readable storage medium and computer equipment |
CN112068961A (en) * | 2020-09-11 | 2020-12-11 | 北京车行一六八信息技术有限公司 | Information resource allocation method, device, electronic device and storage medium |
CN114418625A (en) * | 2021-12-30 | 2022-04-29 | 北京京东振世信息技术有限公司 | Information display method and device, electronic equipment and computer readable medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8644983B1 (en) * | 2010-02-01 | 2014-02-04 | Sprint Communications Company L.P. | Order fulfillment logistics workflow |
CN105931003A (en) * | 2016-06-03 | 2016-09-07 | 北京京东尚科信息技术有限公司 | Order processing method, system and device |
CN106972972A (en) * | 2017-04-06 | 2017-07-21 | 上海烟草集团有限责任公司 | Management/methods of exhibiting of topological diagram, system, service end and client |
CN107563832A (en) * | 2017-07-24 | 2018-01-09 | 北京三快在线科技有限公司 | A kind of information displaying method and system, computer-readable recording medium |
CN108074031A (en) * | 2017-06-29 | 2018-05-25 | 北京小度信息科技有限公司 | Order component formula method and device |
-
2018
- 2018-11-02 CN CN201811301766.8A patent/CN110210922B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8644983B1 (en) * | 2010-02-01 | 2014-02-04 | Sprint Communications Company L.P. | Order fulfillment logistics workflow |
CN105931003A (en) * | 2016-06-03 | 2016-09-07 | 北京京东尚科信息技术有限公司 | Order processing method, system and device |
CN106972972A (en) * | 2017-04-06 | 2017-07-21 | 上海烟草集团有限责任公司 | Management/methods of exhibiting of topological diagram, system, service end and client |
CN108074031A (en) * | 2017-06-29 | 2018-05-25 | 北京小度信息科技有限公司 | Order component formula method and device |
CN107563832A (en) * | 2017-07-24 | 2018-01-09 | 北京三快在线科技有限公司 | A kind of information displaying method and system, computer-readable recording medium |
Also Published As
Publication number | Publication date |
---|---|
CN110210922A (en) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596623B (en) | Block chain consensus achieving method | |
CN107767164B (en) | Information processing method, distribution method and device for push information order | |
US11496485B2 (en) | Task completion using a blockchain network | |
CN110210922B (en) | Information display resource allocation method and device, computer equipment and storage medium | |
WO2018149371A1 (en) | Flow and service allocation method and apparatus for push information order, and storage medium | |
WO2020082611A1 (en) | Method for carrying out deep learning on basis of blockchain platform and electronic device | |
CN111815372B (en) | Live broadcast processing method and device based on block chain, electronic equipment and storage medium | |
CN108665363B (en) | Block chain consensus achieving device | |
JP7430191B2 (en) | Financial product recommendation methods, devices, electronic devices and programs | |
KR102464018B1 (en) | SYSTEM TO PROVIDE distribution channels nET zero services for blockchain-based nET zero practice | |
CN102185926A (en) | Cloud computing resource management system and method | |
CN108629588B (en) | Computer readable medium for block chain consensus achievement | |
CN110233741B (en) | Service charging method, device, equipment and storage medium | |
CN111641629A (en) | Abnormal behavior detection method, device, equipment and storage medium | |
CN111260399B (en) | Advertisement data processing method and device based on block chain network and electronic equipment | |
CN112200567A (en) | Resource management method and device based on block chain and electronic equipment | |
CN108921613A (en) | Advertisement price competing method, system and advertisement placement method, system | |
CN112915548A (en) | Data processing method, device and equipment of multimedia playing platform and storage medium | |
CN113553378A (en) | Block chain data deleting method and device | |
CN112015577A (en) | Calling method and device of intelligent contract | |
JPWO2018092443A1 (en) | Digital content transaction management apparatus, digital content transaction management method and program | |
CN112346628A (en) | Special shared resource certificate management method, system and electronic equipment | |
US20180011859A1 (en) | Database and system for venue collaboration | |
KR20230169772A (en) | Method and apparatus for providing user selected as event target user with event including reward for contents service | |
US20170351554A1 (en) | Method and system for cloud service based on redistribution of processing power |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |