Differences

This shows you the differences between two versions of the page.

projs:clans:docs:sps [2014/01/20 12:13]
yoyoliliu
projs:clans:docs:sps [2014/01/28 03:26] (current)
yoyoliliu
Line 1: Line 1:
====== Class ShortestPathServer ====== ====== Class ShortestPathServer ======
Collaborate with ZhangZhi Collaborate with ZhangZhi
- 
====== Description ====== ====== Description ======
-====== Function====== +a python server responses every URL request which contains 'shortestpath'. It returns a Json file shows the shortest path from source to target in a weighted graph G. 
-====== Flow Chat ======+====== Parameter ====== 
 +URL: [[http://clans.cse.cuhk.edu.hk/clansV0.002/peopleServlet?type=shortestpath&pid1=1&pid2=2]]
 +====== Return ======
 +Json file:
 +{{:projs:clans:docs:egp.jpg?600|}}
 +{{:projs:clans:docs:egc.jpg?600|}}
 +
 +====== Detail Information ======
 +  - related modules:HTTPServer, BaseHTTPRequestHander, ThreadingMixIn, urlParse
 +  - MySQLdb:[[https://pypi.python.org/pypi/MySQL-python]]
 +  - networkx:[[https://pypi.python.org/pypi/networkx/]]
 +====== Function======
 +  - [[projs:clans:docs:sps:threadhttpserver.initdataset()]]: Create the social network and initial data set.
 +  - [[projs:clans:docs:sps:threadhttpserver.getdata()]]: Get dataSet.
 +  - [[projs:clans:docs:sps:threadhttpserver.getcompanydataset()]]: Get company information.
 +  - [[projs:clans:docs:sps:handler.do_get()]]
 +  - [[projs:clans:docs:sps:handler.calp(source,target)]]: Return the shortest from source to target in a weighted graph G.
 +  - [[projs:clans:docs:sps:handler.calc(source,target)]]: Return the shortest path from source company to target company based on a weighted people social network.
 +  - [[projs:clans:docs:sps:handler.writejson(path)]]: Return a json file shown on the website about shortest path from person to person.
 +  - [[projs:clans:docs:sps:handler.writejson(cid1,cid2,pathlist)]]: Returns a json file shown on the website. It is list of shortest path from source company to target company.
 +====== Implementation ======
 +  - Main idea:
 +  -   - call initDataset() as long as the server running
 +  -   - after data is ready, call do_GET() function when receives an URL request.
 +  -   - In do_GET() function, the main idea is: extract source pid and target pid, then call Handler.calP(source,target) to get path list of pid, then call Handler.writejson(path) to generate json file. BaseHTTPRequestHandler.wfile.write(json file) to show result on browser.
 +  - Add flow chat here
 
projs/clans/docs/sps.1390191199.txt.gz · Last modified: 2014/01/20 12:13 by yoyoliliu     Back to top