Python 批量下载SIGMOD,VLDB的论文 Mac OS

Python 批量下载SIGMOD,VLDB的论文 Mac OS

因为一个个找带某一关键词的论文太累了,因此写了一个python脚本来下载论文,可以支持关键字寻找,批量下载。
目前只适合SIGMOD和VLDB。

需要下载bs4, requests模块。

实现

推荐一个网站https://dblp.org,收录了比较多的论文。
本python脚本就是爬取这个网站,获得某一年的SIGMOD/VLDB全部论文,然后对论文标题逐一进行关键词筛选做的。

0、要爬取的网站

假设我们要下载SIGMOD2019中带有privacy关键词的论文,我们从这个网站https://dblp.org/db/conf/sigmod/sigmod2019.html找到所有论文。任意点一篇进去,如Answering Multi-Dimensional Analytical Queries under Local Differential Privacy这篇文章,跳转到https://dl.acm.org/doi/10.1145/3299869.3319891里。

1、下载单篇论文

我们先来看如何用python脚本下载单篇论文,如果我们要下载SIGMOD的这篇论文https://dl.acm.org/doi/10.1145/3299869.3319891
如图,右键网站上的“PDF”–“检查”,可以看到右边红色框内的pdf链接。点击链接会跳转到下面的网站https://dl.acm.org/doi/pdf/10.1145/3299869.3319891,就是我们要下载的论文地址。
在这里插入图片描述
如果我们知道了链接地址,可以直接用下面的代码下载(完整代码中放在函数download_one_paper.pyget_paper(url, folder, filename)了):

import requests

url= 'https://dl.acm.org/doi/pdf/10.1145/3299869.3319891'
r= requests.get(url)
with open('1.pdf', 'wb') as f:
    f.write(r.content)
    f.close()

2、获得所有论文的链接

可以通过链接下载论文了以后,我们需要考虑如果获得所有论文的链接。
网页https://dblp.org/db/conf/sigmod/sigmod2019.html正好提供了,SIGMOD论文下载地址都是如下图格式的。
我们可以用BeautifulSoup模块获得html的解析格式,再遍历如下格式的链接,获得所有论文地址。
在这里插入图片描述

如下是获取所有论文链接的代码(完整代码封装在download_papers.pyget_paper_url_list(html)函数中)

from bs4 import BeautifulSoup
import requests

def getHTMLText(url): # 固定格式,获得html的字符串形式
    try:
        r= requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding= r.apparent_encoding
        return r.text
    except:
        return "getHTMLText error!"

html= getHTMLText('https://dblp.org/db/conf/sigmod/sigmod2019.html')
soup= BeautifulSoup(html, 'html.parser')

paper_url_list= []
for content in soup.find_all('a'): # 枚举html中所有的标签'a'
    url= content.get('href') # 获得href里面的地址
    if (url!=None) and (url[0:16]=='https://doi.org/'):
        paper_url_list.append(url)
paper_url_list= list(set(paper_url_list)) # 去重
for url in paper_url_list:
    print(url)

完整代码

包括两个文件download_one_paper.pydownload_papers.py,第一个文件用来下载一篇论文,第二个文件获得所有论文链接后调用第一个文件下载论文。
用的时候直接:

$ python download_papers.py

在github上有相应代码https://github.com/VFVrPQ/Python_Real_Learning/tree/master/download_paper
另外第一个文件中增加了获得论文标题,和下载后的文件名。

# download_one_paper.py
import requests
import os
from bs4 import BeautifulSoup

# 关键词
TITLE_SHAI= ['privacy', 'private', 'differential', 'local', 'location', 'crowd', 'spatial']

def get_paper(url, folder, filename):
    '''下载单篇论文
        :param url: 要下载的论文url
        :param folder: 保存在本地的路径
        :param filename: 保存在本地的文件名
    '''
    #try:
    if not os.path.exists(folder): # 若文件夹不存在,则创建
        os.mkdir(folder)

    path= folder + '/' + filename
    if not os.path.exists(path): # 若文件不存在,则创建
        r= requests.get(url)
        with open(path, 'wb') as f:
            f.write(r.content)
            f.close()
            print("%s文件保存成功" % (filename))
    else:
        print("%s文件已存在" % (filename))
    #except:
    #    print("%s:爬取失败" % (url))

def getHTMLText(url):
    try:
        r= requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding= r.apparent_encoding
        return r.text
    except:
        return "getHTMLText error!"

def get_paper_name(html):
    '''获取论文标题,根据论文标题关键词筛选
    '''
    soup= BeautifulSoup(html, 'html.parser')
    title=''
    for content in soup.find('h1'):
        title=str(content)
    title= title.replace(':', '-') # 将标题中的冒号改为-

    for shai in TITLE_SHAI: # 根据关键字筛选
        if shai in title.lower():
            return True, title
    return False, title  

def get_pdf_url(html):
    '''获得pdf的链接
    '''
    soup= BeautifulSoup(html, 'html.parser')
    for link in soup.find_all('a'): #
        # <a class="btn big stretched red" href="/doi/pdf/10.1145/3299869.3319891" title="View or Download as a PDF file"><i aria-hidden="true" class="icon-pdf-file"></i>PDF</a>
        url= link.get('href')
        if (url!=None) and (url[0:9]=='/doi/pdf/'): # SIGMOD
            return 'https://dl.acm.org'+link.get('href')
        if (url!=None) and (url[0:38]=='https://link.springer.com/content/pdf/'): # VLDB
            return url
    return None 


def download_one_paper(url, year, typ, conf):
    '''获得下载url,和论文名字(根据论文名字关键词筛选),下载单篇论文
        :param url: 
        :param year: 出版年份
        :param typ: ccf认证类别
        :param conf: 会议名
    '''
    print(url)
    html= getHTMLText(url)
    #print(html.prettify())
    like, papername= get_paper_name(html)
    if like==False:
        print('没有关键字: %s' % (papername))
        return 
    pdf_url= get_pdf_url(html)
    get_paper(url=pdf_url, folder='./paper', filename=year+'-'+typ+'-'+conf+'-'+papername+'.pdf')
    

if __name__ == "__main__":
    #print(len('https://link.springer.com/content/pdf/'))
    download_one_paper('https://dl.acm.org/doi/10.1145/3299869.3319891', '2019', 'A', 'SIGMOD')
    #download_one_paper('https://link.springer.com/article/10.1007/s00778-019-00568-7', '2020', 'A', 'VLDB')
    
    #download_one_paper('https://ieeexplore.ieee.org/document/9155359', '2020', 'A', 'INFOCOM') # failure
# download_papers.py
import requests
import os
from bs4 import BeautifulSoup
# 本地导入
from download_one_paper import getHTMLText, download_one_paper

def get_paper_url_list(html):
    '''获取所有论文的下载地址
    '''
    paper_url_list= []

    soup= BeautifulSoup(html, 'html.parser')
    for content in soup.find_all('a'):
        url= content.get('href')
        if (url!=None) and (url[0:16]=='https://doi.org/'):
            paper_url_list.append(url)
    paper_url_list= list(set(paper_url_list)) # 去重
    return paper_url_list

if __name__ == "__main__":
    conf_list=[
        {
            'url':'https://dblp.org/db/journals/vldb/vldb29.html',
            'year':'2020',
            'typ':'A',
            'conf':'VLDB'
        },
        {
            'url':'https://dblp.org/db/journals/vldb/vldb28.html',
            'year':'2019',
            'typ':'A',
            'conf':'VLDB'
        },
        '''
        {
            'url':'https://dblp.org/db/conf/sigmod/sigmod2019.html',
            'year':'2019',
            'typ':'A',
            'conf':'SIGMOD'
        }'''
    ]
    for conf in conf_list:
        conf_url= conf['url'] # 获取会议的网站
        html= getHTMLText(conf_url)
        paper_url_list= get_paper_url_list(html) # 获取所有论文的下载地址

        totnum_list= len(paper_url_list)
        for i in range(len(paper_url_list)):
            print('\ndealing with %d/%d=%f%%' % (i+1, totnum_list, 100.0*(i+1)/totnum_list)) # 用来观察进度
            paper_url= paper_url_list[i] # paper_url= 'https://doi.org/10.1145/3299869.3314037'
            download_one_paper(paper_url, conf['year'], conf['typ'], conf['conf'])
以前和大家分享过SIGMOD2009的论文,朋友们都很感兴趣,现手里有SIGMOD211的全部论文,再次和大家分享~ 一个包放不下,一共分成了3个包,包含百余篇论文,朋友们可以挑选自己感兴趣的部分下载,我尽量把文章目录写得明白一些。 这是第三部分 Emerging Trends in the Enterprise Data Analytics: Connecting Hadoop and DB2 Warehouse (Page 1161) Fatma Özcan (IBM Almaden Research Center) David Hoa (Silicon Valley Lab) Kevin S. Beyer (IBM Almaden Research Center) Andrey Balmin (IBM Almaden Research Center) Chuan Jie Liu (IBM China) Yu Li (IBM China) Efficient Processing of Data Warehousing Queries in a Split Execution Environment (Page 1165) Kamil Bajda-Pawlikowski (Hadapt Inc. & Yale University) Daniel J. Abadi (Hadapt Inc. & Yale University) Avi Silberschatz (Yale University) Erik Paulson (University of Wisconsin - Madison) SQL Server Column Store Indexes (Page 1177) Per-Åke Larson (Microsoft) Cipri Clinciu (Microsoft) Eric N. Hanson (Microsoft) Artem Oks (Microsoft) Susan L. Price (Microsoft) Srikumar Rangarajan (Microsoft) Aleksandras Surna (Microsoft) Qingqing Zhou (Microsoft) An Analytic Data Engine for Visualization in Tableau (Page 1185) Richard Wesley (Tableau Software) Matthew Eldridge (Tableau Software) Pawel Terlecki (Tableau Software) (Return to Top) Tutorials Learning Statistical Models from Relational Data (Page 1195) Lise Getoor (University of Maryland) Lilyana Mihalkova (University of Maryland) Web Data Management (Page 1199) Michael J. Cafarella (University of Michigan) Alon Y. Halevy (Google, Inc.) Privacy-Aware Data Management in Information Networks (Page 1201) Michael Hay (Cornell University) Kun Liu (Yahoo! Labs) Gerome Miklau (University of Massachusetts, Amherst) Jian Pei (Simon Fraser University) Evimaria Terzi (Boston University) Large-Scale Copy Detection (Page 1205) Xin Luna Dong (AT&T Labs-Research) Divesh Srivastava (AT&T Labs-Research) Data Management Over Flash Memory (Page 1209) Ioannis Koltsidas (IBM Research) Stratis D. Viglas (University of Edinburgh) Datalog and Emerging Applications: An Interactive Tutorial (Page 1213) Shan Shan Huang (LogicBlox, Inc.) Todd J. Green (University of California, Davis) Boon Thau Loo (University of Pennsylvania) (Return to Top) Demo Session 1: Systems and Performance One-Pass Data Mining Algorithms in a DBMS with UDFs (Page 1217) Carlos Ordonez (University of Houston) Sasi K. Pitchaimalai (University of Houston) Inspector Gadget: A Framework for Custom Monitoring and Debugging of Distributed Dataflows (Page 1221) Christopher Olston (Yahoo! Research) Benjamin Reed (Yahoo! Research) RAFT at Work: Speeding-Up MapReduce Applications Under Task and Node Failures (Page 1225) Jorge-Arnulfo Quiané-Ruiz (Saarland University) Christoph Pinkel (Saarland University) Jörg Schad (Saarland University) Jens Dittrich (Saarland University) WattDB: An Energy-Proportional Cluster of Wimpy Nodes (Page 1229) Daniel Schall (TU Kaiserslautern) Volker Hudlet (TU Kaiserslautern) BRRL: A Recovery Library for Main-Memory Applications in the Cloud (Page 1233) Tuan Cao (Cornell University) Benjamin Sowell (Cornell University) Marcos Vaz Salles (Cornell University) Alan Demers (Cornell University) Johannes Gehrke (Cornell University) A Data-Oriented Transaction Execution Engine and Supporting Tools (Page 1237) Ippokratis Pandis (Carnegie Mellon University & École Polytechnique Fédérale de Lausanne) Pinar Tözün (École Polytechnique Fédérale de Lausanne) Miguel Branco (École Polytechnique Fédérale de Lausanne) Dimitris Karampinas (University of Patras) Danica Porobic (École Polytechnique Fédérale de Lausanne) Ryan Johnson (University of Toronto) Anastasia Ailamaki (École Polytechnique Fédérale de Lausanne & Carnegie Mellon University) iGraph in Action: Performance Analysis of Disk-Based Graph Indexing Techniques (Page 1241) Wook-Shin Han (Kyungpook National University) Minh-Duc Pham (Kyungpook National University) Jinsoo Lee (Kyungpook National University) Romans Kasperovics (Kyungpook National University) Jeffrey Xu Yu (Chinese University of Hong Kong) StreamRec: A Real-Time Recommender System (Page 1243) Badrish Chandramouli (Microsoft Research) Justin J. Levandoski (University of Minnesota) Ahmed Eldawy (University of Minnesota) Mohamed F. Mokbel (University of Minnesota) (Return to Top) Demo Session 2: Ranking, the Web, and Social Media SkylineSearch: Semantic Ranking and Result Visualization for PubMed (Page 1247) Julia Stoyanovich (University of Pennsylvania) Mayur Lodha (Columbia University) William Mee (Columbia University) Kenneth A. Ross (Columbia University) A Cross-Service Travel Engine for Trip Planning (Page 1251) Gang Chen (Zhejiang University) Chen Liu (National University of Singapore) Meiyu Lu (National University of Singapore) Beng Chin Ooi (National University of Singapore) Shanshan Ying (National University of Singapore) Anthony K. H. Tung (National University of Singapore) Dongxiang Zhang (National University of Singapore) Meihui Zhang (National University of Singapore) WINACS: Construction and Analysis of Web-Based Computer Science Information Networks (Page 1255) Tim Weninger (University of Illinois Urbana-Champaign) Marina Danilevsky (University of Illinois Urbana-Champaign) Fabio Fumarola (Universitá degli Studi di Bari) Joshua Hailpern (University of Illinois Urbana-Champaign) Jiawei Han (University of Illinois Urbana-Champaign) Thomas J. Johnston (University of Illinois Urbana-Champaign) Surya Kallumadi (Kansas State University) Hyungsul Kim (University of Illinois Urbana-Champaign) Zhijin Li (University of Illinois Urbana-Champaign) David McCloskey (University of Illinois Urbana-Champaign) Yizhou Sun (University of Illinois Urbana-Champaign) Nathan E. TeGrotenhuis (Whitworth University) Chi Wang (University of Illinois Urbana-Champaign) Xiao Yu (University of Illinois Urbana-Champaign) Tweets as Data: Demonstration of TweeQL and TwitInfo (Page 1259) Adam Marcus (Massachusetts Institute of Technology) Michael S. Bernstein (Massachusetts Institute of Technology) Osama Badar (Massachusetts Institute of Technology) David R. Karger (Massachusetts Institute of Technology) Samuel Madden (Massachusetts Institute of Technology) Robert C. Miller (Massachusetts Institute of Technology) MOBIES: Mobile-Interface Enhancement Service for Hidden Web Database (Page 1263) Xin Jin (George Washington University) Aditya Mone (University of Texas at Arlington) Nan Zhang (George Washington University) Gautam Das (University of Texas at Arlington) Search Computing: Multi-Domain Search on Ranked Data (Page 1267) Alessandro Bozzon (Politecnico di Milano) Daniele Braga (Politecnico di Milano) Marco Brambilla (Politecnico di Milano) Stefano Ceri (Politecnico di Milano) Francesco Corcoglioniti (Politecnico di Milano) Piero Fraternali (Politecnico di Milano) Salvatore Vadacca (Politecnico di Milano) EnBlogue - Emergent Topic Detection in Web 2.0 Streams (Page 1271) Foteini Alvanaki (Saarland University) Michel Sebastian (Saarland University) Krithi Ramamritham (IIT Bombay) Gerhard Weikum (Max-Planck Institute Informatics) NOAM: News Outlets Analysis and Monitoring System (Page 1275) Ilias Flaounas (University of Bristol) Omar Ali (University of Bristol) Marco Turchi (European Commission) Tristan Snowsill (University of Bristol) Florent Nicart (Université de Rouen) Tijl De Bie (University of Bristol) Nello Cristianini (University of Bristol) (Return to Top) Demo Session 3: Data Integration and Probabilistic Databases Pay-As-You-Go Mapping Selection in Dataspaces (Page 1279) Cornelia Hedeler (The University of Manchester) Khalid Belhajjame (The University of Manchester) Norman W. Paton (The University of Manchester) Alvaro A. A. Fernandes (The University of Manchester) Suzanne M. Embury (The University of Manchester) Lu Mao (The University of Manchester) Chenjuan Guo (The University of Manchester) Exelixis: Evolving Ontology-Based Data Integration System (Page 1283) Haridimos Kondylakis (FORTH-ICS) Dimitris Plexousakis (FORTH-ICS) U-MAP: A System for Usage-Based Schema Matching and Mapping (Page 1287) Hazem Elmeleegy (AT&T Labs - Research) Jaewoo Lee (Purdue University) El Kindi Rezig (Purdue University) Mourad Ouzzani (Purdue University) Ahmed Elmagarmid (Qatar Computing Research Institute, Qatar Foundation) The System T IDE: An Integrated Development Environment for Information Extraction Rules (Page 1291) Laura Chiticariu (IBM Research - Almaden) Vivian Chu (IBM research - Almaden) Sajib Dasgupta (IBM Research - Almaden) Thilo W. Goetz (IBM Software - Germany) Howard Ho (IBM Research - Almaden) Rajasekar Krishnamurthy (IBM Research - Almaden) Alexander Lang (IBM Software - Germany) Yunyao Li (IBM Research - Almaden) Bin Liu (University of Michigan) Frederick R. Reiss (IBM Research - Almaden) Shivakumar Vaithyanathan (IBM Research - Almaden) Huaiyu Zhu (IBM Research - Almaden) ProApproX: A Lightweight Approximation Query Processor over Probabilistic Trees (Page 1295) Pierre Senellart (Institut Télécom; Télécom ParisTech) Asma Souihli (Institut Télécom; Télécom ParisTech) SPROUT²: A Squared Query Engine for Uncertain Web Data (Page 1299) Robert Fink (University of Oxford) Andrew Hogue (Google Inc.) Dan Olteanu (University of Oxford) Swaroop Rath (University of Oxford) Fuzzy Prophet: Parameter Exploration in Uncertain Enterprise Scenarios (Page 1303) Oliver Kennedy (École Polytechnique Fédérale de Lausanne) Steve Lee (Microsoft Corporation) Charles Loboz (Microsoft Corporation) Slawek Smyl (Microsoft Corporation) Suman Nath (Microsoft Research) LinkDB: A Probabilistic Linkage Database System (Page 1307) Ekaterini Ioannou (Technical University of Crete) Wolfgang Nejdl (L3S Research Center) Claudia Niederée (L3S Research Center) Yannis Velegrakis (University of Trento) (Return to Top) Demo Session 4: User Support and Development Environments CONFLuEnCE: CONtinuous workFLow ExeCution Engine (Page 1311) Panayiotis Neophytou (University of Pittsburgh) Panos K. Chrysanthis (University of Pittsburgh) Alexandros Labrinidis (University of Pittsburgh) Demonstration of Qurk: A Query Processor for Human Operators (Page 1315) Adam Marcus (Massachusetts Institute of Technology) Eugene Wu (Massachusetts Institute of Technology) David R. Karger (Massachusetts Institute of Technology) Samuel Madden (Massachusetts Institute of Technology) Robert C. Miller (Massachusetts Institute of Technology) Automatic Example Queries for Ad Hoc Databases (Page 1319) Bill Howe (University of Washington) Garret Cole (University of Washington) Nodira Khoussainova (University of Washington) Leilani Battle (University of Washington) (Return to Top) NetTrails: A Declarative Platform for Maintaining and Querying Provenance in Distributed Systems (Page 1323) Wenchao Zhou (University of Pennsylvania) Qiong Fei (University of Pennsylvania) Shengzhi Sun (University of Pennsylvania) Tao Tao (University of Pennsylvania) Andreas Haeberlen (University of Pennsylvania) Zachary Ives (University of Pennsylvania) Boon Thau Loo (University of Pennsylvania) Micah Sherr (Georgetown University) GBLENDER: Visual Subgraph Query Formulation Meets Query Processing (Page 1327) Changjiu Jin (Nanyang Technological University) Sourav S. Bhowmick (Nanyang Technological University) Xiaokui Xiao (Nanyang Technological University) Byron Choi (Hong Kong Baptist University) Shuigeng Zhou (Fudan University) Coordination Through Querying in the Youtopia System (Page 1331) Nitin Gupta (Cornell University) Lucja Kot (Cornell University) Gabriel Bender (Cornell University) Sudip Roy (Cornell University) Johannes Gehrke (Cornell University) Christoph Koch (École Polytechnique Fédérale de Lausanne) DBWiki: A Structured Wiki for Curated Data and Collaborative Data Management (Page 1335) Peter Buneman (University of Edinburgh) James Cheney (University of Edinburgh) Sam Lindley (University of Edinburgh) Heiko Müller (CSIRO) Rapid Development of Web-Based Query Interfaces for XML Datasets with QURSED (Page 1339) Abhijith Kashyap (SUNY at Buffalo) Michalis Petropoulos (SUNY at Buffalo)
这是前面的13篇论文 1 Keyword search on structured and semi-structured data Yi Chen, Wei Wang, Ziyang Liu, Xuemin Lin Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data 2 Efficient type-ahead search on relational data: a TASTIER approach Guoliang Li, Shengyue Ji, Chen Li, Jianhua Feng 3 FlashLogging: exploiting flash devices for synchronous logging performance Shimin Chen 4 Query processing techniques for solid state drives Dimitris Tsirogiannis, Stavros Harizopoulos, Mehul A. Shah, Janet L. Wiener, Goetz Graefe 5 A revised r*-tree in comparison with related index structures Norbert Beckmann, Bernhard Seeger 6 ZStream: a cost-based query processor for adaptively detecting composite events Yuan Mei, Samuel Madden Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data Composite (or Complex) event processing (CEP) systems search sequences of incoming events for occurrences of user-specified event patterns. Recently, they have gained more attention in a variety of areas due to their powerful and expressive ... 7 A comparison of flexible schemas for software as a service Stefan Aulbach, Dean Jacobs, Alfons Kemper, Michael Seibold Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data A multi-tenant database system for Software as a Service (SaaS) should offer schemas that are flexible in that they can be extended different versions of the application and dynamically modified while the system is on-line. This ... 8 Query optimizers: time to rethink the contract? Surajit Chaudhuri Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data Query Optimization is expected to produce good execution plans for complex queries while taking relatively small optimization time. Moreover, it is expected to pick the execution plans with rather limited knowledge of data and without any ... 9 Keyword search in databases: the power of RDBMS Lu Qin, Jeffrey Xu Yu, Lijun Chang Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data Keyword search in relational databases (RDBs) has been extensively studied recently. A keyword search (or a keyword query) in RDBs is specified by a set of keywords to explore the interconnected tuple structures in an RDB ... 10 ROX: run-time optimization of XQueries Riham Abdel Kader, Peter Boncz, Stefan Manegold, Maurice van Keulen Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data Optimization of complex XQueries combining many XPath steps and joins is currently hindered by the absence of good cardinality estimation and cost models for XQuery. Additionally, the state-of-the-art of even relational query optimization still ... 11 Query by output Quoc Trung Tran, Chee-Yong Chan, Srinivasan Parthasarathy Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data It has recently been asserted that the usability of a database is as important as its capability. Understanding the database schema, the hidden relationships among attributes in the data all play an important role in this context. Subscribing ... 12 Ranking distributed probabilistic data Feifei Li, Ke Yi, Jeffrey Jestes Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data Ranking queries are essential tools to process large amounts of probabilistic data that encode exponentially many possible deterministic instances. In many applications where uncertainty and fuzzy information arise, data are collected from ... 13 Authenticated join processing in outsourced databases Yin Yang, Dimitris Papadias, Stavros Papadopoulos, Panos Kalnis Jun. 2009 Proceedings of the 35th SIGMOD international conference on Management of data Database outsourcing requires that a query server constructs a proof of result correctness, which can be verified by the client using the data owner's signature. Previous authentication techniques deal with range queries on a single relation ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值