PFP:ParallelFP-GrowthforQueryRecommendationHaoyuanLiGoogleBeijingResearch,Beijing,100084,ChinaYiWangGoogleBeijingResearch,Beijing,100084,ChinaDongZhangGoogleBeijingResearch,Beijing,100084,ChinaMingZhangDept.
ComputerScience,PekingUniversity,Beijing,100071,ChinaEdwardChangGoogleResearch,MountainView,CA94043,USAABSTRACTFrequentitemsetmining(FIM)isausefultoolfordiscov-eringfrequentlyco-occurrentitems.
Sinceitsinception,anumberofsignicantFIMalgorithmshavebeendevelopedtospeedupminingperformance.
Unfortunately,whenthedatasetsizeishuge,boththememoryuseandcomputa-tionalcostcanstillbeprohibitivelyexpensive.
Inthiswork,weproposetoparallelizetheFP-Growthalgorithm(wecallourparallelalgorithmPFP)ondistributedmachines.
PFPpartitionscomputationinsuchawaythateachmachineexecutesanindependentgroupofminingtasks.
Suchparti-tioningeliminatescomputationaldependenciesbetweenma-chines,andtherebycommunicationbetweenthem.
Throughempiricalstudyonalargedatasetof802,939Webpagesand1,021,107tags,wedemonstratethatPFPcanachievevirtu-allylinearspeedup.
Besidesscalability,theempiricalstudydemonstratesthatPFPtobepromisingforsupportingqueryrecommendationforsearchengines.
CategoriesandSubjectDescriptorsH.
3[InformationStorageandRetrieval];H.
4[InformationSystemsApplications]GeneralTermsAlgorithms,Experimentation,HumanFactors,PerformanceKeywordsParallelFP-Growth,DataMining,FrequentItemsetMining1.
INTRODUCTIONInthispaper,weattacktwoproblems.
First,wepar-allelizefrequentitemsetmining(FIM)soastodealwithlarge-scaledata-miningproblems.
Second,weapplyourde-Permissiontomakedigitalorhardcopiesofallorpartofthisworkforpersonalorclassroomuseisgrantedwithoutfeeprovidedthatcopiesarenotmadeordistributedforprotorcommercialadvantageandthatcopiesbearthisnoticeandthefullcitationontherstpage.
Tocopyotherwise,torepublish,topostonserversortoredistributetolists,requirespriorspecicpermissionand/orafee.
ACMRSCopyright200XACMX-XXXXX-XX-X/XX/XX.
.
.
$5.
00.
velopedparallelalgorithmonWebdatatosupportqueryrecommendation(orrelatedsearch).
FIMisausefultoolfordiscoveringfrequentlyco-occurrentitems.
ExistingFIMalgorithmssuchasApriori[9]andFP-Growth[6]canberesourceintensivewhenamineddatasetishuge.
Parallelalgorithmsweredevelopedforreducingmem-oryuseandcomputationalcostoneachmachine.
Earlyeorts(relatedworkispresentedingreaterdetailinSec-tion1.
1)focusedonspeedinguptheApriorialgorithm.
SincetheFP-GrowthalgorithmhasbeenshowntorunmuchfasterthantheApriori,itislogicaltoparallelizetheFP-Growthalgorithmtoenjoyevenfasterspeedup.
RecentworkinparallelizingFP-Growth[10,8]suersfromhighcommuni-cationcost,andhenceconstrainsthepercentageofcompu-tationthatcanbeparallelized.
Inthispaper,weproposeaMapReduceapproach[4]ofparallelFP-Growthalgorithm(wecallourproposedalgorithmPFP),whichintelligentlyshardsalarge-scaleminingtaskintoindependentcompu-tationaltasksandmapsthemontoMapReducejobs.
PFPcanachievenear-linearspeedupwithcapabilityofrestartingfromcomputerfailures.
Theresourceproblemoflarge-scaleFIMcouldbeworkedaroundinaclassicmarket-basketsettingbypruningoutitemsoflowsupport.
Thisisbecauselow-supportitemsetsareusuallyoflittlepracticalvalue,e.
g.
,amerchandisewithlowsupport(oflowconsumerinterest)cannothelpdriveuprevenue.
However,intheWebsearchsetting,thehugenumberoflow-supportqueries,orlong-tailqueries[2],eachmustbemaintainedwithhighsearchquality.
Theimpor-tanceoflow-supportfrequentitemsetsinsearchapplicationsrequiresFIMtoconfrontitsresourcebottleneckshead-on.
Inparticular,thispapershowsthatapost-searchrecom-mendationtoolcalledrelatedsearchcanbenetagreatdealfromourscalableFIMsolution.
Relatedsearchprovidesrelatedqueriestotheuserafteraninitialsearchhasbeencompleted.
Forinstance,aqueryof'apple'maysuggest'orange','iPod'and'iPhone'asalternatequeries.
Relatedsearchcanalsosuggestrelatedsitesofagivensite(seeex-ampleinSection3.
2).
1.
1RelatedWorkSomepreviouseorts[10][7]parallelizedtheFP-Growthalgorithmacrossmultiplethreadsbutwithsharedmemory.
However,toourproblemofprocessinghugedatabases,theseapproachesdonotaddressthebottleneckofhugememoryrequirement.
Figure1:AsimpleexampleofdistributedFP-Growth.
Todistributebothdataandcomputationacrossmultiplecomputers,Pramudionoetal[8]designedadistributedvari-antoftheFP-growthalgorithm,whichrunsoveraclusterofcomputers.
Someveryrecentwork[5][1][3]proposedsolutionstomoredetailedissues,includingcommunicationcost,cacheconsciousness,memory&I/Outilization,anddataplacementstrategies.
TheseapproachesachievegoodscalabilityondozenstohundredsofcomputersusingtheMPIprogrammingmodel.
However,tofurtherimprovethescalabilitytothousandsorevenmorecomputers,wehavetofurtherreducecom-municationoverheadsbetweencomputersandsupportau-tomaticfaultrecovery.
Inparticular,faultrecoverybecomesacriticalprobleminamassivecomputingenvironment,be-causetheprobabilitythatnoneofthethousandsofcomput-erscrashesduringexecutionofataskisclosetozero.
Thedemandsofsustainablespeedupandfaulttolerancerequirehighlyconstrainedandecientcommunicationprotocols.
Inthispaper,weshowthatourproposedsolutionisabletoaddresstheissuesofmemoryuse,faulttolerance,inadditiontomoreeectivelyparallelizingcomputation.
1.
2ContributionSummaryInsummary,thecontributionsofthispaperareasfollows:1.
WeproposePFP,whichshardsalarge-scaleminingtaskintoindependent,paralleltasks.
PPFthenusestheMapReducemodeltotakeadvantageofitsrecov-erymodel.
EmpiricalstudyshowsthatPFPachievesnear-linearspeedup.
2.
Withthescalabilityofouralgorithm,weareabletomineatag/Webpageatlasfromdel.
icio.
us,aWeb2.
0applicationthatallowsuserstaggingWebpagestheyhavebrowsed.
Ittakes2,500computersonly24minutestominetheatlasconsistingof46,000,000patternsfromasetof802,939URLsand1,021,107tags.
TheminedtagitemsetsandWebpageitemsetsarereadilytosupportqueryrecommendationorrelatedsearch.
2.
PFP:PARALLELFP-GROWTHTomakethispaperself-contained,werstrestatetheproblemofFIM.
WethendeneparametersusedinPF-Growth,anddepictthealgorithm.
StartinginSection2.
2,wepresentourparallelFP-Growthalgorithm,orPFP.
LetI={a1,a2,am}beasetofitems,andatrans-actiondatabaseDBisasetofsubsetsofI,denotedbyDB={T1,T2,Tn},whereeachTiI(1≤i≤n)issaidatransaction.
ThesupportofapatternAI,denotedbysupp(A),isthenumberoftransactionscontainingAinDB.
Aisafrequentpatternifandonlysupp(A)≥ξ,whereξisapredenedminimumsupportthreshold.
GivenDBandξ,theproblemofndingthecompletesetoffrequentpatternsiscalledthefrequentitemsetminingproblem.
2.
1FP-GrowthAlgorithmFP-Growthworksinadivideandconquerway.
Itrequirestwoscansonthedatabase.
FP-Growthrstcomputesalistoffrequentitemssortedbyfrequencyindescendingorder(F-List)duringitsrstdatabasescan.
Initssecondscan,thedatabaseiscompressedintoaFP-tree.
ThenFP-GrowthstartstominetheFP-treeforeachitemwhosesupportislargerthanξbyrecursivelybuildingitsconditionalFP-tree.
ThealgorithmperformsminingrecursivelyonFP-tree.
Theproblemofndingfrequentitemsetsisconvertedtosearch-ingandconstructingtreesrecursively.
Figure1showsasimpleexample.
TheexampleDBhasvetransactionscomposedoflower-casealphabets.
TherststepthatFP-Growthperformsistosortitemsintransac-tionswithinfrequentitemsremoved.
Inthisexample,wesetξ=3andhencekeepalphabetsf,c,a,b,m,p.
Afterthisstep,forexample,T1(therstrowinthegure)isprunedfrom{f,a,c,d,g,i,m,p}to{f,c,a,m,p}.
FP-Growththencompressesthese"pruned"transactionsintoaprextree,whichrootisthemostfrequentitemf.
Eachpathonthetreerepresentsasetoftransactionsthatsharethesameprex;eachnodecorrespondstooneitem.
Eachlevelofthetreecorrespondstooneitem,andanitemlistisformedtolinkalltransactionsthatpossessthatitem.
TheFP-treeisaProcedure:FPGrowth(DB,ξ)DeneandclearF-List:F[];foreachTransactionTiinDBdoforeachItemajinTidoF[ai]++;endendSortF[];DeneandcleartherootofFP-tree:r;foreachTransactionTiinDBdoMakeTiorderedaccordingtoF;CallConstructTree(Ti,r);endforeachitemaiinIdoCallGrowth(r,ai,ξ);endAlgorithm1:FP-GrowthAlgorithmcompressedrepresentationofthetransactions,anditalsoal-lowsquickaccesstoalltransactionsthatshareagivenitem.
Oncethetreehasbeenconstructed,thesubsequentpatternminingcanbeperformed.
However,acompactrepresenta-tiondoesnotreducethepotentialcombinatorialnumberofcandidatepatterns,whichisthebottleneckofFP-Growth.
Algorithm1presentsthepseudocodeofFP-Growth[6].
WecanestimatethetimecomplexityofcomputingF-ListtobeO(DBSize)usingahashingscheme.
However,thecomputationalcostofprocedureGrowth()(thedetailisshowninAlgorithm2)isatleastpolynomial.
TheprocedureFPGrowth()callstherecursiveprocedureGrowth(),wheremultipleconditionalFP-treesaremaintainedinmemoryandhencethebottleneckoftheFP-Growthalgorithm.
FP-Growthfacesthefollowingresourcechallenges:1.
Storage.
ForhugeDB's,thecorrespondingFP-treeisalsohugeandcannottinmainmemory(orevendisks).
ItisthusnecessarytogeneratesomesmallDBstorepresentthecompleteone.
Asaresult,eachnewsmallDBcantintomemoryandgenerateitslocalFP-tree.
2.
Computationdistribution.
AllstepsofFP-Growthcanbeparallelized,andespeciallytherecursivecallstoGrowth().
3.
Costlycommunication.
PreviousparallelFP-GrowthalgorithmspartitionDBintogroupsofsuccessivetrans-actions.
DistributedFP-treescanbeinter-dependent,andhencecanincurfrequentsynchronizationbetweenparallelthreadsofexecution.
4.
Supportvalue.
ThesupportthresholdvalueξplaysanimportantroleinFP-Growth.
Thelargertheξ,thefewerresultpatternsarereturnedandthelowerthecostofcomputationandstorage.
Usually,foralargescaleDB,ξhastobesetlargeenough,ortheFP-treewouldoverowthestorage.
ForWebminingtasks,wetypicallysetξtobeverylowtoobtainlong-tailitemsets.
Thislowsettingmayrequireunacceptablecomputationaltime.
Procedure:Growth(r,a,ξ)ifrcontainsasinglepathZthenforeachcombination(denotedasγ)ofthenodesinZdoGeneratepatternβ=γ∪awithsupport=minimumsupportofnodesinγ;ifβ.
support>ξthenCallOutput(β);endendelseforeachbiinrdoGeneratepatternβ=bi∪awithsupport=bi.
support;ifβ.
support>ξthenCallOutput(β);endConstructβsconditionaldatabase;ConstructβsconditionalFP-treeTreeβ;ifTreeβ=φthenCallGrowth(Treeβ,β,ξ);endendendAlgorithm2:TheFP-GrowthAlgorithm.
Figure2:TheoverallPFPframework,showingvestagesofcomputation.
2.
2PFPOutlineGivenatransactiondatabaseDB,PFPusesthreeMapRe-duce[4]phasestoparallelizePF-Growth.
Figure2depictsthevestepsofPFP.
Step1:Sharding:DividingDBintosuccessivepartsandstoringthepartsonPdierentcomputers.
Suchdi-visionanddistributionofdataiscalledsharding,andeachpartiscalledashard1.
Step2:ParallelCounting(Section2.
3):DoingaMapRe-ducepasstocountthesupportvaluesofallitemsthatappearinDB.
EachmapperinputsoneshardofDB.
Thisstepimplicitlydiscoverstheitems'vocabularyI,whichisusuallyunknownforahugeDB.
TheresultisstoredinF-list.
Step3:GroupingItems:Dividingallthe|I|itemsonF-ListintoQgroups.
Thelistofgroupsiscalledgrouplist(G-list),whereeachgroupisgivenauniquegroup-id(gid).
AsF-listandG-listarebothsmallandthetimecomplexityisO(|I|),thisstepcancompleteonasinglecomputerinfewseconds.
Step4:ParallelFP-Growth(Section2.
4):ThekeystepofPFP.
ThissteptakesoneMapReducepass,wherethemapstageandreducestageperformdierentimpor-tantfunctions:Mapper–Generatinggroup-dependenttransactions:EachmapperinstanceisfedwithashardofDBgeneratedinStep1.
Beforeitprocessestransactionsintheshardonebyone,itreadstheG-list.
Withthemapperalgo-rithmdetailedinSection2.
4,itoutputsoneormorekey-valuepairs,whereeachkeyisagroup-idanditscorrespondingvalueisageneratedgroup-dependenttransaction.
Reducer–FP-Growthongroup-dependentshards:Whenallmapperinstanceshavenishedtheirwork,foreachgroup-id,theMapReduceinfrastructureautomaticallygroupsallcorrespondinggroup-dependenttransactionsintoashardofgroup-dependenttransactions.
Eachreducerinstanceisassignedtoprocessoneormoregroup-dependentshardonebyone.
Foreachshard,thereducerinstancebuildsalocalFP-treeandgrowthitsconditionalFP-treesrecursively.
Duringtherecursiveprocess,itmayoutputdiscoveredpatterns.
Step5:Aggregating(Section2.
5):AggregatingtheresultsgeneratedinStep4asournalresult.
AlgorithmsofthemapperandreduceraredescribedindetailinSection2.
5.
2.
3ParallelCountingCountingisaclassicalapplicationofMapReduce.
Be-causethemapperisfedwithshardsofDB,itsinputkey-valuepairwouldbelikekey,value=Ti,whereTiDBisatransaction.
Foreachitem,sayaj∈Ti,themapperoutputsakey-valuepairkey=aj,value=1.
Afterallmapperinstanceshavenished,foreachkeygeneratedbythemappers,theMapReduceinfrastructurecollectsthesetofcorrespondingvalues(hereitisasetof1MapReduceprovidesconvenientsoftwaretoolsforshard-ing.
Procedure:Mapper(key,value=Ti)foreachitemaiinTidoCallOutput(ai,1);endProcedure:Reducer(key=ai,value=S(ai))C←0;foreachitem1inTidoC←C+1;endCallOutput(null,ai+C);Algorithm3:TheParallelCountingAlgorithm1's),sayS(key),andfeedthereducerswithkey-valuepairskey,S(key).
Thereducerthussimplyoutputskey=null,value=key+sum(S(key)).
Itisnotdiculttoseethatkeyisanitemandvalueissupp(key).
Algorithm3presentsthepseudocodeofthersttwosteps:shardingandparallelcounting.
ThespacecomplexityofthisalgorithmisO(DBSize/P)andthetimecomplexityisO(DBSize/P).
2.
4ParallelFP-GrowthThisstepisthekeyinourPFPalgorithm.
OursolutionistoconverttransactionsinDBintosomenewdatabasesofgroup-dependenttransactionssothatlocalFP-treesbuiltfromdierentgroup-dependenttransactionsareindependentduringtherecursiveconditionalFP-treeconstructingpro-cess.
WedividethisstepintoMapperpartandReducerpartindetails.
Algorithm4presentsthepseudocodeofstep4,Paral-lelFP-Growth.
ThespacecomplexityofthisalgorithmisO(Max(NewDBSize))foreachmachine.
2.
4.
1GeneratingTransactionsforGroup-dependentDatabasesWheneachmapperinstancestarts,itloadstheG-listgen-eratedinStep3.
NotethatG-listisusuallysmallandcanbeheldinmemory.
Inparticular,themapperreadsandorganizesG-listasahashmap,whichmapseachitemontoitscorrespondinggroup-id.
Becauseinthisstep,amapperinstanceisalsofedwithashardofDB,theinputpairshouldbeintheformofkey,value=Ti.
ForeachTi,themapperperformsthefollowingtwosteps:1.
Foreachitemaj∈Ti,substituteajbycorrespondinggroup-id.
2.
Foreachgroup-id,saygid,ifitappearsinTi,locateitsright-mostappearance,sayL,andoutputakey-valuepairkey=gid,value={Ti[1].
.
.
Ti[L]}.
Afterallmapperinstanceshavecompleted,foreachdis-tinctvalueofkey,theMapReduceinfrastructurecollectscorrespondinggroup-dependenttransactionsasvaluevalue,andfeedreducersbykey-valuepairkey=key,value.
Herevalueisagroupofgroup-dependenttransactionscor-respondingtothesamegroup-id,andissaidagroup-dependentshard.
Notably,thisalgorithmmakesuseofaconceptintroducedin[6],patternendingat.
.
.
,toensurethatifagroup,forexample{a,c}or{b,e},isapattern,thissupportofthisProcedure:Mapper(key,value=Ti)LoadG-List;GenerateHashTableHfromG-List;a[]←Split(Ti);forj=|Ti|1to0doHashNum←getHashNum(H,a[j]);ifHashNum=NullthenDeleteallpairswhichhashvalueisHashNuminH;CallOutput(HashNum,a[0]+a[1]a[j]);endendProcedure:Reducer(key=gid,value=DBgid)LoadG-List;nowGroup←G-Listgid;LocalFPtree←clear;foreachTiinDB(gid)doCallinsertbuildfptree(LocalFPtree,Ti);endforeachaiinnowGroupdoDeneandclearasizeKmaxheap:HP;CallTopKFPGrowth(LocalFPtree,ai,HP);foreachviinHPdoCallOutput(null,vi+supp(vi));endendAlgorithm4:TheParallelFP-GrowthAlgorithmpatterncanbecountedonlywithinthegroup-dependentshardwithkey=gid,butdoesnotrelyonanyothershards.
2.
4.
2FP-GrowthonGroup-dependentShardsInthisstep,eachreducerinstancereadsandprocessespairsintheformofkey=gid,value=DB(gid)onebyone,whereeachDB(gid)isagroup-dependentshard.
ForeachDB(gid),thereducerconstructsthelocalFP-treeandrecursivelybuildsitsconditionalsub-treessimilartothetraditionalFP-Growthalgorithm.
Duringthisrecursiveprocess,itoutputsfoundpatterns.
TheonlydierencefromtraditionalFP-Growthalgorithmisthat,thepatternsarenotoutputdirectly,butintoamax-heapindexedbythesupportvalueofthefoundpattern.
So,foreachDB(gid),thereducermaintainsKmostlysupportedpatterns,whereKisthesizeofthemax-heapHP.
AfterthelocalrecursiveFP-Growthprocess,thereduceroutputseverypattern,v,inthemax-heapaspairsintheformofkey=null,value=v+supp(v)2.
5AggregatingTheaggregatingstepreadsfromtheoutputfromStep4.
Foreachitem,itoutputscorrespondingtop-Kmostlysup-portedpatterns.
Inparticular,themapperisfedwithpairsintheformofkey=null,value=v+supp(v).
Foreachaj∈v,itoutputsapairkey=aj,value=v+supp(v).
BecauseoftheautomaticcollectionfunctionoftheMapRe-duceinfrastructure,thereducerisfedwithpairsintheformofkey=aj,value=V(aj),whereV(aj)denotesthesetoftransitionsincludingitemaj.
ThereducerjustselectsfromS(aj)thetop-Kmostlysupportedpatternsandout-putsthem.
Procedure:Mapper(key,value=v+supp(v))foreachitemaiinvdoCallOutput(ai,v+supp(v));endProcedure:Reducer(key=ai,value=S(v+supp(v)))DeneandclearasizeKmaxheap:HP;foreachpatternvinv+supp(v)doif|HP|www.
baidu.
jp,andwww.
namaan.
net)arerelatedtoWebsearchenginesusedinJapan.
Figure7:Java-basedMiningUIdistributedenvironment.
InICPADS,2006.
[6]JiaweiHan,JianPei,andYiwenYin.
Miningfrequentpatternswithoutcandidategeneration.
InSIGMOD,2000.
[7]LiLiu,EricLi,YiminZhang,andZhizhongTang.
Optimizationoffrequentitemsetminingonmultiple-coreprocessor.
InVLDB,2007.
[8]IkoPramudionoandMasaruKitsuregawa.
Parallelfp-growthonpccluster.
InPAKDD,2003.
[9]AgrawalRakeshandRamakrishnanSrikant.
Fastalgorithmsforminingassociationrules.
InProc.
20thInt.
Conf.
VeryLargeDataBases,VLDB,1994.
[10]OsmarR.
Za¨ane,MohammadEl-Hajj,andPaulLu.
Fastparallelassociationruleminingwithoutcandidacygeneration.
InICDM,2001.
WebpagesDescriptionSupportwww.
openmoko.
orgCellphonesoftware2607www.
grandcentral.
comdownloadrelatedwebwww.
zyb.
comsites.
www.
simpy.
comFoursocial242www.
furl.
netbookmarkingserviceswww.
connotea.
orgwebsites,includingdel.
icio.
usdel.
ici.
os.
Thelastwww.
masternewmedia.
org/neoneisanarticleitws/2006/12/01/socialbookmdiscussthis.
arkingservicesandtools.
htmwww.
troovy.
comFiveonlinemaps.
240www.
agr.
comhttp://outside.
inwww.
wayfaring.
comhttp://ickrvision.
commail.
google.
com/mailWebsitesrelatedto204www.
google.
com/igGMailservice.
gdisk.
sourceforge.
netwww.
netvibes.
comwww.
trovando.
itSixfancysearch151www.
kartoo.
comengines.
www.
snap.
comwww.
clusty.
comwww.
aldaily.
comwww.
quintura.
comwwwl.
meebo.
comIntegratedinstant112www.
ebuddy.
commessagesoftwarewww.
plugoo.
comwebsites.
www.
easyhotel.
comTravelingagencyweb109www.
hostelz.
comsites.
www.
couchsurng.
comwww.
tripadvisor.
comwww.
kayak.
comwww.
easyjet.
com/it/prenotaItaliantraveling98www.
ryanair.
com/site/ITagencywebsites.
www.
edreams.
itwww.
expedia.
itwww.
volagratis.
com/vg1www.
skyscanner.
netwww.
google.
com/codesearchThreecodesearchweb98www.
koders.
comsitesandtwoarticleswww.
bigbold.
com/snippetstalkingaboutcodewww.
gotapi.
comsearch.
0xcc.
net/blog/archives/000043.
htmlwww.
google.
co.
jpFourJapaneseweb36www.
livedoor.
comsearchengines.
www.
baidu.
jpwww.
namaan.
netwww.
operator11.
comTV,mediastreaming34www.
joost.
comrelatedwebsites.
www.
keepvid.
comwww.
getdemocracy.
comwww.
masternewmedia.
orgwww.
technorati.
comFromthesewebsites,17www.
listible.
comyoucangetrelevantwww.
popurls.
comresourcequickly.
www.
trobar.
org/prosodyAllwebsitesare9librarianchick.
pbwiki.
comaboutliterature.
www.
quotationspage.
comwww.
visuwords.
comFigure5:Examplesofminingtag-tagsandwebpage-webpagesrelationships.
春节期间我们很多朋友都在忙着吃好喝好,当然有时候也会偶然的上网看看。对于我们站长用户来说,基本上需要等到初八之后才会开工,现在有空就看看是否有商家的促销。这里看到来自HMBcloud半月湾服务商有提供两款春节机房方案的VPS主机88折促销活动,分别是来自洛杉矶CN2 GIA和日本CN2的方案。八八折优惠码:CNY-GIA第一、洛杉矶CN2 GIA美国原生IP地址、72小时退款保障、三网回程CN2 ...
BuyVM商家属于比较老牌的服务商,早年有提供低价年付便宜VPS主机还记得曾经半夜的时候抢购的。但是由于这个商家风控非常严格,即便是有些是正常的操作也会导致被封账户,所以后来陆续无人去理睬,估计被我们风控的抢购低价VPS主机已经手足无措。这两年商家重新调整,而且风控也比较规范,比如才入手他们新上线的流媒体优化VPS主机也没有不适的提示。目前,BuyVM商家有提供新泽西、迈阿密等四个机房的VPS主机...
整理一下CloudCone商家之前推送的闪购VPS云服务器产品,数量有限,活动推出可能很快机器就售罄了,有需要美国便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开发的主机系统面板,CloudCone主要销售美国洛杉矶云服务器产品,优势特点是...
www.baidu.jp为你推荐
支持ipad支持ipad您的iphone重庆宽带测速重庆联通宽带测速的网址是好多呢?windows键是哪个windows 快捷键 大全勒索病毒win7补丁我的电脑是windows7系统,为什么打不了针对勒索病毒的补丁(杀毒软件显127.0.0.1传奇服务器非法网关连接: 127.0.0.1firefoxflash插件火狐浏览器adobe flash player装了不能用ios5.1.1完美越狱有必要把我的IPAD1从已经越狱的4.2升到5.1.1吗?苹果5.1.1越狱iphone5.1.1越狱老是越狱失败,说要抹掉数据,怎么抹掉数据不懂,接下来该怎么弄 求大神指教
提供香港vps 外贸主机 omnis 优惠码 香港托管 512m 免费网络电视 域名接入 789电视剧 网购分享 我的世界服务器ip 工信部网站备案查询 阿里云邮箱登陆地址 国内空间 杭州电信 qq空间打开很慢 cpu使用率过高怎么办 zencart安装 rsync rewrite规则 更多