معماری

معماری حراج خدمات مناقصه و مزایده را بیاموزید

نمای کلی

خدمات مناقصه و حراج (B&A) مجموعه ای از خدمات را برای خریداران و فروشندگان آگهی ارائه می دهد که در یک محیط اجرای معتمد (TEE) اجرا می شود تا حراج مخاطب محافظت شده (PA) را تسهیل کند. این صفحه پیکربندی‌های مختلف حراجی را که B&A می‌تواند در حراج PA استفاده شود، توضیح می‌دهد.

تعاریف

مدت توضیحات
حراج مخاطب محافظت شده یک حراج تبلیغاتی که شامل داده های بین سایتی است
حراج متنی یک مزایده تبلیغاتی که شامل داده های بین سایتی نمی شود. این حراج از مسیر مزایده موجود در زمان واقعی (RTB) پیروی می کند.
درخواست حراج یکپارچه درخواستی که توسط کد جاوا اسکریپت فروشنده از مرورگر ارسال می‌شود که شامل بار برای حراج مخاطب محافظت‌شده و حراج متنی است.
سرویس تبلیغات فروشنده (SAS) سرویسی که مسئول رسیدگی به درخواست حراج یکپارچه از مرورگر است. این ممکن است سرور تبلیغات RTB موجود فروشنده باشد. SAS مسئول هماهنگی حراج های متنی و حراج مخاطب محافظت شده است.
سرویس آگهی خریدار سرویس مسئول ارائه پیشنهاد مزایده متنی. این ممکن است سرور تبلیغات ORTB موجود خریدار باشد.

خدمات برای خریداران و فروشندگان

خدمات B&A از چهار سرویس برای خریداران و فروشندگان تشکیل شده است:

  • برای خریداران، Bidding Service و Buyer Front-End Service (BFE) برای استفاده در دسترس هستند.
  • برای فروشندگان، خدمات حراج و سرویس جلویی فروشنده (SFE) برای استفاده در دسترس هستند.
شرکت کننده خدمات توضیحات
خریدار سرویس جلویی خریدار (BFE). این سرویس درخواست GetBids از SFE فروشنده را رسیدگی می کند. مسئول رمزگشایی محموله، واکشی سیگنال های K/V و فراخوانی GenerateBids Bidding Service است.
خدمات مناقصه این سرویس درخواست GenerateBids از BFE را مدیریت می کند. مسئولیت اجرای منطق مناقصه خریدار و ایجاد یک پیشنهاد است.
فروشنده سرویس Front-End فروشنده (SFE). این سرویس درخواست SelectAd از سرویس آگهی فروشنده را مدیریت می کند. مسئول رمزگشایی محموله، فراخوانی عملیات GetBids BFE ، واکشی سیگنال های K/V، فراخوانی عملیات ScoreAd Auction Service و سپس بازگرداندن نتیجه حراج رمزگذاری شده B&A به SAS است.

هنگامی که این سرویس بخشی از پشته فروشنده سطح بالا در یک مزایده چند فروشنده هماهنگ شده توسط سرور باشد، این سرویس درخواست GetComponentAuctionCiphertexts از SAS را نیز انجام می دهد.

خدمات حراج این سرویس درخواست ScoreAd از SFE را مدیریت می کند. مسئولیت اجرای منطق امتیازدهی فروشنده و ارائه امتیاز مطلوبیت یک پیشنهاد را بر عهده دارد.

معماری حراج PA B&A برای وب

نمودار زیر حراج اصلی مخاطبین محافظت شده با خدمات B&A را با یک فروشنده و یک خریدار تشریح می کند. کادرهای قرمز رنگ ضخیم نشان دهنده خدماتی هستند که در یک TEE اجرا می شوند:

کد جاوا اسکریپت سمت کلاینت درخواست حراج یکپارچه را به SSP ارسال می کند. SAS درخواستی را به SFE می فرستد و SFE درخواستی را برای پیشنهاد به BFE ارسال می کند

( نمودار در اندازه کامل )

  1. کد جاوا اسکریپت SSP در صفحه ناشر، داده های مزایده تبلیغات B&A رمزگذاری شده را با فراخوانی navigator.getInterestGroupAdAuctionData() تولید می کند.
    • این محموله رمزگذاری شده حاوی داده های خریدار است و فقط می تواند در داخل یک SFE در یک TEE رمزگشایی شود.
  2. کد جاوا اسکریپت SSP یک درخواست حراج یکپارچه را به سرویس آگهی فروشنده ارسال می کند.
    • یک درخواست حراج یکپارچه شامل هر دو متن ساده ORTB مزایده متنی و محموله مزایده B&A رمزگذاری شده است.
    • سرویس آگهی فروشنده سرور تبلیغات موجود شما است و در TEE اجرا نمی شود.
  3. سرویس تبلیغات فروشنده، سرویس RTB DSP را فراخوانی می کند تا پیشنهاد حراج متنی و هرگونه سیگنال خریدار را به حراج PA بعدی ارسال کند.
    • این می تواند مرحله ای باشد که در آن خریدار قصد خود را برای شرکت در حراج PA اعلام می کند.
  4. پس از اتمام حراج متنی، SAS درخواست SelectAd را به سرویس SFE ارسال می کند.
    • سیگنال‌های پیشنهادی برنده حراج متنی و خریدار به بار درخواست SelectAd اضافه می‌شوند.
  5. سرویس SFE SSP سرویس BFE DSP را با درخواست GetBids فراخوانی می کند.
  6. BFE DSP با درخواست GenerateBids سرویس Bidding را فراخوانی می کند.
  7. هنگامی که پیشنهاد توسط SFE دریافت شد، تماس ScoreAd با سرویس مزایده برقرار می شود.
    • پیشنهادی که بالاترین امتیاز مطلوبیت را داشته باشد به SAS برگردانده می شود و سپس به کد جاوا اسکریپت موجود در صفحه ارسال می شود.
  8. حراج در مرورگر با ارسال نتیجه حراج رمزگذاری شده B&A به فراخوانی navigator.runAdAuction() به پایان می رسد.

تنظیمات حراج

حراج مخاطب محافظت شده با خدمات B&A را می توان به روش های زیر پیکربندی کرد:

  • حراج تک فروشنده با خریداران B&A
  • حراج حالت مختلط با خریداران روی دستگاه و خریداران B&A
  • حراج چند فروشنده که می تواند به صورت دستگاهی یا هماهنگ با سرور باشد

شرکت کنندگان

برای توصیف هر پیکربندی حراج، از شرکت کنندگان زیر در این راهنما استفاده می شود:

شرکت کننده توضیحات
DSP-A خریدار روی دستگاه
DSP-B خریدار روی دستگاه
DSP-X خریدار B&A
DSP-Y خریدار B&A
SSP-TOP فروشنده سطح بالا
SSP-OD فروشنده فقط روی دستگاه
SSP-BA فروشنده فقط B&A
SSP-MIX فروشنده حالت مختلط

چهار DSP وجود دارد:

  • DSP-A و DSP-B فقط در مزایده های روی دستگاه شرکت می کنند
  • DSP-X و DSP-Y هم در مزایده های روی دستگاه و هم در حراج های B&A شرکت می کنند

چهار SSP وجود دارد و هر فروشنده پیکربندی حراج متفاوتی را اجرا می کند:

  • SSP-OD یک حراج فقط روی دستگاه را اجرا می کند
  • SSP-BA یک حراج فقط B&A را اجرا می کند
  • SSP-MIX حراج حالت مختلط را اجرا می کند
  • SSP-TOP یک حراج چند فروشنده را اجرا می کند:
    • SSP-OD/BA/MIX به عنوان فروشنده قطعات در حراج چند فروشنده SSP-TOP

حراج B&A تک فروشنده

در راه‌اندازی تک‌فروشنده، یک فروشنده حراجی را اجرا می‌کند که چندین خریدار در آن شرکت می‌کنند. اگر فروشنده در حال اجرای یک حراج B&A باشد، خریداران باید مجموعه خریدار خدمات B&A را اجرا کنند تا پیشنهادی به حراج ارائه کنند. خریداران و فروشندگان نیازی به استفاده از یک ارائه دهنده ابری ندارند.

یک معماری تک فروشنده که در آن یک SFE با چندین BFE برای دریافت پیشنهادات ارتباط برقرار می کند

( نمودار در اندازه کامل )

در تنظیم قبلی، SSP-BA یک حراج B&A را اجرا می کند که DSP-X و DSP-Y با استفاده از پشته خریدار خدمات B&A در آن شرکت می کنند. سرویس آگهی فروشنده ابتدا یک حراج متنی برای DSP-X و DSP-Y اجرا می کند، سپس با ارسال درخواست SelectAd به سرویس SFE فروشنده، حراج مخاطب محافظت شده را اجرا می کند. پیشنهاد برنده حراج متنی و سیگنال های هر خریدار به فراخوان SelectAd منتقل می شود. سپس سرویس SFE درخواست‌های GetBids را به DSP-X و BFE DSP-Y می‌فرستد که با Bidding Service خود تماس می‌گیرند تا پیشنهاد ارائه کنند.

نتیجه مزایده B&A رمزگذاری شده به مشتری برگردانده می شود و به فراخوانی runAdAuction() ارسال می شود. پیکربندی حراج تک فروشنده به شکل زیر است:

await navigator.runAdAuction({
  seller: 'https://ssp-ba.example',
  requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
  serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
})

مقدار requestId از فراخوانی getInterestGroupAdAuctionData() روی کلاینت می آید و داده serverResponse از حراج B&A سمت سرور می آید.

حراج حالت مختلط

در پیکربندی حالت مختلط، خریداران می توانند از روی دستگاه یا B&A در حراج فروشنده شرکت کنند. فلش های آبی نشان دهنده مسیر حراج در دستگاه و فلش های قرمز نشان دهنده مسیر حراج B&A هستند:

معماری فروشنده با حالت ترکیبی که در آن خریداران می‌توانند پیشنهادات خود را از روی دستگاه یا B&A ارسال کنند

( نمودار در اندازه کامل )

در این تنظیمات، DSP-A و DSP-B خریدارانی هستند که پیشنهادات خود را روی دستگاه ارسال می کنند و DSP-X و DSP-Y خریدارانی هستند که پیشنهادات خود را با استفاده از B&A ارسال می کنند. خریداران روی دستگاه در یک حراج PA روی دستگاه در مرورگر شرکت می کنند و خریداران B&A در تنظیم حراج B&A که در بخش حراج تک فروشنده توضیح داده شده است شرکت می کنند.

حراج متنی ابتدا برای همه خریداران به منظور جمع آوری پیشنهاد برنده حراج متنی و سیگنال های خریدار اجرا می شود. سپس، حراج B&A اجرا می‌شود و سیگنال‌های خریدار از حراج متنی به درخواست SelectAd به SFE ارسال می‌شود. نتیجه حراج رمزگذاری شده B&A که از SFE بازگردانده شده است به مرورگر ارسال می شود. پس از حراج B&A، نتیجه آن به حراج روی دستگاهی که خریداران روی دستگاه در آن شرکت می کنند، وارد می شود.

یک پیکربندی حراج تک فروشنده در حالت مختلط برای بخش روی دستگاه حراج شبیه به موارد زیر است:

await navigator.runAdAuction({
  seller: 'https://ssp-mix.example',
  decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
  componentAuctions: [
    // B&A auction
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 14, ]
    },
    // On-device auction
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
    }
  ]
})

موازی سازی مزایده های روی دستگاه و B&A

بدون موازی سازی، حراج ها به صورت متوالی در جایی که حراج متنی اجرا می شود، سپس حراج B&A و در نهایت حراج روی دستگاه اجرا می شود. با اجرای موازی‌سازی، حراج متنی ابتدا دوباره اجرا می‌شود، اما نتیجه و سیگنال‌های آن به مشتری بازگردانده می‌شود تا قبل از پایان حراج B&A، حراج روی دستگاه را به‌طور موازی شروع کند.

نموداری که توضیح می دهد چگونه پیشنهاد حراج متنی و سیگنال ها و نتیجه SelectAd به کد جاوا اسکریپت مرورگر بازگردانده می شوند.

( نمودار در اندازه کامل )

کد جاوا اسکریپت در مشتری درخواست حراج یکپارچه را به SAS ارسال می کند و SAS حراج متنی و حراج PA B&A را شروع می کند. هنگامی که SAS پاسخی را از سرور RTB خریدار دریافت می‌کند، سیگنال‌های خریدار برای حراج روی دستگاه را می‌توان به مرورگر همراه با برنده حراج متنی پس از دریافت همه پیشنهادها، به جریان برگشت. سیگنال‌های خریدار جریانی برای تولید یک پیشنهاد در دستگاه استفاده می‌شود و برنده حراج متنی به‌عنوان کف قیمت در هنگام امتیازدهی به قیمت‌ها استفاده می‌شود.

در SAS، فروشنده یک nonce UUID ایجاد می کند که در سرصفحه پاسخ Ad-Auction-Result-Nonce هنگام پخش داده های حراج متنی به مرورگر تنظیم می شود. همان nonce در تماس SelectAd به SFE برای حراج B&A استفاده می‌شود و آن nonce در پاسخ SelectAd برگشتی از SFE لحاظ می‌شود. در طول مرحله حراج سمت مشتری، مرورگر تأیید می‌کند که nonce در سرصفحه پاسخ Ad-Auction-Result-Nonce با nonce موجود در بار نتیجه حراج رمزگذاری‌شده مطابقت دارد.

برای کسب اطلاعات بیشتر در مورد موازی سازی حالت مختلط به توضیح دهنده مراجعه کنید.

حراج چند فروشنده

دو راه برای اجرای حراج چند فروشنده PA با B&A وجود دارد:

  1. حراج هماهنگ شده با دستگاه که در آن تماس با سرویس تبلیغاتی فروشنده هر جزء از مرورگر منشا می گیرد.
  2. حراج هماهنگ شده توسط سرور که در آن تماس با سرویس تبلیغاتی فروشنده هر جزء از سرویس تبلیغاتی فروشنده سطح بالا منشا می گیرد.

حراج چند فروشنده با هماهنگی دستگاه

در یک حراج چند فروشنده هماهنگ شده توسط دستگاه، هر فروشنده جزء مختار است حراج خود را با پیکربندی دلخواه خود اجرا کند. فروشندگان روی دستگاه، فروشندگان B&A، و فروشندگان حالت مختلط همگی می توانند در حراج سطح بالا شرکت کنند.

نموداری که توضیح می دهد چگونه چندین فروشنده که پیکربندی های مختلف حراج را اجرا می کنند می توانند نتیجه حراج خود را به فروشنده سطح بالا ارسال کنند.

( نمودار در اندازه کامل )

در این راه‌اندازی، SSP-TOP که فروشنده سطح بالایی است، یک حراج چند فروشنده را اجرا می‌کند که SSP-OD ، SSP-BA و SSP-MIX در آن شرکت می‌کنند:

  • SSP-OD ، که یک حراج PA فقط روی دستگاه را اجرا می کند، پیکربندی حراج مؤلفه روی دستگاه خود را به فروشنده سطح بالا ارسال می کند.
  • SSP-BA که یک حراج B&A را اجرا می کند، یک درخواست حراج یکپارچه را به سرویس آگهی فروشنده خود ارسال می کند و حراج های متنی و B&A خود را اجرا می کند. نتایج به فروشنده سطح بالا ارسال می شود.
  • SSP-MIX ، که حراجی با حالت مختلط را اجرا می‌کند، حراج B&A را ابتدا روی سرور اجرا می‌کند، سپس هم نتیجه حراج B&A و هم پیکربندی حراج روی دستگاه را ارسال می‌کند.

فروشنده سطح بالا پیکربندی های حراج مؤلفه را از هر فروشنده جمع آوری می کند و یک پیکربندی حراج می سازد که شبیه به زیر است:

await navigator.runAdAuction({
  seller: 'https://ssp-top.example',
  decisionLogicURL: 'https://ssp-top.example/score-ad.js',
  componentAuctions: [
    // SSP-BA's B&A-only auction
    {
      seller: 'https://ssp-ba.example',
      requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
    },
    // SSP-MIX's B&A auction of mixed-mode
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 4, ] // Encrypted B&A auction result
    }.
    // SSP-MIX's on-device auction of mixed-mode
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/score-ad.js',
    }
    // SSP-OD's on-device auction
    {
      seller: 'https://ssp-od.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-od.example/score-ad.js',
    }
  ]
})

حراج چند فروشنده با هماهنگی سرور

در یک مزایده چند فروشنده هماهنگ شده توسط سرور، تماس‌ها با خدمات تبلیغاتی فروشنده جزء از سرویس تبلیغاتی فروشنده سطح بالا انجام می‌شود. در این راه‌اندازی، فروشندگان قطعات نمی‌توانند حراج روی دستگاه یا حالت مختلط را اجرا کنند. همه فروشندگان باید از B&A استفاده کنند و همه خریداران باید پیشنهادات خود را با استفاده از B&A ارسال کنند.

SSP سطح بالا یک درخواست حراج یکپارچه را به سرویس آگهی فروشنده خود ارسال می کند. سرویس تبلیغات فروشنده با SFE تماس می گیرد تا عملیات GetComponentAuctionCipherTexts را اجرا کند. سپس متون رمزی بازگردانده شده به سرویس تبلیغاتی فروشنده اجزایی که حراج های B&A خود را انجام می دهد ارسال می شود.

( نمودار در اندازه کامل )

در این نمودار، SSP-TOP یک مزایده چند فروشنده هماهنگ شده توسط سرور را اجرا می کند که SSP-BA-X و SSP-BA-Y در آن شرکت می کنند.

یک درخواست حراج یکپارچه که حاوی بار مزایده‌های متنی و PA برای همه شرکت‌کنندگان است از مرورگر به سرویس آگهی فروشنده سطح بالا ارسال می‌شود. سپس SAS یک تماس GetComponentAuctionCiphertexts با SFE با بار ارسال می کند. SFE محموله را رمزگشایی می کند، محموله ها را توسط هر فروشنده جزء جدا می کند و بارهای رمزگذاری شده مجدد را به SAS فروشنده سطح بالا باز می گرداند.

تعاریف اولیه برای درخواست و پاسخ GetComponentAuctionCiphertexts به شرح زیر است:

// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
  bytes protected_auction_ciphertext = 1; // Generated in the browser
  repeated string component_sellers = 2; // The list of all component sellers
}

// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
  // A map of component sellers and their re-encrypted payloads
  map<string, bytes> seller_component_ciphertexts = 1;
}

با محموله هر قطعه فروشنده، SAS فروشنده سطح بالا، SAS فروشندگان کامپوننت را فراخوانی می کند، و هر SAS جزء، حراج B&A جزء خود را اجرا می کند. سپس، نتایج حراج قطعات به SFE فروشنده سطح بالا بازگردانده می شود و پیشنهادات حراج قطعات توسط سرویس حراج فروشنده سطح بالا امتیازدهی می شود. پیشنهادی که بالاترین امتیاز مطلوبیت را داشته باشد به SFE بازگردانده می شود و آن محموله رمزگذاری شده به SAS ارسال می شود تا به مشتری بازگردانده شود. در مرورگر، فروشنده سطح بالا با فراخوانی navigator.runAdAuction() و ارائه محموله نتیجه حراج سرور رمزگذاری شده، حراج را به پایان می رساند.

مراحل بعدی

پس از مطالعه این راهنما، می توانید مراحل زیر را انجام دهید:

بیشتر بدانید

سوالی دارید؟