CN111340532B - Data delivery method, device, server and computer readable storage medium - Google Patents

Data delivery method, device, server and computer readable storage medium Download PDF

Info

Publication number
CN111340532B
CN111340532B CN202010101750.3A CN202010101750A CN111340532B CN 111340532 B CN111340532 B CN 111340532B CN 202010101750 A CN202010101750 A CN 202010101750A CN 111340532 B CN111340532 B CN 111340532B
Authority
CN
China
Prior art keywords
time
amount
time slice
error
real
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
Application number
CN202010101750.3A
Other languages
Chinese (zh)
Other versions
CN111340532A (en
Inventor
杨瑞
陈振
黄剑飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010101750.3A priority Critical patent/CN111340532B/en
Publication of CN111340532A publication Critical patent/CN111340532A/en
Application granted granted Critical
Publication of CN111340532B publication Critical patent/CN111340532B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application discloses a data delivery method, a data delivery device, a server and a computer readable storage medium, and belongs to the technical field of internet. The method calculates real-time errors and accumulated errors of a last time slice by obtaining the actual putting amount and the expected putting amount of the last time slice. And adjusting the expected putting amount of the current time slice according to the real-time error and the accumulated error so as to determine the data putting amount of the current time slice, and eliminating the influence of the real-time error and the accumulated error of the previous time slice on the data putting amount of the current time slice to a certain extent. And data putting is carried out according to the data putting amount of the current time slice, so that the data putting amount of the current time slice can be better controlled, and the putting result is more accurate.

Description

Data delivery method, device, server and computer readable storage medium
Technical Field
The embodiment of the application relates to the technical field of internet, in particular to a data delivery method, a data delivery device, a server and a computer-readable storage medium.
Background
With the continuous development of internet technology, data popularization by using network technology has become a necessary means for commercial activities. In the data releasing process, if the releasing speed is too high, the releasing cost is consumed too early, and no data can be released in the following time period; if the releasing speed is too slow, the total releasing cost is not consumed within the preset time, and the requirement of the user on data releasing cannot be met. Therefore, speed control during data delivery is particularly important.
Disclosure of Invention
The embodiment of the application provides a data delivery method, a data delivery device, a server and a computer-readable storage medium, which can be used for solving the problems in the related art. The technical scheme is as follows:
in one aspect, an embodiment of the present application provides a data delivery method, where the method includes:
determining expected putting amount of data in a target number of time slices according to historical putting records;
calculating the real-time error of the previous time slice according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices;
calculating an accumulated error according to the real-time error, wherein the accumulated error is the sum of the real-time errors of the time slices from the first time slice to the last time slice;
determining the data input amount of the current time slice according to the real-time error and the accumulated error;
and according to the data putting amount of the current time slice, carrying out data putting of the current time slice.
In one possible implementation, the determining an expected delivery amount of the data in the target number of time slices according to the historical delivery records includes:
according to the historical putting records, determining the proportion average distribution (t) of the actual putting quantities of the target time slices in the actual putting quantities of the target time slices according to the following formula:
Figure BDA0002387091270000021
calculating the expected input amount v (t) of the target number of time slices according to the following formula according to the proportional average value distribution (t) of the actual input amount of the target number of time slices in the target time period:
v(t)=Exposuretotal×Distribution(t),t∈[1,T]
wherein the Exposure istotalFor a desired amount of delivery for a target time period, the Reqd(t) is the actual amount of the t time slice in the d time period in the historical N time periods
Figure BDA0002387091270000022
The actual amount of the d time slot in the historical N time slots is T, and the T is the total number of the time slots in a target time slot.
In a possible implementation manner, the calculating a real-time error of the last time slice according to the actual put volume of the last time slice and the expected put volume of the target number of time slices includes:
calculating the real-time error e (t) of the previous time slice according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices and the following formula:
e(t)=Exposure(t)-v(t),t∈[1,T]
wherein, the exposure (T) is the actual amount of time slot, the v (T) is the expected amount of time slot, and the T is the total number of time slots in a target time period.
In one possible implementation, the calculating an accumulated error according to the real-time error includes:
based on the real-time error, the cumulative error e is calculated as followscumulative(t):
Figure BDA0002387091270000023
Wherein e (i) is the real-time error of the ith time slice, and T is the total number of time slices in a target time period.
In a possible implementation manner, the determining the data placement amount of the current time slice according to the real-time error and the accumulated error includes:
if the absolute value of the accumulated error is not within the accumulated error sensitive threshold, preferentially determining the data input amount of the current time slice according to the accumulated error;
if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is not within the real-time error sensitive threshold, determining the data input amount of the current time slice according to the real-time error;
and if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is within the real-time error sensitive threshold, determining the expected delivery volume of the current time slice as the data delivery volume of the current time slice.
In a possible implementation manner, if the absolute value of the accumulated error is not within the accumulated error sensitive threshold, preferentially adjusting the data input amount of the current time slice according to the accumulated error, including any one of the following:
if the accumulated error is larger than the accumulated error sensitive threshold, reducing the data input amount of the current time slice;
and if the accumulated error is smaller than the accumulated error sensitive threshold, increasing the data input amount of the current time slice.
In a possible implementation manner, if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is not within the real-time error sensitive threshold, the adjusting the data placement amount of the current time slice according to the real-time error includes any one of the following:
if the real-time error is larger than the real-time error sensitive threshold, reducing the data input amount of the current time slice;
and if the real-time error is smaller than the real-time error sensitive threshold, increasing the data input amount of the current time slice.
In another aspect, a data delivery apparatus is provided, the apparatus comprising:
the first determination module is used for determining expected putting amount of the data in a target number of time slices according to the historical putting records;
the first calculation module is used for calculating the real-time error of the previous time slice according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices;
the second calculation module is used for calculating an accumulated error according to the real-time error, wherein the accumulated error is the sum of the real-time errors of the time slices from the first time slice to the last time slice;
the second determining module is used for determining the data input amount of the current time slice according to the real-time error and the accumulated error;
and the data releasing module is used for releasing the data of the current time slice according to the data releasing amount of the current time slice.
In a possible implementation manner, the first determining module is configured to determine, according to the historical delivery records, a proportional average distribution (t) of actual delivery amounts of the target number of time slices to actual delivery amounts of the target time period according to the following formula:
Figure BDA0002387091270000031
calculating the expected input amount v (t) of the target number of time slices according to the following formula according to the proportional average value distribution (t) of the actual input amount of the target number of time slices in the target time period:
v(t)=Exposuretotal×Distribution(t),t∈[1,T]
wherein, the ExposuretotalFor a desired amount of delivery, Req, for a target time periodd(t) is the actual amount of the t time slice in the d time period in the historical N time periods,
Figure BDA0002387091270000032
t is the actual putting amount of the d time period in the historical N time periods, and is the total number of time slices in one target time period.
In a possible implementation manner, the first calculating module is configured to calculate a real-time error e (t) of a previous time slice according to the following formula, based on an actual put volume of the previous time slice and an expected put volume of the target number of time slices:
e(t)=Exposure(t)-v(t),t∈[1,T]
wherein, the exposure (T) is the actual amount of time slot, the v (T) is the expected amount of time slot, and the T is the total number of time slots in a target time period.
In a possible implementation, the second calculation module is configured to calculate the accumulated error e according to the real-time error according to the following formulacumulative(t):
Figure BDA0002387091270000041
Wherein e (i) is the real-time error of the ith time slice, and T is the total number of time slices in a target time period.
In one possible implementation, the second determining module includes the following sub-modules:
the first determining submodule is used for preferentially determining the data input amount of the current time slice according to the accumulated error if the absolute value of the accumulated error is not within the accumulated error sensitive threshold;
the second determining submodule is used for determining the data input amount of the current time slice according to the real-time error if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is not within the real-time error sensitive threshold;
and the third determining submodule is used for determining the expected putting quantity of the current time slice as the data putting quantity of the current time slice if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is within the real-time error sensitive threshold.
In a possible implementation manner, the first determining submodule is configured to reduce a data input amount of the current time slice if the accumulated error is greater than the accumulated error sensitivity threshold; and if the accumulated error is smaller than the accumulated error sensitive threshold, increasing the data input amount of the current time slice.
In a possible implementation manner, the second determining submodule is configured to reduce the data input amount of the current time slice if the real-time error is greater than the real-time error sensitivity threshold; and if the real-time error is smaller than the real-time error sensitive threshold, increasing the data input amount of the current time slice.
In another aspect, a server is provided, which includes a processor and a memory, where at least one program code is stored in the memory, and the at least one program code is loaded and executed by the processor to implement any of the data delivery methods described above.
In another aspect, a computer-readable storage medium is provided, in which at least one program code is stored, and the at least one program code is loaded and executed by a processor to implement any of the above data delivery methods.
The technical scheme provided by the embodiment of the application at least has the following beneficial effects:
and calculating real-time errors and accumulated errors of the last time slice by acquiring the actual putting amount and the expected putting amount of the last time slice. And adjusting the expected putting amount of the current time slice according to the real-time error and the accumulated error so as to determine the data putting amount of the current time slice, and eliminating the influence of the real-time error and the accumulated error of the previous time slice on the data putting amount of the current time slice to a certain extent. And performing data delivery according to the data delivery amount of the current time slice, so that the data delivery amount of the current time slice can be better controlled.
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
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of an implementation environment of data delivery provided in an embodiment of the present application;
fig. 2 is a flowchart of data delivery provided in an embodiment of the present application;
FIG. 3 is a flow chart for determining a data placement amount for a current time slice according to an embodiment of the present application;
fig. 4 is an overall flowchart of data delivery provided by an embodiment of the present application;
fig. 5 is a schematic structural diagram of a data delivery apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of an implementation environment for data delivery provided in an embodiment of the present application, and referring to fig. 1, the implementation environment includes: a server 101 and a terminal 102.
The server 101 and the terminal 102 are connected via a wired network or a wireless network. The server 101 may be one server or a server cluster including a plurality of servers. The server 101 may also be at least one of a cloud computing platform and a virtualization center, which is not limited in this embodiment of the present application. The server 101 is configured to calculate an expected data placement amount according to the data placement cost of the data placement merchant, the data placement days, and the data placement type. The server 101 is also used for delivering data to the terminal 102. Of course, the server 101 may also include other functional servers to provide more comprehensive and diversified services.
The terminal 102 may be at least one of a smart phone, a game console, a desktop computer, a tablet computer, an MP3(Moving Picture Experts Group Audio Layer III) player, an MP4(Moving Picture Experts Group Audio Layer IV) player, and a laptop computer, and the terminal 102 is configured to display data delivered by the server 101.
The terminal 102 may be generally referred to as one of a plurality of terminals, and the embodiment of the present application is illustrated by the terminal 102. Those skilled in the art will appreciate that the number of terminals 102 described above may be greater or fewer. For example, the number of the terminals 102 may be only a few, or the number of the terminals 102 may be tens or hundreds, or may be more, and the number of the terminals 102 and the type of the device are not limited in the embodiment of the present application.
Based on the foregoing implementation environment, the embodiment of the present application provides a data delivery method, taking a flowchart of the data delivery method provided in the embodiment of the present application shown in fig. 2 as an example, and the embodiment of the present application only takes data as advertisement data as an example for description. The method may be performed by the server 101 in fig. 1. As shown in fig. 2, the method comprises the steps of:
in step 201, the expected delivery amount of the data in the target number of time slices is determined according to the historical delivery records.
In the embodiment of the present application, there may be any one of the following implementations to determine the expected putting amount of the data in the target number of time slices. In the embodiment of the present application, the advertisement data is taken as an example for explanation, and therefore, the desired placement amount of the data determined as described below may be the desired placement amount of the advertisement.
The method comprises the steps that a server obtains the released fund and the released type of data, and the total expected released amount of the data is determined according to the released fund and the released type. And calculating the expected putting amount of the data in the target number of time slices according to the total putting duration and the total expected putting amount of the data.
Taking data as an advertisement as an example, the server obtains the total advertisement delivery cost and the delivery type of advertisement delivery, wherein the delivery type can comprise banner advertisements, character chain advertisements, screen insertion advertisements, information flow advertisements and the like, and different types of advertisements have different costs. And the server calculates the total expected putting amount of the advertisement according to the total putting cost and the advertisement type of the advertisement. And calculating the expected advertisement putting amount of each day according to the total advertisement putting time.
Further, the day can be divided into a plurality of time slices, and the expected putting amount of the target plurality of time slices can be calculated. For example, if each minute of a day is taken as a time slice, the day is divided into 1440 time slices, and the desired placement amount for the target number of time slices can be calculated according to the desired placement amount for the day and the 1440 time slices divided for the day. For example, the desired placement amount for the target number of time slices can be obtained by using the quotient of the desired placement amount for one day and the number of time slices divided for one day as the desired placement amount for each time slice.
The total advertisement putting cost, the putting type of advertisement putting and the total advertisement putting duration can be determined by an advertisement merchant, and the embodiment of the application does not limit the total advertisement putting cost, the putting type of advertisement putting and the total advertisement putting duration.
And secondly, the server acquires the historical putting records of the data and determines the expected putting quantity of the data in the target number of time slices according to the historical putting records.
The server obtains the actual putting amount of each day in the historical N days, obtains the actual putting amount of each time slice in each day, and calculates the proportion of the actual putting amount of each time slice in each day to the actual putting amount of the target time period. For example, a ratio average value is calculated according to the ratio of the actual input amount of each time slice in each day to the actual input amount of the target time slice, and a calculation formula of the ratio average value is as follows:
Figure BDA0002387091270000071
in the above formula (1), distribution (t) is a proportional average value, Req, of the actual input amount of each time slice to the actual input amount of the target time periodd(t) is the actual amount of the t time slice in the d time period in the historical N time periods,
Figure BDA0002387091270000072
t is the actual putting amount of the d time period in the historical N time periods, and is the total number of time slices in one target time period.
For example, the actual total amount of the released material for each day in the 5 days in the history is: 30. 25, 28, 30, 25, and the actual amount of the time slice of 14:00 per day in the 5 days of the history is: 6. 5, 7, 6 and 5. Calculating the proportion of the actual input amount of the time slice of 14:00 of each day in 5 days in the history to the actual total input amount of the whole day, wherein the calculation results are respectively as follows: 1/5, 1/5, 1/4, 1/5, 1/5. Calculating a ratio mean value according to the obtained ratio value, wherein the ratio mean value is as follows: 21/100. That is, during the advertisement placement process, the expected placement amount of the advertisement in the time slice of 14:00 per day is 21/100 of the expected placement amount of the advertisement in the whole day.
And after the proportional mean value of the actual putting amount of each time slice in the actual putting amount of the target time period is determined, determining the expected putting amounts of the target number of time slices according to the proportional mean value and the expected putting amount of the target time period. For example, the expected putting amount of the target number of time slices is determined according to the proportional mean value and the expected putting amount of the target time period according to the following formula:
v(t)=Exposuretotal×Distribution(t),t∈[1,T] (2)
in the above formula (2), v (t) is the expected delivery amount of the t-th time slice, ExposuretotalT is the total number of time slices in a target time period.
For example, the total expected delivery per day is 30, and the expected delivery per day for the 14:00 time slice is
Figure BDA0002387091270000081
I.e., 14:00 per day, the desired amount of the time slice is 6.
It should be noted that the expected put amount of each time slice in the target time period needs to be calculated in the above manner.
In a possible implementation manner, the expected putting amount calculated according to the proportional mean value may be subjected to a sliding average according to the putting amount of the last target time period, and then the distribution of the expected putting amount of the current target time period is updated according to the result of the sliding average, so that the expected putting amount of each time slice is more accurate. The formula of the running average is as follows:
Figure BDA0002387091270000082
in the above formula (3), Distribution,(t) is the advertisement placement amount after the sliding average, req (t) is the actual placement amount per time slice in the previous target time period, β is the sliding coefficient, the closer β is to 1, the closer β is to the actual placement amount in the previous target time period, and the closer β is to 0, the closer β is to the desired placement amount distribution, the closer β is to the desired placement amount before the sliding average.
In the above, only the whole day is taken as one target time period, and the whole day is divided into a plurality of time slices, in the implementation, other target time periods with other lengths may be selected, and the division standard of the time slices may adopt other modes, which is not limited in the embodiment of the present application.
In step 202, a real-time error of a time slice is calculated according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices.
In the embodiment of the present application, since the expected delivery amount of each time slice in the advertisement delivery process is calculated in advance, and the actual delivery amount of each time slice is unpredictable, an error may exist between the actual delivery amount and the expected delivery amount of each time slice, which is a real-time error. The real-time error is calculated as follows:
and the server acquires the actual putting amount of the last time slice and the expected putting amount of the last time slice, and calculates the real-time error of the last time slice according to the actual putting amount and the expected putting amount. For example, a real-time error of a time slice is calculated from the actual and expected shot amounts according to the following formula:
e(t)=Exposure(t)-v(t),t∈[1,T] (4)
in the above formula (4), e (T) is the real-time error of the T-th time slice, exposure (T) is the actual amount of the T-th time slice, v (T) is the expected amount of the T-th time slice, and T is the total number of time slices in a target time period.
It should be noted that, in the calculation of the real-time errors of other time slices, the actual input amount and the expected input amount of the time slice are acquired, and then the calculation is performed according to the above formula (4).
In step 203, an accumulated error is calculated based on the real-time errors, the accumulated error being a sum of the real-time errors of the time slices from the first time slice to the last time slice.
In the embodiment of the present application, the accumulation of real-time errors may cause the actual placement of advertisements in subsequent time slices to deviate from the expected placement, so that the accumulated error needs to be calculated, and the accumulated error is the sum of the real-time errors of the time slices from the first time slice to the last time slice. For example, the cumulative error is calculated according to the following formula:
Figure BDA0002387091270000091
in the above formula (5), ecumulative(T) is the sum of the real-time errors of the time slices from the first time slice to the T time slice, i.e. the accumulated error of the previous time slice, e (i) is the real-time error of the ith time slice, and T is the total number of time slices in a target time period.
In step 204, the data input amount of the current time slice is determined according to the real-time error and the accumulated error.
In the embodiment of the present application, as shown in fig. 3, a flowchart for determining an advertisement placement amount of a current time slice provided by the embodiment of the present application is provided, and includes the following steps:
step 2041, the real-time error and the accumulated error of the previous time slice of the current time slice are obtained.
In this step 2041, the server obtains the real-time error and the accumulated error of the previous time slice of the current time slice, and then adjusts the expected advertisement placement amount of the current time slice according to the real-time error and the accumulated error, thereby determining the advertisement placement amount of the current time slice.
And 2042, preferentially determining the data input amount of the current time slice according to the accumulated error if the absolute value of the accumulated error is not within the accumulated error sensitive threshold.
The accumulated error sensitive threshold is an allowable error of the total expected delivery amount of the target time period, for example, the accumulated error sensitive threshold may be set to 0.01 of the total expected delivery amount of the target time period, and then the accumulated error sensitive threshold is: 0.01 × ExposuretotalThat is, the accumulated error is controlled to be about 1% of the desired shot size of the target time zone. The accumulated error sensitive threshold value can be set according to factors such as the advertisement delivery scene and the delivered advertisement type, and the setting of the accumulated error sensitive threshold value is not limited in the embodiment of the application.
In one possible implementation, if the accumulated error is greater than the accumulated error sensitivity threshold, the sum of the real-time errors accounting for the ad placement volume for each time slice prior to the current time slice has exceeded the sum of the allowed errors accounting for the expected placement volume for each time slice prior to the current time slice. Therefore, the advertisement release amount of the current time slice needs to be reduced, that is, the advertisement release speed of the current time slice is slowed down, so that the situation that the total advertisement release amount is consumed too early and no advertisement can be released in the following time slices is avoided. For example, the first number of steps may be decreased based on the desired bid amount for the current time slice to obtain the bid amount for the current time slice.
In one possible implementation, if the accumulated error is less than the accumulated error sensitive threshold, the sum of the real-time errors of the ad placement volume for each time slice prior to the current time slice is still much less than the sum of the allowed errors of the expected placement volume for each time slice prior to the current time slice. Therefore, the advertisement putting amount of the current time slice needs to be increased, that is, the advertisement putting speed of the current time slice is increased, so that the problem that all advertisements are not put in the total advertisement putting duration and the loss of an advertiser is caused is avoided. For example, a second number of steps may be added to the desired bid amount for the current time slice to obtain the bid amount for the current time slice.
In one possible implementation, if the absolute value of the accumulated error is within the accumulated error sensitivity threshold, step 2043 is performed.
It should be noted that the first value and the second value may be set based on historical advertisement delivery experience, or may be set by an advertiser, which is not limited in this embodiment of the present application. It should be noted that the first numerical value and the second numerical value may be the same numerical value or different numerical values.
And 2043, if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is not within the real-time error sensitive threshold, determining the data input amount of the current time slice according to the real-time error.
The real-time error sensitivity threshold is generally an allowable error of a desired put amount for each time slice in a day, for example, the calculation formula of the real-time error sensitivity threshold is generally:
Figure BDA0002387091270000101
wherein, the value range of ratio is generally 0.05-0.2, that is, the real-time error sensitivity threshold value of each time slice in a day is 0.05-0.2 of the expected input amount of the time slice. The real-time error sensitivity threshold value can be set according to factors such as the advertisement putting scene, the advertisement putting type and the like, and the setting of the real-time error sensitivity threshold value is not limited in the embodiment of the application.
In one possible implementation, if the real-time error is greater than the real-time error sensitivity threshold, it is indicated that the real-time error of the advertisement placement amount of the previous time slice adjacent to the current time slice has exceeded the allowable error of the desired placement amount of the time slice. Therefore, the advertisement release amount of the current time slice needs to be reduced, that is, the advertisement release speed of the current time slice is slowed down, so that the situation that the total advertisement release amount is consumed too early and no advertisement can be released in the following time slices is avoided. For example, the third numerical step size may be decreased based on the desired placement for the current time slice to obtain the placement for the current time slice.
In one possible implementation, if the real-time error is less than the real-time error sensitivity threshold, the real-time error indicating the advertisement placement amount for the previous time slice adjacent to the current time slice is still within the allowable error of the desired placement amount for that time slice. Therefore, the advertisement putting quantity of the current time slice can be increased, namely the advertisement putting speed of the current time slice is accelerated, so that the problem that all advertisements are not put in the total advertisement putting duration and the loss is caused to an advertiser is avoided. For example, a fourth numerical step size may be added to the desired bid amount for the current time slice to obtain the bid amount for the current time slice.
In one possible implementation, if the real-time error is within the real-time error sensitivity threshold, step 2044 is performed.
It should be noted that the third numerical value and the fourth numerical value may be set based on historical advertisement delivery experience, or may be set by an advertiser, which is not limited in this embodiment of the present application.
It should be noted that the third value may be the same as or different from the first value in step 2043; the fourth value may be the same as or different from the second value in step 2043, which is not limited in this embodiment of the present application.
Step 2044, if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is within the real-time error sensitive threshold, determining the expected delivery volume of the current time slice as the data delivery volume of the current time slice.
In this step 2044, if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is within the real-time error sensitive threshold, the advertisement delivery amount of the current time slice is the expected delivery amount of the time slice determined in step 201.
In step 205, data delivery of the current time slice is performed according to the data delivery amount of the current time slice.
In the embodiment of the application, after the server determines the advertisement putting amount of the current time slice, the server puts the advertisement according to the advertisement putting amount of the current time slice, and to a certain extent, the influence of the real-time error and the accumulated error of the previous time slice on the advertisement putting amount of the current time slice can be eliminated, so that the advertisement putting of the current time slice can be better controlled.
It should be noted that, in the embodiment of the present application, only data is taken as an example for description, and if the data is other types of data, a determination process of a data placement amount is consistent with the determination process of the advertisement placement amount, and details are not described here again.
The method calculates the real-time error and the accumulated error of the last time slice by acquiring the actual putting amount and the expected putting amount of the last time slice. And adjusting the expected putting amount of the current time slice according to the real-time error and the accumulated error so as to determine the data putting amount of the current time slice. To a certain extent, the influence of the real-time error and the accumulated error of the previous time slice on the data input amount of the current time slice can be eliminated. And performing data delivery according to the data delivery amount of the current time slice, so that the data delivery amount of the current time slice can be better controlled.
Fig. 4 is an overall flowchart of data delivery provided by an embodiment of the present application, and as shown in fig. 4, the overall flowchart includes an expected distribution calculation module, a proportional-integral control module, and an on-line probability adjustment module.
And the expected distribution calculation module is used for determining expected putting quantities of the data in the target number of time slices according to the historical putting records, and updating the expected putting quantities of the target number of time slices by using a moving average method, so that the expected putting quantities of the target number of time slices are more accurate. The method for determining the expected input amount of the data in the target number of time slices and the method for updating the expected input amount of the target number of time slices by using the moving average method are the same as those in the step 201, and are not described herein again.
And the proportional integral control module is used for judging the adjustment direction of the data input amount of the current time slice according to the historical input record and the proportional integral control method, then adjusting the expected input amount of the data of the current time slice according to the adjustment direction to obtain the data input amount of the current time slice, and outputting the data input amount of the current time slice to the on-line probability adjustment module. The method for adjusting the data putting amount of the current time slice is the same as the method in step 204, and is not described herein again.
And the on-line probability adjusting module is used for updating the expected putting quantity of the target number of time slices according to the output result of the proportional integral control module so as to obtain the updated expected putting quantity, and putting the data of the time slices after the current time slice according to the updated expected putting quantity. And if the current time slice is the last time slice of the day, inputting the actual putting amount of each time slice in the target time period into the expected distribution calculation module after the putting of the current time slice is finished, and updating the expected putting amount distribution of the next target time period. If the current time slice is not the last time slice of the target time slice, the actual input amount of the time slice is input into the proportional integral control module to be used for updating the expected input amount of the next time slice adjacent to the current time slice. The data delivery method of the current time slice is the same as the method in step 205, and will not be described herein again.
Fig. 5 is a schematic structural diagram of a data delivery apparatus according to an embodiment of the present application, and as shown in fig. 5, the apparatus includes:
a first determining module 501, configured to determine expected delivery amounts of data in a target number of time slices according to historical delivery records;
a first calculating module 502, configured to calculate a real-time error of a previous time slice according to an actual putting amount of the previous time slice and an expected putting amount of the target number of time slices;
a second calculating module 503, configured to calculate an accumulated error according to the real-time error, where the accumulated error is a sum of real-time errors of each time slice from the first time slice to the last time slice;
a second determining module 504, configured to determine a data release amount of the current time slice according to the real-time error and the accumulated error;
and a data releasing module 505, configured to release the data of the current time slice according to the data releasing amount of the current time slice.
In a possible implementation manner, the first determining module 501 is configured to determine, according to the historical delivery records, a proportional average distribution (t) of actual delivery amounts of the target number of time slices to actual delivery amounts of the target time period according to the following formula:
Figure BDA0002387091270000131
calculating the expected input amount v (t) of the target number of time slices according to the following formula according to the proportional average value distribution (t) of the actual input amount of the target number of time slices in the target time period:
v(t)=Exposuretotal×Distribution(t),t∈[1,T]
wherein the Exposure istotalFor a desired amount of delivery for a target time period, the Reqd(t) is the actual amount of the t time slice in the d time period in the historical N time periods
Figure BDA0002387091270000132
The actual amount of the d time slot in the historical N time slots is T, and the T is the total number of the time slots in a target time slot.
In a possible implementation manner, the first calculating module 502 is configured to calculate a real-time error e (t) of a previous time slice according to the following formula, based on an actual put volume of the previous time slice and an expected put volume of the target number of time slices:
e(t)=Exposure(t)-v(t),t∈[1,T]
wherein, the exposure (T) is the actual amount of time slot, the v (T) is the expected amount of time slot, and the T is the total number of time slots in a target time period.
In a possible implementation manner, the second calculation module 503 is configured to calculate the accumulated error e according to the following formula according to the real-time errorcumulative(t):
Figure BDA0002387091270000141
Wherein e (i) is the real-time error of the ith time slice, and T is the total number of time slices in a target time period.
In one possible implementation, the second determining module 504 includes the following sub-modules:
the first determining submodule is used for preferentially determining the data input amount of the current time slice according to the accumulated error if the absolute value of the accumulated error is not within the accumulated error sensitive threshold;
the second determining submodule is used for determining the data input amount of the current time slice according to the real-time error if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is not within the real-time error sensitive threshold;
and the third determining submodule is used for determining the expected putting quantity of the current time slice as the data putting quantity of the current time slice if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is within the real-time error sensitive threshold.
In a possible implementation manner, the first determining submodule is configured to reduce a data input amount of the current time slice if the accumulated error is greater than the accumulated error sensitivity threshold; and if the accumulated error is smaller than the accumulated error sensitive threshold, increasing the data input amount of the current time slice.
In a possible implementation manner, the second determining submodule is configured to reduce the data input amount of the current time slice if the real-time error is greater than the real-time error sensitivity threshold; and if the real-time error is smaller than the real-time error sensitive threshold, increasing the data input amount of the current time slice.
The device calculates the real-time error and the accumulated error of the last time slice by acquiring the actual putting amount and the expected putting amount of the last time slice. And adjusting the expected putting amount of the current time slice according to the real-time error and the accumulated error so as to determine the data putting amount of the current time slice, and eliminating the influence of the real-time error and the accumulated error of the previous time slice on the data putting amount of the current time slice to a certain extent. And performing data delivery according to the data delivery amount of the current time slice, so that the data delivery amount of the current time slice can be better controlled.
It should be noted that: in the data delivery device provided in the above embodiment, only the division of the functional modules is illustrated when data delivery is performed, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the data delivery device and the data delivery method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
Fig. 6 is a schematic structural diagram of a server according to an embodiment of the present application. The server 600 may generate a large difference due to different configurations or performances, and may include one or more processors (CPUs) 601 and one or more memories 602, where at least one instruction is stored in the one or more memories 602, and is loaded and executed by the one or more processors 601 to implement the data delivery method provided by the foregoing method embodiments. Of course, the server 600 may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface, so as to perform input and output, and the server 600 may also include other components for implementing the functions of the device, which is not described herein again.
In an exemplary embodiment, there is also provided a computer readable storage medium having at least one program code stored therein, the at least one program code being loaded and executed by a processor of a terminal to implement any of the above-mentioned data delivery methods.
Alternatively, the computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
It should be understood that reference to "a plurality" herein means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
The above description is only exemplary of the present application and is not intended to limit the present application, and any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (10)

1. A method for data delivery, the method comprising:
determining a proportional mean value of the actual putting amount of each time slice in the actual putting amount of the target time period, and determining expected putting amounts of the data in the target number of time slices according to the proportional mean value and the expected putting amount of the target time period;
carrying out sliding average on the expected putting amount calculated according to the proportional mean value according to the putting amount of the last target time period, and updating the distribution condition of the expected putting amount of the current target time period according to the result of the sliding average;
calculating the real-time error of the previous time slice according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices, which is obtained through the sliding average processing, of the previous time slice;
calculating an accumulated error according to the real-time errors, wherein the accumulated error is the sum of the real-time errors of each time slice from the first time slice to the last time slice;
determining the data input amount of the current time slice according to the real-time error and the accumulated error;
and according to the data putting amount of the current time slice, carrying out data putting of the current time slice.
2. The method of claim 1, wherein the determining a proportional mean of the actual amount of each time slice to the actual amount of each time slice, and determining the expected amount of each time slice based on the proportional mean and the expected amount of each time slice comprises:
according to the historical putting records, determining the proportion average distribution (t) of the actual putting quantities of the target time slices in the actual putting quantities of the target time slices according to the following formula:
Figure FDA0003343759320000011
calculating the expected putting amount v (t) of the target number of time slices according to the ratio average value (t) of the actual putting amount of the target number of time slices to the actual putting amount of the target time slice and the expected putting amount of the target time slice, and the following formula:
v(t)=Exposuretotal×Distribution(t),t∈[1,T]
wherein the ExposuretotalFor a desired amount of the target time period, the Reqd(t) actual amount of the put in the tth time slice of the d time slice in the historical N time slices
Figure FDA0003343759320000021
And T is the actual putting amount of the d time period in the historical N time periods, and the T is the total number of the time slices in one target time period.
3. The method according to claim 1, wherein the calculating the real-time error of the previous time slice according to the actual input amount of the previous time slice and the expected input amount of the previous time slice included in the expected input amount of the target number of time slices obtained through the moving average processing comprises:
calculating the real-time error e (t) of the previous time slice according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices obtained through the moving average processing and the following formula:
e(t)=Exposure(t)-Exposuretotal×Distribution’(t),t∈[1,T]
wherein, the Exposure (t) is the actual dosage of the t time slicetotalThe x Distribution' (T) is the expected throwing amount of the T-th time slice obtained after the moving average processing, and the T is the total number of time slices in one target time period.
4. The method of claim 1, wherein said calculating an accumulated error from said real-time error comprises:
calculating the accumulated error e according to the real-time errorcumulative(t):
Figure FDA0003343759320000022
Wherein e (i) is the real-time error of the ith time slice, and T is the total number of time slices in a target time period.
5. The method of claim 1, wherein determining the data placement amount for the current time slice based on the real-time error and the accumulated error comprises:
if the absolute value of the accumulated error is not within the accumulated error sensitive threshold, preferentially determining the data input amount of the current time slice according to the accumulated error;
if the absolute value of the accumulated error is within the accumulated error sensitive threshold and the absolute value of the real-time error is not within the real-time error sensitive threshold, determining the data input amount of the current time slice according to the real-time error;
and if the absolute value of the accumulated error is within the accumulated error sensitive threshold value and the absolute value of the real-time error is within the real-time error sensitive threshold value, determining the expected delivery volume of the current time slice as the data delivery volume of the current time slice.
6. The method according to claim 5, wherein the preferentially adjusting the data placement amount of the current time slice according to the accumulated error if the absolute value of the accumulated error is not within the accumulated error sensitivity threshold comprises any one of:
if the accumulated error is larger than the accumulated error sensitive threshold, reducing the data input amount of the current time slice;
and if the accumulated error is smaller than the accumulated error sensitive threshold, increasing the data input amount of the current time slice.
7. The method of claim 5, wherein if the absolute value of the accumulated error is within the accumulated error sensitivity threshold and the absolute value of the real-time error is not within the real-time error sensitivity threshold, adjusting the data placement amount of the current time slice according to the real-time error comprises any one of:
if the real-time error is larger than the real-time error sensitive threshold, reducing the data input amount of the current time slice;
and if the real-time error is smaller than the real-time error sensitive threshold, increasing the data input amount of the current time slice.
8. A data delivery apparatus, the apparatus comprising:
the first determination module is used for determining a proportional mean value of the actual putting amount of each time slice in the actual putting amount of the target time period, and determining expected putting amounts of the data in the target number of time slices according to the proportional mean value and the expected putting amount of the target time period; carrying out sliding average on the expected putting amount calculated according to the proportional mean value according to the putting amount of the last target time period, and updating the distribution condition of the expected putting amount of the current target time period according to the result of the sliding average;
the first calculation module is used for calculating the real-time error of the previous time slice according to the actual putting amount of the previous time slice and the expected putting amount of the target number of time slices, which is obtained through the moving average processing, of the previous time slice;
the second calculation module is used for calculating an accumulated error according to the real-time error, wherein the accumulated error is the sum of the real-time errors of each time slice from the first time slice to the last time slice;
the second determining module is used for determining the data input amount of the current time slice according to the real-time error and the accumulated error;
and the data releasing module is used for releasing the data of the current time slice according to the data releasing amount of the current time slice.
9. A server, characterized in that the server comprises a processor and a memory, wherein at least one program code is stored in the memory, and the at least one program code is loaded and executed by the processor to implement the data delivery method according to any one of claims 1 to 7.
10. A computer-readable storage medium, having at least one program code stored therein, the at least one program code being loaded and executed by a processor to implement the data delivery method according to any one of claims 1 to 7.
CN202010101750.3A 2020-02-19 2020-02-19 Data delivery method, device, server and computer readable storage medium Active CN111340532B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010101750.3A CN111340532B (en) 2020-02-19 2020-02-19 Data delivery method, device, server and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010101750.3A CN111340532B (en) 2020-02-19 2020-02-19 Data delivery method, device, server and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN111340532A CN111340532A (en) 2020-06-26
CN111340532B true CN111340532B (en) 2021-12-14

Family

ID=71183964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010101750.3A Active CN111340532B (en) 2020-02-19 2020-02-19 Data delivery method, device, server and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN111340532B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024218A (en) * 2009-09-14 2011-04-20 腾讯科技(深圳)有限公司 Method and apparatus for delivering advertisement
CN103678678A (en) * 2013-12-25 2014-03-26 北京奇虎科技有限公司 Method and device for releasing website information
CN106055666A (en) * 2016-06-02 2016-10-26 腾讯科技(深圳)有限公司 Method and device for delivering media files
CN107808295A (en) * 2016-09-09 2018-03-16 腾讯科技(深圳)有限公司 Multi-medium data put-on method and device
CN107944918A (en) * 2017-11-27 2018-04-20 精硕科技(北京)股份有限公司 The management method and device that information is launched
CN109325825A (en) * 2018-09-04 2019-02-12 口口相传(北京)网络技术有限公司 The regulation method and device of data on flows
CN109829749A (en) * 2018-12-28 2019-05-31 微梦创科网络科技(中国)有限公司 A kind of advertisement placement method and system
CN110570246A (en) * 2019-09-06 2019-12-13 上海携程商务有限公司 Internet marketing system flow segmentation method, system, equipment and medium
CN110570257A (en) * 2019-09-16 2019-12-13 聚好看科技股份有限公司 multimedia data delivery method, device and computer readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8925002B2 (en) * 2012-10-26 2014-12-30 Hulu, LLC Pacing ad service with adjustable granularity
US20160007085A1 (en) * 2014-07-03 2016-01-07 Youssef Dandachli Methods and systems of presenting censored media content
CN107038599A (en) * 2016-10-28 2017-08-11 合网络技术(北京)有限公司 A kind of advertisement putting dispatching method and scheduling system
CN108269109A (en) * 2016-12-30 2018-07-10 深圳市优朋普乐传媒发展有限公司 A kind of Advertisement arrangement injected volume equalization methods and device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024218A (en) * 2009-09-14 2011-04-20 腾讯科技(深圳)有限公司 Method and apparatus for delivering advertisement
CN103678678A (en) * 2013-12-25 2014-03-26 北京奇虎科技有限公司 Method and device for releasing website information
CN106055666A (en) * 2016-06-02 2016-10-26 腾讯科技(深圳)有限公司 Method and device for delivering media files
CN107808295A (en) * 2016-09-09 2018-03-16 腾讯科技(深圳)有限公司 Multi-medium data put-on method and device
CN107944918A (en) * 2017-11-27 2018-04-20 精硕科技(北京)股份有限公司 The management method and device that information is launched
CN109325825A (en) * 2018-09-04 2019-02-12 口口相传(北京)网络技术有限公司 The regulation method and device of data on flows
CN109829749A (en) * 2018-12-28 2019-05-31 微梦创科网络科技(中国)有限公司 A kind of advertisement placement method and system
CN110570246A (en) * 2019-09-06 2019-12-13 上海携程商务有限公司 Internet marketing system flow segmentation method, system, equipment and medium
CN110570257A (en) * 2019-09-16 2019-12-13 聚好看科技股份有限公司 multimedia data delivery method, device and computer readable storage medium

Also Published As

Publication number Publication date
CN111340532A (en) 2020-06-26

Similar Documents

Publication Publication Date Title
CN108898421B (en) Advertisement putting method and device and electronic equipment
US20130275232A1 (en) Method and apparatus for providing social interactive video service
CN109615200B (en) Virtual interactive prop issuing method, storage medium, electronic device and system
CN106296247B (en) Network information resource online ordering method and device
CN109428910B (en) Data processing method, device and system
CN108932627B (en) Estimation method and device for consumption speed of CPA (continuous advertisement access) advertisement and readable storage medium
CN111260414A (en) Advertisement inventory prediction method and device
CN111899041A (en) Information delivery processing method, information delivery device, information delivery equipment and storage medium
CN108428161B (en) Method and device for predicting advertising throwing amount and electronic equipment
CN111340532B (en) Data delivery method, device, server and computer readable storage medium
CN112905879B (en) Recommendation method, recommendation device, server and storage medium
CN113822722A (en) Virtual resource distribution control method and device and server
CN111681035B (en) Method and device for estimating liveness of liveness advertisement
KR101736386B1 (en) Method for providing advertisement compensation service based on jackpot according to multi-level
CN103942194B (en) A kind of information delivers the optimization method and device of account
CN107526750B (en) Method and device for determining difference setting effect
CN114201696A (en) Message pushing method and device, storage medium and computer equipment
CN111489182B (en) Method and device for controlling competing resources of information presentation, computer equipment and storage medium
CN111401946A (en) Virtual resource delivery method, device, server and computer readable storage medium
CN114386999A (en) Media file delivery method and device
CN113159509A (en) Order processing method, system, device and storage medium
CN111681036A (en) Method and device for realizing prediction of advertisement liveness
CN110930134A (en) Resource adjusting method and device
CN113065066B (en) Prediction method, prediction device, server and storage medium
CN111917809B (en) Multimedia data pushing method and device

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