
UNSOLVED
Better Query Algorithm?
This question was posted as a document on Mar 7, 2009 9:46 AM by Eugene Tan
There are over 96379 XUID counts at a public centera (128.221.200.61) and My XAM app will search all recodes, and print out mine.
Unfortunately, it took almost several minutes (maybe more) to complete. Is there a better algorithm?
The following is the partial log.
Status: COMPLETE
Query level: org.snia.xam.job.query.level.1
Error health: OK
Error message: N/A
XUID count: 96379
What do you want to do?
1. Update results
2. Display Play List
3. Check File Name
4. Watch Video
5. View Picture
6. Listen Music
7. Quit
>2
April_May2008.xls
[1]: April_May2008.xls AAAEcwA9s1AzMUdFNVMwSlNOSzE0ZTI5UjZKTkdQNjhROTZHNDEzS0xINkNRUDFPQ05NUjBTMktCUzJRUA==
aruser.exe
[2]: aruser.exe AAAEcwA9R6Y3TUFSOVEwOVE2TTQ5ZUMwNUExTE5VMUhHVFRHNDEzS0xINkRRUTFPMlNHSEMzS0swUEtJTg==
javaPlayer.zip
[3]: javaPlayer.zip AAAEcwA943M3TzlJVks1SENEM0xSZUZIRTBGQVMyTDI3S0NHNDEzS0xINkZRVDE0MVQxQkpRTjczNkszTA==
iscsicpl.cpl
[4]: iscsicpl.cpl AAAEcwA95OJBMkgwNzZRSVZJRzRJZUY1UTEyMUFOMkMxRFVHNDEzS0xINkZRUzEzNEpQMDlSM05HQkc0OQ==
pcap_msn7_3.pcap
[5]: pcap_msn7_3.pcap AAAEcwA9ptAwSUE4R0dQMkZUNVMyZThTM0hGUzJPR1Q0RkhHNDEzS0xINkdRVTFUQ041MkFIUzdTSTJIUA==
pseudoip.pl
[6]: pseudoip.pl AAAEcwA9A/U3T1FOSDVQTjhRS0VKZUZHSkJKUVVENzFPS1RHNDEzS0xINkhSMDE0QjZCVjZWQk1LOUJUSg==
Procmon.exe
[7]: Procmon.exe AAAEcwA9ung5UVMyU1BDUlVOSUdIZTNPVFVKRUxSSThVVjlHNDEzS0xINkhRVjFCM01BSkZONzdUUE9QVQ==
putty.exe
[8]: putty.exe AAAEcwA9jjI1Q01BRFZDOEZSQ1NNZTdWNVNRN1ExOEdITzVHNDEzS0xINklSMTFHRlI5N0VUODJES1BJRA==
vjtree.cpp
[9]: vjtree.cpp AAAEcwA9p3I3U1FVQlBESjFQMUQyZTg1RUNLUkZRTlVJS1FHNDEzS0xINkpSNDE4OExMSzNCUTNTVTRGUw==
ShettySearchSetup.exe
[10]: ShettySearchSetup.exe AAAEcwA98L9BQTFTSTEwVE0wUVBHZTFINlBSTUlEQVBLSTBHNDEzS0xINklSMjFFNUU5RTRQUjI2VFNHMg==
sir3cs_client_cfg.xml
[11]: sir3cs_client_cfg.xml AAAEcwA9Xt9CUUZDREpVOVZVOE9WZTAyUDBGU0pTNjVESzBHNDEzS0xINkpSMzEwQUU0VjVTSVJFNDE2Qw==
02 Love Will Keep Us Alive.mp3
[12]: 02 Love Will Keep Us Alive.mp3 AAAEcwA9/MAxSTdNOTZVMDlBNkRLZTZMSThCSzZRVk0zRlZHNDEzS0xIQlBPUjFLOUxJTzJUMzIzU0pEVg==
06_Hotel_California.mp3
[13]: 06_Hotel_California.mp3 AAAEcwA9q1QyMTlGVDNJQkw4Mk1IZTk1Sk5GVU5NSzNPNlVHNDEzS0xIQlFPUzFMMTU2TEgzSUM5TzE0RA==
BobMarley_NoWomanNoCry.mp3
[14]: BobMarley_NoWomanNoCry.mp3 AAAEcwA9VeM3OUpVNzIwVVFHOE1UZTNBSkFFRDIzMFVPTkdHNDEzS0xIQlJPVDFWMTNWSEJESk0wOTFEMg==
Linkinpark-InTheEnd.mp3
[15]: Linkinpark-InTheEnd.mp3 AAAEcwA9eDg4SUVQN1Q1RVBOOTc3ZTBOUzE2MkVTOUhWNVRHNDEzS0xIQlNPVTE4NENFSk0xQlZSRVNDNg==
x50cent_candyshop.mp3
[16]: x50cent_candyshop.mp3 AAAEcwA9T983NUtLQlY1TlNPS0hKZThQVDBGM1YyTFNGUFVHNDEzS0xIQlVPVjEwRlU5NExIVlVLMEZNMQ==
?????????.mp3
[17]: ?????????.mp3 AAAEcwA9/fw1MjZQUTUyMkFBSENOZThCTUxQUzJTRkpNMkxHNDEzS0xIQlZQMDFIQzEyOUsyRUtMSFRNNw==
???.mp3
[18]: ???.mp3 AAAEcwA941QzSE9UM0NQUzVUQlZBZThSSzJLM0ZWUjY3MEJHNDEzS0xIQzBQMTFFQzBNRUc0SkYwTUQyNQ==
marie_patrick.MPG
[19]: marie_patrick.MPG AAAEcwA98rQyMEFNUTIySzg4M0tDZTVKNDRFQzE4Rk5INEFHNDEzS0xISU5SSDEyMjBJQk9MSVIwVkZWNg==
patrick_piano.MPG
[20]: patrick_piano.MPG AAAEcwA9WZE2OEdJT1E3QlJQU0Q0ZUI4U0FTRkIzNkw5VTlHNDEzS0xISzE3SDFIQTMwQUVNOUpTTzZOUg==
hand_x_ray.jpg
[21]: hand_x_ray.jpg AAAEcwA9YrQ1QVJIS1RKRkk4SDcxZUVOTlZHOUc3QUEzOFZHNDEzS0xITDlSTTFKN0tLTzZVRFBERTZQNw==
Stowe_450x600.jpg
[22]: Stowe_450x600.jpg AAAEcwA9NxlBQTRFNEFNSkNBRlQ1ZUJJU1E5NkpHSTM4SUVHNDEzS0xITEJSUDFFN1M3TlNPQkkyTk5GUw==
MPG XAM Challenge Submission Document.doc
[23]: MPG XAM Challenge Submission Document.doc AAAEcwA9K084VUNLVDQwUkxMTFE1ZTJLR1RFQ0pRNklDNlNHNDEzS0xJMUJSUjFWMzRPVkg2SzdWTTFVQw==
CurrentISCSIDesgin.zargo
[24]: CurrentISCSIDesgin.zargo AAAEcwA9Alg5RzM1QUNJVEhUQzY1ZTQxTVExQjYzSlJIR0ZHNDEzS0xJMUJSUTFGNFZVME85MzZQQ0xGOA==
XAM Application Documentation.doc
[25]: XAM Application Documentation.doc AAAEcwA9MYFETEZOSzZSSDVWNkU4ZTRVUVAyRzhLTDZKNFFHNDEzS0xJMUNQRzFCOENTSk1ERzM2OEUzMg==
XAM Application Test Plan Approach.doc
[26]: XAM Application Test Plan Approach.doc AAAEcwA9eJNENTRBMUJRMUQ0STlOZTJJMjdMVjlEOEw5OUJHNDEzS0xJMURQSDFTNU0wT0dGMVZOS1VMSw==
XAM Coding Challenge Business Value.ppt
[27]: XAM Coding Challenge Business Value.ppt AAAEcwA9hBxGVlI0QjlMTkMzUVY3ZTFDTElRMUhHQkMzMFVHNDEzS0xJMUVQSTFSMVNHU0VIU1VMVUQzQQ==
*******************************************************************************************************************************************************************************
For your reference, the following is the Java code:
/**
* Display the XUIDs found.
*
* @param inCount The maximum number of XUIDs to display.
*/
protected void displayXUIDs(long inCount) throws XAMException {
try {
sOperation = "Open Query Results XStream";
sXStream = sXSet.openXStream(XSet.XAM_JOB_QUERY_RESULTS,
XSet.MODE_READ_ONLY);
printSuccess();
} catch (FieldDoesNotExistException e) {
System.out.println("\nQuery Results XStream Unavailable");
return;
}
int vTempBufferLen = 10 * 1024 * 1024;
byte[] vTempBuffer = new byte[vTempBufferLen];
byte[] vXUID = new byte[80];
long vNumBytesToRead = inCount * 80;
long vTotalBytesRead = 0;
long vBytesRead;
FSXAMSingleton.getInstance().cleanUpMessage();
System.out.println("\n ");
FSXAMSingleton.getInstance().setTextMessage("\n " + newline);
FSXAMSingleton.getInstance().setTextMessage("No:\tFile Name\t\t\tXUID Number " + newline);
FSXAMSingleton.getInstance().setTextMessage("====\t=====================\t\t============================================================================================" + newline);
do {
// TODO This breaks when vTempBufferLen is smaller than the byte
// size of the results! See email to Raj!
vBytesRead = sXStream.read(vTempBuffer, vNumBytesToRead
- vTotalBytesRead);
vTotalBytesRead = vTotalBytesRead + vBytesRead;
vNumBytesToRead = vNumBytesToRead - vBytesRead;
int index = 0;
// Print the XUIDs just read
for (int i = 0; i < vBytesRead / 80; i++) {
System.arraycopy(vTempBuffer, i * 80, vXUID, 0, 80);
String inXUID = new XAMXUID(vXUID).toString();
String fileName = new FSMediaXAMRead().readFile(inXUID);
if (!(fileName.equals(""))) {
System.out.println("[" + (index + 1) + "]: \t" + fileName + "\t" + inXUID);
FSXAMSingleton.getInstance().setTextMessage("[" + (index + 1) + "]: \t" + fileName + "\t\t" + inXUID + newline);
index++;
}
}
if (index == 0) {
FSXAMSingleton.getInstance().cleanUpMessage();
System.out.println(" There is no midea file in the play list. Add them by Add Play List @ Library.");
FSXAMSingleton.getInstance().setTextMessage(" There is no midea file in the play list. Add them by Add Play List @ Library." + newline);
}
} while (vNumBytesToRead > 0);
System.out.println(" \n");
sOperation = "Close Query Results XStream";
sXStream.close();
printSuccess();
}
Responses (0)
Solutions (0)
