ap源碼
Ⅰ 什麼是ECC
ECC
ECC是「Error Checking and Correcting」的簡寫,中文名稱是「錯誤檢查和糾正」。ECC是一種能夠實現「錯誤檢查和糾正」的技術,ECC內存就是應用了這種技術的內存,一般多應用在伺服器及圖形工作站上,這將使整個電腦系統在工作時更趨於安全穩定。
要了解ECC技術,就不能不提到Parity(奇偶校驗)。在ECC技術出現之前,內存中應用最多的是另外一種技術,就是Parity(奇偶校驗)。我們知道,在數字電路中,最小的數據單位就是叫「比特(bit)」,也叫數據「位」,「比特」也是內存中的最小單位,它是通過「1」和「0」來表示數據高、低電平信號的。在數字電路中8個連續的比特是一個位元組(byte),在內存中不帶「奇偶校驗」的內存中的每個位元組只有8位,若它的某一位存儲出了錯誤,就會使其中存儲的相應數據發生改變而導致應用程序發生錯誤。而帶有「奇偶校驗」的內存在每一位元組(8位)外又額外增加了一位用來進行錯誤檢測。比如一個位元組中存儲了某一數值(1、0、1、0、1、0、1、1),把這每一位相加起來(1+0+1+0+1+0+1+1=5)。若其結果是奇數,對於偶校驗,校驗位就定義為1,反之則為0;對於奇校驗,則相反。當CPU返回讀取存儲的數據時,它會再次相加前8位中存儲的數據,計算結果是否與校驗位相一致。當CPU發現二者不同時就作出視圖糾正這些錯誤,但Parity有個缺點,當內存查到某個數據位有錯誤時,卻並不一定能確定在哪一個位,也就不一定能修正錯誤,所以帶有奇偶校驗的內存的主要功能僅僅是「發現錯誤」,並能糾正部分簡單的錯誤。
通過上面的分析我們知道Parity內存是通過在原來數據位的基礎上增加一個數據位來檢查當前8位數據的正確性,但隨著數據位的增加Parity用來檢驗的數據位也成倍增加,就是說當數據位為16位時它需要增加2位用於檢查,當數據位為32位時則需增加4位,依此類推。特別是當數據量非常大時,數據出錯的幾率也就越大,對於只能糾正簡單錯誤的奇偶檢驗的方法就顯得力不從心了,正是基於這樣一種情況,一種新的內存技術應允而生了,這就是ECC(錯誤檢查和糾正),這種技術也是在原來的數據位上外加校驗位來實現的。不同的是兩者增加的方法不一樣,這也就導致了兩者的主要功能不太一樣。它與Parity不同的是如果數據位是8位,則需要增加5位來進行ECC錯誤檢查和糾正,數據位每增加一倍,ECC只增加一位檢驗位,也就是說當數據位為16位時ECC位為6位,32位時ECC位為7位,數據位為64位時ECC位為8位,依此類推,數據位每增加一倍,ECC位只增加一位。總之,在內存中ECC能夠容許錯誤,並可以將錯誤更正,使系統得以持續正常的操作,不致因錯誤而中斷,且ECC具有自動更正的能力,可以將Parity無法檢查出來的錯誤位查出並將錯誤修正。
2 ECC(Elliptic Curve Cryptosystems )橢圓曲線密碼體制
2002年,美國SUN公司將其開發的橢圓加密技術贈送給開放源代碼工程
公鑰密碼體制根據其所依據的難題一般分為三類:大整數分解問題類、離散對數問題類、橢圓曲線類。有時也把橢圓曲線類歸為離散對數類。
橢圓曲線密碼體制來源於對橢圓曲線的研究,所謂橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程:
y2+a1xy+a3y=x3+a2x2+a4x+a6 (1)
所確定的平面曲線。其中系數ai(I=1,2,…,6)定義在某個域上,可以是有理數域、實數域、復數域,還可以是有限域GF(pr),橢圓曲線密碼體制中用到的橢圓曲線都是定義在有限域上的。
橢圓曲線上所有的點外加一個叫做無窮遠點的特殊點構成的集合連同一個定義的加法運算構成一個Abel群。在等式
mP=P+P+…+P=Q (2)
中,已知m和點P求點Q比較容易,反之已知點Q和點P求m卻是相當困難的,這個問題稱為橢圓曲線上點群的離散對數問題。橢圓曲線密碼體制正是利用這個困難問題設計而來。橢圓曲線應用到密碼學上最早是由Neal Koblitz 和Victor Miller在1985年分別獨立提出的。
橢圓曲線密碼體制是目前已知的公鑰體制中,對每比特所提供加密強度最高的一種體制。解橢圓曲線上的離散對數問題的最好演算法是Pollard rho方法,其時間復雜度為,是完全指數階的。其中n為等式(2)中m的二進製表示的位數。當n=234, 約為2117,需要1.6x1023 MIPS 年的時間。而我們熟知的RSA所利用的是大整數分解的困難問題,目前對於一般情況下的因數分解的最好演算法的時間復雜度是子指數階的,當n=2048時,需要2x1020MIPS年的時間。也就是說當RSA的密鑰使用2048位時,ECC的密鑰使用234位所獲得的安全強度還高出許多。它們之間的密鑰長度卻相差達9倍,當ECC的密鑰更大時它們之間差距將更大。更ECC密鑰短的優點是非常明顯的,隨加密強度的提高,密鑰長度變化不大。
德國、日本、法國、美國、加拿大等國的很多密碼學研究小組及一些公司實現了橢圓曲線密碼體制,我國也有一些密碼學者做了這方面的工作。許多標准化組織已經或正在制定關於橢圓曲線的標准,同時也有許多的廠商已經或正在開發基於橢圓曲線的產品。對於橢圓曲線密碼的研究也是方興未艾,從ASIACRYPTO』98上專門開辟了ECC的欄目可見一斑。
在橢圓曲線密碼體制的標准化方面,IEEE、ANSI、ISO、IETF、ATM等都作了大量的工作,它們所開發的橢圓曲線標準的文檔有:IEEE P1363 P1363a、ANSI X9.62 X9.63、 ISO/IEC14888等。
2003年5月12日中國頒布的無線區域網國家標准 GB15629.11 中,包含了全新的WAPI(WLAN Authentication and Privacy Infrastructure)安全機制,能為用戶的WLAN系統提供全面的安全保護。這種安全機制由 WAI和WPI兩部分組成,分別實現對用戶身份的鑒別和對傳輸的數據加密。WAI採用公開密鑰密碼體制,利用證書來對WLAN系統中的用戶和AP進行認證。證書裡麵包含有證書頒發者(ASU)的公鑰和簽名以及證書持有者的公鑰和簽名,這里的簽名採用的就是橢圓曲線ECC演算法。
加拿大Certicom公司是國際上最著名的ECC密碼技術公司,已授權300多家企業使用ECC密碼技術,包括Cisco 系統有限公司、摩托羅拉、Palm等企業。Microsoft將Certicom公司的VPN嵌入微軟視窗移動2003系統中。
Ⅱ Akima 插值和樣條插值的C語言源代碼,要有注釋。
Akima插值
附帶的圖片為運行結果
#include"stdio.h"
#include"math.h"
#include"interpolation.h"
voidinterpolation_akima(AKINTEPap){
intnum,k,kk,m,l;
doublepio,*mtr,*x,*y,u[5],p,q;
num=ap->n;k=ap->k;
pio=ap->t;mtr=ap->s;
x=ap->x;y=ap->y;
if(num<1){
return;
}
elseif(num==1){
mtr[0]=mtr[4]=y[0];
return;
}
elseif(num==2){
mtr[0]=y[0];
mtr[1]=(y[1]-y[0])/(x[1]-x[0]);
if(k<0)
mtr[4]=(y[0]*(pio-x[1])-y[1]*(pio-x[0]))/(x[0]-x[1]);
return;
}
if(k<0){
if(pio<=x[1])kk=0;
elseif(pio>=x[num-1])kk=num-2;
else{
kk=1;m=num;
while(((kk-m)!=1)&&((kk-m)!=-1)){
l=(kk+m)/2;
if(pio<x[l-1])m=l;
elsekk=l;
}
kk--;
}
}
elsekk=k;
if(kk>=num-1)kk=num-2;
u[2]=(y[kk+1]-y[kk])/(x[kk+1]-x[kk]);
if(num==3){
if(kk==0){
u[3]=(y[2]-y[1])/(x[2]-x[1]);
u[4]=2.0*u[3]-u[2];
u[1]=2.0*u[2]-u[3];
u[0]=2.0*u[1]-u[2];
}
else{
u[1]=(y[1]-y[0])/(x[1]-x[0]);
u[0]=2.0*u[1]-u[2];
u[3]=2.0*u[2]-u[1];
u[4]=2.0*u[3]-u[2];
}
}
else{
if(kk<=1){
u[3]=(y[kk+2]-y[kk+1])/(x[kk+2]-x[kk+1]);
if(kk==1){
u[1]=(y[1]-y[0])/(x[1]-x[0]);
u[0]=2.0*u[1]-u[2];
if(num==4)u[4]=2.0*u[3]-u[2];
elseu[4]=(y[4]-y[3])/(x[4]-x[3]);
}
else{
u[1]=2.0*u[2]-u[3];
u[0]=2.0*u[1]-u[2];
u[4]=(y[3]-y[2])/(x[3]-x[2]);
}
}
elseif(kk>=(num-3)){
u[1]=(y[kk]-y[kk-1])/(x[kk]-x[kk-1]);
if(kk==(num-3)){
u[3]=(y[num-1]-y[num-2])/(x[num-1]-x[num-2]);
u[4]=2.0*u[3]-u[2];
if(num==4)u[0]=2.0*u[1]-u[2];
elseu[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);
}
else{
u[3]=2.0*u[2]-u[1];
u[4]=2.0*u[3]-u[2];
u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);
}
}
else{
u[1]=(y[kk]-y[kk-1])/(x[kk]-x[kk-1]);
u[0]=(y[kk-1]-y[kk-2])/(x[kk-1]-x[kk-2]);
u[3]=(y[kk+2]-y[kk+1])/(x[kk+2]-x[kk+1]);
u[4]=(y[kk+3]-y[kk+2])/(x[kk+3]-x[kk+2]);
}
}
mtr[0]=fabs(u[3]-u[2]);
mtr[1]=fabs(u[0]-u[1]);
if((fabs(mtr[0])<0.0000001)&&(fabs(mtr[1])<0.0000001))
p=(u[1]+u[2])/2.0;
elsep=(mtr[0]*u[1]+mtr[1]*u[2])/(mtr[0]+mtr[1]);
mtr[0]=fabs(u[3]-u[4]);
mtr[1]=fabs(u[2]-u[1]);
if((fabs(mtr[0])<0.0000001)&&(fabs(mtr[1])<0.0000001))
q=(u[2]+u[3])/2.0;
elseq=(mtr[0]*u[2]+mtr[1]*u[3])/(mtr[0]+mtr[1]);
mtr[0]=y[kk];
mtr[1]=p;
mtr[3]=x[kk+1]-x[kk];
mtr[2]=(3.0*u[2]-2.0*p-q)/mtr[3];
mtr[3]=(q+p-2.0*u[2])/(mtr[3]*mtr[3]);
if(k<0){
p=pio-x[kk];
mtr[4]=mtr[0]+mtr[1]*p+mtr[2]*p*p+mtr[3]*p*p*p;
}
return;
}
main()
{
doublex[11]={3.0,5.0,8.0,13.0,17.0,25.0,27.0,29.0,31.0,35.0,39.0};
doubley[11]={7.0,10.0,11.0,17.0,23.0,18.0,13.0,6.0,3.0,1.0,0.0};
AKINTEaa={11,x,y,-1,14.0,{0}};
AKINTEab={11,x,y,-1,28.0,{0}};
printf(" ");
interpolation_akima(&aa);
printf("x=%6.3f,f(x)=%e ",aa.t,aa.s[4]);
printf("mtr0=%e,mtr1=%e,mtr2=%e,mtr3=%e ",aa.s[0],aa.s[1],aa.s[2],aa.s[3]);
printf(" ");
interpolation_akima(&ab);
printf("x=%6.3f,f(x)=%e ",ab.t,ab.s[4]);
printf("mtr0=%e,mtr1=%e,mtr2=%e,mtr3=%e ",ab.s[0],ab.s[1],ab.s[2],ab.s[3]);
printf(" ");
}
三次樣條插值的實現
1、程序比較簡單的:
#include<iostream>
#include<iomanip>
usingnamespacestd;
constintMAX=50;
floatx[MAX],y[MAX],h[MAX];
floatc[MAX],a[MAX],fxym[MAX];
floatf(intx1,intx2,intx3){
floata=(y[x3]-y[x2])/(x[x3]-x[x2]);
floatb=(y[x2]-y[x1])/(x[x2]-x[x1]);
return(a-b)/(x[x3]-x[x1]);
}//求差分
voidcal_m(intn){//用追趕法求解出彎矩向量M……
floatB[MAX];
B[0]=c[0]/2;
for(inti=1;i<n;i++)
B[i]=c[i]/(2-a[i]*B[i-1]);
fxym[0]=fxym[0]/2;
for(i=1;i<=n;i++)
fxym[i]=(fxym[i]-a[i]*fxym[i-1])/(2-a[i]*B[i-1]);
for(i=n-1;i>=0;i--)
fxym[i]=fxym[i]-B[i]*fxym[i+1];
}
voidprintout(intn);
intmain(){
intn,i;charch;
do{
cout<<"Pleaseputinthenumberofthedots:";
cin>>n;
for(i=0;i<=n;i++){
cout<<"PleaseputinX"<<i<<':';
cin>>x[i];//cout<<endl;
cout<<"PleaseputinY"<<i<<':';
cin>>y[i];//cout<<endl;
}
for(i=0;i<n;i++)//求步長
h[i]=x[i+1]-x[i];
cout<<"Please輸入邊界條件 1:已知兩端的一階導數 2:兩端的二階導數已知 默認:自然邊界條件 ";
intt;
floatf0,f1;
cin>>t;
switch(t){
case1:cout<<"PleaseputinY0'Y"<<n<<"' ";
cin>>f0>>f1;
c[0]=1;a[n]=1;
fxym[0]=6*((y[1]-y[0])/(x[1]-x[0])-f0)/h[0];
fxym[n]=6*(f1-(y[n]-y[n-1])/(x[n]-x[n-1]))/h[n-1];
break;
case2:cout<<"PleaseputinY0"Y"<<n<<"" ";
cin>>f0>>f1;
c[0]=a[n]=0;
fxym[0]=2*f0;fxym[n]=2*f1;
break;
default:cout<<"不可用 ";//待定
};//switch
for(i=1;i<n;i++)
fxym[i]=6*f(i-1,i,i+1);
for(i=1;i<n;i++){
a[i]=h[i-1]/(h[i]+h[i-1]);
c[i]=1-a[i];
}
a[n]=h[n-1]/(h[n-1]+h[n]);
cal_m(n);
cout<<" 輸出三次樣條插值函數: ";
printout(n);
cout<<"Doyoutohaveanthertry?y/n:";
cin>>ch;
}while(ch=='y'||ch=='Y');
return0;
}
voidprintout(intn){
cout<<setprecision(6);
for(inti=0;i<n;i++){
cout<<i+1<<":["<<x[i]<<","<<x[i+1]<<"] "<<" ";
/*
cout<<fxym[i]/(6*h[i])<<"*("<<x[i+1]<<"-x)^3+"<<<<"*(x-"<<x[i]<<")^3+"
<<(y[i]-fxym[i]*h[i]*h[i]/6)/h[i]<<"*("<<x[i+1]<<"-x)+"
<<(y[i+1]-fxym[i+1]*h[i]*h[i]/6)/h[i]<<"(x-"<<x[i]<<") ";
cout<<endl;*/
floatt=fxym[i]/(6*h[i]);
if(t>0)cout<<t<<"*("<<x[i+1]<<"-x)^3";
elsecout<<-t<<"*(x-"<<x[i+1]<<")^3";
t=fxym[i+1]/(6*h[i]);
if(t>0)cout<<"+"<<t<<"*(x-"<<x[i]<<")^3";
elsecout<<"-"<<-t<<"*(x-"<<x[i]<<")^3";
cout<<" ";
t=(y[i]-fxym[i]*h[i]*h[i]/6)/h[i];
if(t>0)cout<<"+"<<t<<"*("<<x[i+1]<<"-x)";
elsecout<<"-"<<-t<<"*("<<x[i+1]<<"-x)";
t=(y[i+1]-fxym[i+1]*h[i]*h[i]/6)/h[i];
if(t>0)cout<<"+"<<t<<"*(x-"<<x[i]<<")";
elsecout<<"-"<<-t<<"*(x-"<<x[i]<<")";
cout<<endl<<endl;
}
cout<<endl;
}
2、程序比較復雜的:
(程序前面的01.,02.,03.等等為語句編號,實際應用時請一一刪除)01./*=======================================================================*/
02.#include<stdio.h>
03.////////////////////////////////////////////////////////////////////////////////
04.#defineMAXNUM50//定義樣條數據區間個數最多為50個
05.typedefstructSPLINE//定義樣條結構體,用於存儲一條樣條的所有信息
06.{//初始化數據輸入
07.floatx[MAXNUM+1];//存儲樣條上的點的x坐標,最多51個點
08.floaty[MAXNUM+1];//存儲樣條上的點的y坐標,最多51個點
09.unsignedintpoint_num;//存儲樣條上的實際的點的個數
10.floatbegin_k1;//開始點的一階導數信息
11.floatend_k1;//終止點的一階導數信息
12.//floatbegin_k2;//開始點的二階導數信息
13.//floatend_k2;//終止點的二階導數信息
14.//計算所得的樣條函數S(x)
15.floatk1[MAXNUM+1];//所有點的一階導數信息
16.floatk2[MAXNUM+1];//所有點的二階導數信息
17.//51個點之間有50個段,func[]存儲每段的函數系數
18.floata3[MAXNUM],a1[MAXNUM];
19.floatb3[MAXNUM],b1[MAXNUM];
20.//分段函數的形式為Si(x)=a3[i]*{x(i+1)-x}^3+a1[i]*{x(i+1)-x}+
21.//b3[i]*{x-x(i)}^3+b1[i]*{x-x(i)}
22.//xi為x[i]的值,xi_1為x[i+1]的值
23.}SPLINE,*pSPLINE;
24.typedefintRESULT;//返回函數執行的結果狀態,下面為具體的返回選項
25.#ifndefTRUE
26.#defineTRUE1
27.#endif
28.#ifndefFALSE
29.#defineFALSE-1
30.#endif
31.#ifndefNULL
32.#defineNULL0
33.#endif
34.#ifndefERR
35.#defineERR-2
36.#endif
37.//////////////////////////////////////////////////////////////////////////////////
38./*===============================================================================
39.***函數名稱:Spline3()
40.***功能說明:完成三次樣條差值,其中使用追趕法求解M矩陣
41.***入口參數:(pSPLINE)pLine樣條結構體指針pLine中的x[],y[],num,begin_k1,end_k1
42.***出口參數:(pSPLINE)pLine樣條結構體指針pLine中的函數參數
43.***返回參數:返回程序執行結果的狀態TRUEorFALSE
44.================================================================================*/
45.RESULTSpline3(pSPLINEpLine)
46.{
47.floatH[MAXNUM]={0};//小區間的步長
48.floatFi[MAXNUM]={0};//中間量
49.floatU[MAXNUM+1]={0};//中間量
50.floatA[MAXNUM+1]={0};//中間量
51.floatD[MAXNUM+1]={0};//中間量
52.floatM[MAXNUM+1]={0};//M矩陣
53.floatB[MAXNUM+1]={0};//追趕法中間量
54.floatY[MAXNUM+1]={0};//追趕法中間變數
55.inti=0;
56.////////////////////////////////////////計算中間參數
57.if((pLine->point_num<3)||(pLine->point_num>MAXNUM+1))
58.{
59.returnERR;//輸入數據點個數太少或太多
60.}
61.for(i=0;i<=pLine->point_num-2;i++)
62.{//求H[i]
63.H[i]=pLine->x[i+1]-pLine->x[i];
64.Fi[i]=(pLine->y[i+1]-pLine->y[i])/H[i];//求F[x(i),x(i+1)]
65.}
66.for(i=1;i<=pLine->point_num-2;i++)
67.{//求U[i]和A[i]和D[i]
68.U[i]=H[i-1]/(H[i-1]+H[i]);
69.A[i]=H[i]/(H[i-1]+H[i]);
70.D[i]=6*(Fi[i]-Fi[i-1])/(H[i-1]+H[i]);
71.}
72.//若邊界條件為1號條件,則
73.U[i]=1;
74.A[0]=1;
75.D[0]=6*(Fi[0]-pLine->begin_k1)/H[0];
76.D[i]=6*(pLine->end_k1-Fi[i-1])/H[i-1];
77.//若邊界條件為2號條件,則
78.//U[i]=0;
79.//A[0]=0;
80.//D[0]=2*begin_k2;
81.//D[i]=2*end_k2;
82./////////////////////////////////////////追趕法求解M矩陣
83.B[0]=A[0]/2;
84.for(i=1;i<=pLine->point_num-2;i++)
85.{
86.B[i]=A[i]/(2-U[i]*B[i-1]);
87.}
88.Y[0]=D[0]/2;
89.for(i=1;i<=pLine->point_num-1;i++)
90.{
91.Y[i]=(D[i]-U[i]*Y[i-1])/(2-U[i]*B[i-1]);
92.}
93.M[pLine->point_num-1]=Y[pLine->point_num-1];
94.for(i=pLine->point_num-1;i>0;i--)
95.{
96.M[i-1]=Y[i-1]-B[i-1]*M[i];
97.}
98.//////////////////////////////////////////計算方程組最終結果
99.for(i=0;i<=pLine->point_num-2;i++)
100.{
101.pLine->a3[i]=M[i]/(6*H[i]);
102.pLine->a1[i]=(pLine->y[i]-M[i]*H[i]*H[i]/6)/H[i];
103.pLine->b3[i]=M[i+1]/(6*H[i]);
104.pLine->b1[i]=(pLine->y[i+1]-M[i+1]*H[i]*H[i]/6)/H[i];
105.}
106.returnTRUE;
107.}
108.//////////////////////////////////////////////////////////////////////////////////
109.SPLINEline1;
110.pSPLINEpLine1=&line1;
111.//////////////////////////////////////////////////////////////////////////////////
112.main()
113.{
114.line1.x[0]=27.7;
115.line1.x[1]=28;
116.line1.x[2]=29;
117.line1.x[3]=30;
118.line1.y[0]=4.1;
119.line1.y[1]=4.3;
120.line1.y[2]=4.1;
121.line1.y[3]=3.0;
122.line1.point_num=4;
123.line1.begin_k1=3.0;
124.line1.end_k1=-4.0;
125.Spline3(pLine1);
126.return0;
127.}
128.//////////////////////////////////////////////////////////////////////////////////
Ⅲ 大家好,請問有誰知道攜程網是哪個公司開發或者哪裡有類似攜程網預定酒店、機票的源代碼下載啊謝謝啦
攜程旅行網創立於1999年,總部設在中國上海,目前在北京、廣州、深圳、成都、杭州有五個分公司,並在三十多個城市有分支機構。,現有員工三千餘人。
攜程旅行網於2003年12月9日在美國納斯達克成功上市。
作為中國領先的綜合性旅行服務公司,攜程旅行網向超過一千餘萬注冊會員提供包括酒店預訂、機票預訂、度假預訂、商旅管理、特惠商戶以及旅遊資訊在內的全方位旅行服務。
目前,攜程旅行網擁有國內外五千餘家會員酒店可供預訂,是中國領先的酒店預訂服務中心,每月酒店預訂量達到五十餘萬間夜。
在機票預訂方面,攜程旅行網是中國領先的機票預訂服務平台,覆蓋國內外所有航線,並在四十三個大中城市提供免費送機票服務,每月出票量四十餘萬張。
攜程旅行網的度假超市提供近千條度假線路,覆蓋海內外眾多目的地,並且提供從北京、上海、廣州、深圳、杭州、成都六地出發,是中國領先的度假旅行服務網路,每月為萬餘人次提供度假服務。
攜程旅行網的VIP會員還可在全國主要商旅城市的近三千家特惠商戶享受低至七折的消費優惠。
攜程旅行網除了在自身網站上提供豐富的旅遊資訊外,還委託出版了旅遊叢書《攜程走中國》,並委託發行旅遊月刊雜志《攜程自由行》。
◆歷史發展:
· 1999年6月業務啟動
· 1999年10月接受IDG第一輪投資
· 1999年10月份正式開通攜程旅行網
· 1999年11月開始使用在線預訂系統
· 2000年11月收購北京現代運通訂房網路
· 2001年3月成為中國領先的賓館分銷商
· 2002年3月收購北京海岸機票業務
· 2002年5月全國中央機票預訂系統啟動
· 2002年10月當月交易額突破1億人民幣
· 2003年4月榮獲中國旅遊知名品牌
· 2003年10月建成中國領先的機票預訂網路,覆蓋35個城市
· 2003年12月9日在美國NASDAQ成功上市,當日漲幅88.6%。開創3年來NASDAQ開盤當日漲幅最新記錄
由上可見,攜程網是非常大型的網路公司,想要完全作到與其一樣是不可能的,
不過可以在你們自已的網站上加上以下代碼,也可以實現基本的功能:
<script language="javaScript">
var eLong_Affiliate_MemberID = 4051378;
var eLong_Hotel_City_Default = '';
var eLong_Hotel_City_Disable = '';
var eLong_Flight_City_Default = '';
</script>
<script language="javascript" src="http://icons.elong.com/affiliate/scripts/1/H0201.js" charset="gb2312"></script>
或
<script language="JavaScript">
var eLong_Affiliate_MemberID = 4051378;
var eLong_Hotel_City_Default = '';
var eLong_Hotel_City_Disable = '';
var eLong_Flight_City_Default = '';
</script>
<script language="javascript" src="http://icons.elong.com/affiliate/scripts/1/h9.js" charset="gb2312"></script>
或
<script language="JavaScript">
var eLong_Affiliate_MemberID = 4051378;
var eLong_Hotel_City_Default = '北京';
var eLong_Hotel_City_Disable = '';
var eLong_Width;
var eLong_Height;
var eLong_Hotel_Price = 'true';
var eLong_Hotel_Star = 'true';
var eLong_Hotel_Date = 'true';
var eLong_Hotel_HotCity = 'false';
var eLong_Hotel_Target = '_blank';
</script>
<script language="javascript" src="http://resource.elong.com/js/ap/Search/Hotel/DisplayHotelStyle4.js" charset="gb2312"></script>
<script TYPE="text/javascript" src="http://resource.elong.com/js/ap/Search/DictionarySearch.js" charset="gb2312"></script>
等,
祝你們成功!