Xian Zhou

37 papers Journal 20Unranked 17
YearRankTypeTitle / Venue / Authors
2026 J jnl
Adv. Eng. Informatics
Yinghao Zhao, Xu Yang, Jian Huang, Xian Zhou, Jiarui Cui, Qing Li
2026 J jnl
IEEE Internet Things J.
Haozhou Yuan, Xu Yang, Jingjing Gao, Jian Huang, Xian Zhou, Kaixiang Peng
2025 conf
OFC
Yuyuan Gao, Xian Zhou, Haiqiang Wei, Juntao Cao, Alan Pak Tao Lau, Kangping Zhong
2025 J jnl
IEEE Internet Things J.
Guo Zhu, Fei Liu, Xu Yang, Xian Zhou, Keping Long, Perry Ping Shum
2025 J jnl
J. Frankl. Inst.
Jingjing Gao, Dong Zhao, Xu Yang, Jian Huang, Xian Zhou, Kaixiang Peng
2025 J jnl
IEEE Trans. Ind. Informatics
Yinghao Zhao, Xu Yang, Jian Huang, Jingjing Gao, Xian Zhou, Tao Zhang
2025 J jnl
IEEE Trans. Instrum. Meas.
Xu Yang, Tengyu Guo, Jian Huang, Yinghao Zhao, Xian Zhou, Kaixiang Peng
2025 conf
ECOC
Guo Zhu, Hanyu Zhao, Fei Liu, Alan Pak Tao Lau, Chao Lu, Xian Zhou, Yaxi Yan
2025 J jnl
Digit. Commun. Networks
Feiyu Li, Xian Zhou, Yuyuan Gao, Jiahao Huo, Rui Li, Keping Long
2024 J jnl
IEEE Trans. Instrum. Meas.
Guo Zhu, Fei Liu, Wangliang Kong, Xu Yang, Santosh Kumar, Xian Zhou
2022 J jnl
IEEE Trans. Instrum. Meas.
Duo Yi, Fei Liu, Min Zhang, Xiangge He, Xian Zhou, Keping Long, Xuejin Li
2022 conf
OFC
Feiyu Li, Xian Zhou, Qirui Fan, Yuyuan Gao, Jiahao Huo, Jinhui Yuan, Keping Long
2022 J jnl
IEEE Trans. Geosci. Remote. Sens.
Fei Liu, Shangran Xie, Min Zhang, Chunhua Tang, Bin Xie, Xiangge He, Lijuan Gu, Hailong Lu, Xian Zhou, Keping Long
2022 conf
OFC
Yuyuan Gao, Xian Zhou, Feiyu Li, Jiahao Huo, Jinhui Yuan, Keping Long
2022 conf
OECC/PSC
Xian Zhou, Yuyuan Gao, Qianwen Fang, Fei Liu, Jinhui Yuan, Keping Long
2021 conf
OFC
Sen Zhang, Liwang Lu, Linsheng Fan, Bin Chen, Tingting Zhang, Tianjian Zuo, Lei Liu, Jin Tang, Li Zeng, Pengxin Chen, Jiahao Huo, Xian Zhou, Alan Pak Tao Lau, Chao Lu, Liu Liu, Changjian Guo
2021 J jnl
Sensors
Yuwei Qu, Jinhui Yuan, Shi Qiu, Xian Zhou, Feng Li, Binbin Yan, Qiang Wu, Kuiru Wang, Xinzhu Sang, Keping Long, Chongxiu Yu
2021 J jnl
Sci. China Inf. Sci.
Dongxu Lu, Xian Zhou, Yuqiang Yang, Jiahao Huo, Jinhui Yuan, Keping Long, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2020 J jnl
IEEE Access
Fei Liu, Shangran Xie, Min Zhang, Bin Xie, Yong Pan, Xiangge He, Duo Yi, Lijuan Gu, Yuting Yang, Zhangyuan Chen, Hailong Lu, Xian Zhou
2020 J jnl
IEEE Access
Tao Ma, Jinhui Yuan, Fang Wang, Heng Liu, Xian Zhou, Keping Long, Chongxiu Yu, Yufang Liu
2020 J jnl
Sensors
Shi Qiu, Jinhui Yuan, Xian Zhou, Feng Li, QiWei Wang, Yuwei Qu, Binbin Yan, Qiang Wu, Kuiru Wang, Xinzhu Sang, Keping Long, Chongxiu Yu
2020 J jnl
IEEE Access
Yujun Cheng, Jinhui Yuan, Chao Mei, Feng Li, Xian Zhou, Qiang Wu, Binbin Yan, Kuiru Wang, Chongxiu Yu, Keping Long, Ping-Kong Alex Wai
2020 J jnl
IEEE Access
Chao Mei, Jinhui Yuan, Feng Li, Xian Zhou, Qiang Wu, Binbin Yan, Kuiru Wang, Keping Long, Gerald Farrell, Chongxiu Yu
2020 J jnl
Sci. China Inf. Sci.
Jiahao Huo, Xian Zhou, Chao Shang, Wei Huangfu, Jinhui Yuan, Huansheng Ning, Keping Long, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2019 conf
OECC/PSC
Xinghua Zhen, Danshi Wang, Minghui Wang, Min Zhang, Jin Li, Shuai Li, Zhiguo Zhang, Xian Zhou, Fan Zhang, Zhijun Zhang, Zhen Yang
2019 J jnl
CoRR
Yaxi Yan, Changjian Guo, Xiong Wu, Ziqi Lin, Xian Zhou, Faisal Nadeem Khan, Alan Pak Tao Lau, Chao Lu
2019 J jnl
IEEE Access
Dongxu Lu, Alan Pak Tao Lau, Chao Lu, Xian Zhou, Jiahao Huo, Jie Gao, Yuqiang Yang, Ke He, Jinhui Yuan, Keping Long, Changyuan Yu
2018 conf
ECOC
Jiahao Huo, Xian Zhou, Kangping Zhong, Changjian Guo, Jinhui Yuan, Jiajing Tu, Keping Long, Alan Pak Tao Lau, Chao Lu
2017 conf
OFC
Tao Gui, Shun Ka Lo, Xian Zhou, Chao Lu, Alan Pak Tao Lau, Ping-Kong Alex Wai
2017 conf
OFC
Jiahao Huo, Xian Zhou, Kangping Zhong, Tao Gui, Yiguang Wang, Liang Wang, Jinhui Yuan, Hongyu Zhang, Keping Long, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2017 conf
ECOC
Kangping Zhong, Xian Zhou, Jiahao Huo, Hongyu Zhang, Jinhui Yuan, Yanfu Yang, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2017 conf
OFC
Kangping Zhong, Xian Zhou, Yiguang Wang, Jiahao Huo, Hongyu Zhang, Li Zeng, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2017 conf
OFC
Kangping Zhong, Xian Zhou, Yiguang Wang, Tao Gui, Yanfu Yang, Jinhui Yuan, Liang Wang, Wei Chen, Hongyu Zhang, Jiangwei Man, Li Zeng, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2016 conf
CSNDSP
Xian Zhou, Kangping Zhong, Jiahao Huo, Yiguang Wang, Liang Wang, Jiajing Tu, Yanfu Yang, Lei Gao, Li Zeng, Changyuan Yu, Alan Pak Tao Lau, Chao Lu
2015 conf
WOCC
Zhiyuan Du, Xian Zhou, Keping Long
2015 conf
OFC
Guoliang Cao, Yanfu Yang, Kangping Zhong, Xian Zhou, Yong Yao, Alan Pak Tao Lau, Chao Lu
2015 conf
ECOC
Kangping Zhong, Xian Zhou, Yuliang Gao, Yanfu Yang, Wei Chen, Jiangwei Man, Li Zeng, Alan Pak Tao Lau, Chao Lu
s3-storage/s3_test.py
← Index s3-storage/s3_test.py python
#!/usr/bin/env python3
"""
Simple script to test S3 connectivity and download.
Usage: python s3_test.py
"""

import os
import time
import tempfile
from minio import Minio
from minio.error import S3Error
from dotenv import load_dotenv

# Load environment variables
load_dotenv()

def get_minio_client():
    """Create and return a Minio client using credentials from .env file"""
    endpoint = os.getenv("S3_ENDPOINT")
    access_key = os.getenv("S3_ACCESS_KEY")
    secret_key = os.getenv("S3_SECRET_KEY")
    secure = True 
    
    print(f"Connecting to S3 endpoint: {endpoint} (secure={secure})")
    
    return Minio(
        endpoint=endpoint,
        access_key=access_key,
        secret_key=secret_key,
        secure=secure
    )

def test_connection():
    """Test basic connectivity to S3"""
    try:
        client = get_minio_client()
        
        # Try to list buckets as a basic connectivity test
        buckets = client.list_buckets()
        print(f"Successfully connected to S3. Found {len(buckets)} buckets:")
        for bucket in buckets:
            print(f"  - {bucket.name}")
        
        return client
    except Exception as e:
        print(f"Failed to connect to S3: {e}")
        return None

def test_bucket_access(client, bucket_name):
    """Test access to a specific bucket"""
    try:
        exists = client.bucket_exists(bucket_name)
        if exists:
            print(f"Bucket '{bucket_name}' exists and is accessible")
            
            # List a few objects to verify access
            count = 0
            objects = []
            for obj in client.list_objects(bucket_name, recursive=True):
                print(f"  - {obj.object_name} ({obj.size} bytes)")
                objects.append(obj)
                count += 1
                if count >= 5:
                    break
            
            print(f"Found at least {len(objects)} objects in bucket")
            return objects
        else:
            print(f"Bucket '{bucket_name}' does not exist or is not accessible")
            return []
    except Exception as e:
        print(f"Error accessing bucket '{bucket_name}': {e}")
        return []

def test_download(client, bucket_name, object_name):
    """Test downloading a specific object"""
    try:
        print(f"Attempting to download: {object_name}")
        start_time = time.time()
        
        # Create a temporary file to store the downloaded object
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            temp_path = temp_file.name
        
        # Download the object
        client.fget_object(bucket_name, object_name, temp_path)
        
        # Check if the file was downloaded successfully
        file_size = os.path.getsize(temp_path)
        elapsed_time = time.time() - start_time
        
        print(f"Download successful: {file_size} bytes in {elapsed_time:.2f} seconds")
        print(f"Average download speed: {file_size/elapsed_time/1024:.2f} KB/s")
        
        # Clean up
        os.unlink(temp_path)
        return True
    except S3Error as e:
        print(f"S3 Error during download: {e}")
        return False
    except Exception as e:
        print(f"Error downloading object: {e}")
        return False

def main():
    """Main function to run all tests"""
    print("=== S3 Connectivity Test ===")
    
    # Test basic connectivity
    client = test_connection()
    if not client:
        return
    
    # Get bucket name from environment variable
    bucket_name = "redb"
    print(f"\n=== Testing Access to Bucket: {bucket_name} ===")
    objects = test_bucket_access(client, bucket_name)
    
    if objects:
        # Test downloading the first object
        first_object = objects[0].object_name
        print(f"\n=== Testing Download of Object: {first_object} ===")
        test_download(client, bucket_name, first_object)
        
        # If the first one worked, let's try a specific file from the error log
        print(f"\n=== Testing Download of Specific Object ===")
        specific_object = "00/06/00062073114defac39cb7ab9cb99a0b77c535a09a241c60d47ddd0b6431629f1.zip"
        test_download(client, bucket_name, specific_object)

if __name__ == "__main__":
    main()