WO2017113687A1 - 爬虫系统及方法 - Google Patents

爬虫系统及方法 Download PDF

Info

Publication number
WO2017113687A1
WO2017113687A1 PCT/CN2016/088543 CN2016088543W WO2017113687A1 WO 2017113687 A1 WO2017113687 A1 WO 2017113687A1 CN 2016088543 W CN2016088543 W CN 2016088543W WO 2017113687 A1 WO2017113687 A1 WO 2017113687A1
Authority
WO
WIPO (PCT)
Prior art keywords
crawling
task
webpage
crawler
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2016/088543
Other languages
English (en)
French (fr)
Inventor
邹奇峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Le Holdings Beijing Co Ltd
LeTV Information Technology Beijing Co Ltd
Original Assignee
Le Holdings Beijing Co Ltd
LeTV Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Le Holdings Beijing Co Ltd, LeTV Information Technology Beijing Co Ltd filed Critical Le Holdings Beijing Co Ltd
Priority to US15/242,430 priority Critical patent/US20170185678A1/en
Publication of WO2017113687A1 publication Critical patent/WO2017113687A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Definitions

  • the present invention relates to webpage search technology, and in particular to a web crawler system and method.
  • Web crawler is a program that automatically extracts web pages. It downloads web pages from the Internet for search engines and is an important component of search engines.
  • the traditional crawler starts from the uniform resource locator (URL) of one or several initial web pages, obtains the URL on the initial webpage, and then starts the crawler module to crawl the webpage.
  • URL uniform resource locator
  • the new URL is continuously extracted from the current webpage. Into the queue and continue the analysis, so repeated, until the traversal of the entire Internet while the latter meets certain stop conditions of the system.
  • the crawler module Since the crawler module retrieves the webpage data from the URL address, it needs to obtain the IP address of the webpage and the access port through the URL. In this process, the crawling task stops because the illegal URL address may cause the crawler module to block for a long time. Affects the crawling efficiency of the entire system.
  • the present invention provides a crawler system and a crawler method for preventing DNS blocking to solve the above problems.
  • a crawler system comprising: a webpage analyzer for analyzing a webpage, and acquiring an IP address of the webpage from a DNS server to generate a crawling task; and a task module for using the crawler The task is stored in the task queue; and the crawler module is configured to obtain the crawl task from the task queue and crawl the webpage data.
  • a crawling method comprising: a webpage analyzing step of analyzing a webpage, obtaining an IP address of the webpage from a DNS server, generating a crawling task, and storing the crawling task to the task a queue; and a crawling step: obtaining the crawling task from the task queue and crawling webpage data.
  • An embodiment of the present invention provides a crawler system, including: a webpage analyzer, configured to analyze a webpage, obtain an IP address of a webpage from a DNS server, and generate a crawling task; and a task module, configured to store the crawling task And a crawler module, configured to obtain the crawling task from the task queue, and crawl webpage data.
  • the crawler system and the crawling method of the embodiment of the present invention perform DNS query in the webpage analysis to prevent the DNS query from causing pipeline blocking during the crawling process and improve the crawling efficiency.
  • FIG. 1 is a deployment diagram of a crawler system according to an embodiment of the present invention.
  • FIG. 2 is a timing chart of a crawler system according to an embodiment of the present invention.
  • FIG. 3 is a timing diagram of a web page analyzer in an implementation of the present invention.
  • FIG. 4 is a flowchart of a configuration unit of a crawler module according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a first scheduling unit of a crawler module according to an embodiment of the present invention.
  • FIG. 6 is a flow chart of a crawler unit of a crawler module according to an embodiment of the present invention.
  • FIG. 7 is a flow chart of receiving data in a crawler unit of a crawler module according to an embodiment of the present invention.
  • Figure 8 is a schematic block diagram of a computing device for performing a crawler method in accordance with an embodiment of the present invention.
  • Fig. 9 schematically shows a storage unit for holding or carrying program code implementing a crawler method according to an embodiment of the present invention.
  • the REDIS server is a server on which the REDIS data storage management system is installed, and is used for storing crawling tasks and recording crawled web pages.
  • the crawler server is responsible for crawling the webpage from the web server and storing the webpage locally; then extracting a valid URL from the crawled webpage into the REDIS task queue.
  • the WEB server includes web servers provided by various Internet service providers, such as portals: Tencent, Sina, and Phoenix.
  • the REDIS server is just a storage demonstration of storage crawling tasks. Other storage methods can achieve the same effect for those skilled in the art, for example, using MQ to store message queues or storing crawling tasks into the ORACLE database, but The REDIS database has advantages in high concurrency data storage and retrieval.
  • the crawler system described in the embodiment of the present invention is deployed on a crawler server.
  • the crawler system includes: a webpage analyzer, a task module, and a crawler module.
  • the webpage analyzer analyzes the webpage, and obtains the IP address of the webpage from the DNS server to generate a crawling task; the task module crawls the task storage. Go to the task queue on the REDIS server; the crawler module gets the crawl task from the task queue and crawls the web page data.
  • the web page parser and the crawler module work in two different processes or threads, respectively, for message passing through the task module. The benefit of this is that asynchronous operations avoid blocking.
  • the crawler module is divided into functions including a first scheduling unit, a crawler unit, and a configuration unit.
  • the first scheduling is responsible for obtaining the crawling task from the task queue and distributing to the plurality of working queues; the crawling unit obtains the crawling task from the working queue, and crawls the webpage data from the WEB server according to the crawling task; the configuration unit configures according to the configuration file.
  • the required environment variables for a scheduling unit and a crawl unit are responsible for obtaining the crawling task from the task queue and distributing to the plurality of working queues; the crawling unit obtains the crawling task from the working queue, and crawls the webpage data from the WEB server according to the crawling task; the configuration unit configures according to the configuration file.
  • the required environment variables for a scheduling unit and a crawl unit are examples of the configuration file.
  • the configuration module When the crawler module starts, the configuration module is first called to initialize the system resources, create a thread pool that executes the first scheduling unit and the crawl unit, and apply for a work team for each crawl thread. Column.
  • the interaction relationship between the first scheduling thread, the crawling thread, the web page analyzer, the DNS server, and the WEB server is as shown in FIG. 2.
  • the webpage analyzer first analyzes the webpage data, generates a crawling task, and stores it in the REDIS queue through the task process of the task module.
  • the first scheduling thread acquires a task from the REDIS queue, and allocates it to a work queue corresponding to each crawling thread.
  • Each crawling thread periodically reads a task from the corresponding working queue, obtains webpage data from the web server, and obtains webpage data from the webpage.
  • the URL address, IP, port, summary, and the like are extracted to form an index file of the webpage data, and the webpage data is stored on the disk.
  • the webpage analyzer further analyzes the webpage data that has been crawled to the local area, obtains the relevant URL address that is not crawled in the webpage, and generates a new crawling task to be stored in the task queue on the REDIS server.
  • FIG. 3 shows a sequence diagram of a web page analyzer in an embodiment of the present invention.
  • the web page analyzer includes a second scheduling module, a DNS working module, and a push module.
  • the second scheduling module acquires webpage data and extracts a webpage URL according to the webpage data.
  • the DNS work module obtains an IP address from the DNS server based on the web page URL and generates a crawl task.
  • the push module pushes the crawl task to the task module.
  • the second scheduling thread in FIG. 3 performs the function of the second scheduling module, and the DNS worker thread performs the function of the DNS working module, and the pushing thread executes the function of the pushing module.
  • the second scheduling thread first reads the webpage data from the local disk, and submits the uncrawled URL to the DNS worker thread.
  • the DNS worker thread obtains the mapping relationship between the URL address and the IP address from the DNS server query, and sends the mapping relationship to the push thread, and the push thread will The generated crawl task is pushed to the task process of the task module.
  • the DNS worker thread caches the mapping between the URL address and the IP address to the local database, avoiding repeated queries to the queried URL address.
  • the DNS worker thread locally saves the URL address blacklist and stores the illegal URL address. In this way, the DNS worker thread can perform URL address verification through the local cache and the URL blacklist before each query of the URL address, so as to improve the efficiency of DNS query.
  • FIG. 4 is a flow chart of a configuration unit of a crawler module according to an embodiment of the present invention.
  • the configuration unit shown in Figure 4 includes steps 401-406.
  • step 401 the input options are parsed. Input options specify the profile path, whether it is run in the background, display help information, and more.
  • step 402 the process is locked. Since multiple crawler processes may be running in one directory at the same time, problems such as confusion between processes and crawling of web pages may occur. Adding a file lock when the process starts can effectively prevent this problem from occurring.
  • step 403 the configuration data is loaded. Loads the specified configuration file according to the input options to prepare for subsequent initialization.
  • step 404 it is determined whether the configuration data is abnormal. If the configuration data is abnormal, the program ends. If the configuration data is normal, go to step 405.
  • a work queue is created.
  • the work queue is used to store information such as the URL of the web page that the crawler will crawl, the server IP+ port, and so on.
  • a thread pool is created. There are crawler thread pools, scheduling thread pools, etc. in the crawler process.
  • the crawler thread is responsible for crawling the webpage from the WEB server, and the dispatching thread is responsible for distributing the tasks in the REDIS queue to the work queue.
  • FIG. 5 is a flowchart of a first scheduling unit of a crawler module according to an embodiment of the present invention.
  • the first scheduling unit as shown in FIG. 5 includes steps 501-509.
  • step 501 the REDIS server is connected.
  • the first scheduling thread needs to obtain the crawling task from the REDIS server, so it is necessary to create a connection context with the REDIS server.
  • the REDIS server connection is not thread-safe, so either a single thread uses the connection alone or uses a mutex during use.
  • step 502 sleep specifies a time.
  • step 503 it is determined whether the scheduling status is running.
  • the scheduling state There are two states in the scheduling state: the running state and the pause state. When in the running state, it is allowed to obtain the crawling task from the REDIS server; when in the suspended state, the crawling task is not allowed to be obtained from the REDIS server. Thus, by controlling the scheduling state, the number of webpages crawled by the crawler is controlled.
  • step 504 the work queue space is obtained from the applied work queue. Since the crawling task finally needs to be put into the work queue, in order to prevent the shortage of the working queue space after the crawling is obtained from the REDIS queue, the working queue space is first requested for the crawling thread in the loop. Applying for the queue space at this time will also reduce the number of data copies of subsequent "parsing crawl tasks".
  • step 505 the application space is sufficient. Determine if you can apply for enough work queues. If yes, go to step 506, otherwise go to step 502.
  • a crawl task is obtained from the REDIS server.
  • the data of the specified REDIS queue can be obtained according to the REDIS context and the LPOP command.
  • step 507 it is determined that the acquisition is successful, and if successful, step 508 is performed, otherwise step 502 is performed.
  • step 508 the crawl task is parsed. Parse and extract valid data from the XML format crawl task.
  • step 509 the work queue is placed. Distribute the acquired tasks to different work queues.
  • FIG. 6 is a flow chart of a crawler unit of a crawler module according to an embodiment of the present invention, including steps 601-606.
  • the crawler task is initialized.
  • the initialization task includes processing such as obtaining a crawl task and allocating resources for the task.
  • the event notification mechanism is not used to manage whether a crawl task needs to be acquired, but each loop determines whether a crawl task needs to be acquired.
  • This process also includes processing such as connecting to the WEB server, assembling GET requests, setting event notifications (writes), registering event callbacks, and related resource allocation.
  • step 602 it is determined whether an event notification has been received. A readable or writable event notification is received, step 604 is performed, otherwise step 603 is performed.
  • step 603 the connection is deleted by timeout. Due to the large number of WEB servers, their respective statuses are different. After sending a GET request, the response time is also different, and there is no response message at all. In order to prevent the WEB server from responding for a long time and occupying system resources for a long time, it will forcibly close the connection with no response timeout.
  • step 604 a readable or writable connection is obtained.
  • step 602 a readable or writable connection event notification is received, and in this step, the connection in which the event notification occurs is obtained.
  • step 605 the response data is received on a readable connection.
  • a GET request is sent on a writable connection. Will be sent in the linked list
  • the GET request is sent to the WEB server, and if the transmission is completed, a response read event is set.
  • FIG. 7 is a flow chart of receiving data in a crawler unit of a crawler module according to an embodiment of the present invention, including steps 701-708.
  • step 701 data is received.
  • the use of read operations to receive response data, the most important is the correlation judgment and processing of its return value N.
  • step 702 a return value N is determined.
  • step 703 the data is parsed and cached locally.
  • the return value N>0 it means that the data of length n is received.
  • the subsequent processing includes extracting the HTTP header information; if the data length in the cache exceeds the buffer threshold at this time, the synchronization operation is performed; if the actual reception length is equal to the length in the HTTP header, the reception is considered to be completed, and the cache is required to be cached. deal with.
  • step 704 the error code errno value is determined.
  • the errno is EINTR at this time, indicating that the read operation is interrupted, and the read operation needs to be continued, and step 701 is executed; when errno is EAGAIN, it indicates that all data reception is completed, waiting for the next time.
  • the secondary event notification continues to receive data, and the program ends; when errno is a value other than EINTR and EAGAIN, an abnormality occurs, and step 706 is performed.
  • step 705 it is determined whether the reception is completed. If yes, go to step 706, otherwise go to step 701.
  • step 706 the cache is synchronized.
  • step 707 an index file is created.
  • step 708 the network connection is released.
  • An embodiment of the present invention provides a crawler system, including: a webpage analyzer, configured to analyze a webpage, obtain an IP address of a webpage from a DNS server, and generate a crawling task; and a task module, configured to store the crawling task And a crawler module, configured to obtain the crawling task from the task queue, and crawl webpage data.
  • the crawler system and the crawling method of the embodiment of the present invention perform DNS query in the webpage analysis to prevent the DNS query from causing pipeline blocking during the crawling process and improve the crawling efficiency.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or all of the functionality of some or all of the components in accordance with embodiments of the present invention.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals.
  • Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
  • Figure 8 illustrates a computing device that can implement the crawling method in accordance with the present invention.
  • the computing device traditionally includes a processor 810 and a computer program product or computer readable medium in the form of a storage device 820.
  • Storage device 820 can be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk, or ROM.
  • Storage device 820 has a storage space 830 that stores program code 831 for performing any of the method steps described above.
  • storage space 830 storing program code may include various program code 831 for implementing various steps in the above methods, respectively.
  • the program code can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as a hard disk, a compact disk (CD), a memory card, or a floppy disk.
  • a computer program product is typically a portable or fixed storage unit such as that shown in FIG.
  • the storage unit may have storage segments, storage spaces, and the like that are similarly arranged to storage device 820 in the computing device of FIG.
  • the program code can be compressed, for example, in an appropriate form.
  • the storage unit comprises computer readable code 831' for performing the steps of the method according to the invention, ie code that can be read by a processor, such as 810, which when executed by the computing device causes the computing device Perform the various steps in the method described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种爬虫系统及方法,其中,爬虫系统包括:网页分析器,用于对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务;任务模块,用于将所述爬取任务存储到任务队列;以及爬虫模块,用于从所述任务队列中获取所述爬取任务,爬取网页数据。

Description

爬虫系统及方法
相关申请的交叉参考
本申请要求于2015年12月28日提交中国专利局、申请号为201511001550.6、发明名称为“爬虫系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及网页搜索技术,尤其涉及一种网页爬虫系统及方法。
背景技术
网络爬虫是一个自动提取网页的程序,它为搜索引擎从互联网(internet)上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的统一资源定位符(URL)开始,获得初始网页上的URL,然后启动爬虫模块抓取网页,在网页抓取过程中,不断从当前页面上抽取新的URL放入队列并继续进行分析,如此周而复始,直到遍历完整个互联网后者满足系统的一定停止条件时停止。
由于爬虫模块在抓取网页数据时,从URL地址,因此需要通过URL获取网页的IP地址以及访问端口,在此过程中,由于非法URL地址可能导致爬虫模块长时间阻塞,导致爬取任务停止,影响整个系统的爬取效率。
发明内容
有鉴于此,本发明提供一种防止DNS阻塞的爬虫系统和爬虫方法,以解决上述问题。
根据本发明的一个方面,提供一种爬虫系统,包括:网页分析器,用于对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务;任务模块,用于将所述爬取任务存储到任务队列;以及爬虫模块,用于从所述任务队列中获取所述爬取任务,爬取网页数据。
根据本发明的另一个方面,提供一种爬虫方法,包括:网页分析步骤:对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务,并将所述爬取任务存储到任务队列;以及爬取步骤:从所述任务队列中获取所述爬取任务,爬取网页数据。
本发明实施例提供一种爬虫系统,包括:网页分析器,用于对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务;任务模块,用于将所述爬取任务存储到任务队列;以及爬虫模块,用于从所述任务队列中获取所述爬取任务,爬取网页数据。本发明实施例的爬虫系统和爬虫方法,在网页分析中执行DNS查询,避免DNS查询在爬取过程中造成管道阻塞,提高爬虫效率。
附图概述
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例的爬虫系统的部署图;
图2是本发明实施例的爬虫系统的时序图;
图3是本发明实施中的网页分析器的时序图;
图4是本发明实施例的爬虫模块的配置单元的流程图;
图5是本发明实施例的爬虫模块的第一调度单元的流程图;
图6是本发明实施例的爬虫模块的爬虫单元的流程图;
图7是本发明实施例的爬虫模块的爬虫单元中接收数据的流程图;
图8示意性地示出了用于执行根据本发明实施例的爬虫方法的计算设备的框图;
图9示意性地示出了用于保持或者携带实现根据本发明实施例的爬虫方法的程序代码的存储单元。
本发明的较佳实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是本发明实施例的爬虫系统的部署图。如图1所示,爬虫服务器、REDIS服务器和WEB服务器协同工作,完成网页数据的爬取。其中,REDIS服务器指安装REDIS数据存储管理系统的服务器,用于存储爬取任务、记录已爬网页等信息。爬虫服务器负责从WEB服务器爬取网页,并将网页存储在本地;再从已爬取网页中抽取有效URL放入REDIS任务队列。WEB服务器包括各个互联网服务提供商提供的网页服务器,如门户网站:腾讯、新浪、凤凰网等。REDIS服务器只是一种存储爬取任务的存储示范,对本领域的技术人员来说,其他存储方式也能达到相同的效果,例如,采用MQ存储消息队列,或将爬取任务存储到ORACLE数据库,但是REDIS数据库在高并发性的数据存储和检索方面具有优势。
本发明实施例所述的爬虫系统部署在爬虫服务器上。根据功能划分,这里将爬虫系统包括:网页分析器、任务模块和爬虫模块,网页分析器对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务;任务模块将爬取任务存储到REDIS服务器上的任务队列;爬虫模块从任务队列中获取爬取任务,爬取网页数据。在一个可选的实施例中,网页分析器和爬虫模块分别在两个不同的进程或线程中工作,通过任务模块进行消息传递。这样做的益处是异步操作避免阻塞。
爬虫模块按功能划分包括第一调度单元、爬虫单元和配置单元。第一调度负责从任务队列获取爬取任务,分发到多个工作队列;爬取单元从工作队列中获取爬取任务,根据爬取任务从WEB服务器爬取网页数据;配置单元根据配置文件配置第一调度单元和爬取单元的所需环境变量。
在爬虫模块启动时,首先调用配置模块对系统资源进行初始化,创建执行第一调度单元和爬取单元的线程池,并为每个爬取线程申请一个工作队 列。第一调度线程、爬取线程、网页分析器、DNS服务器和WEB服务器的交互关系如图2所示。
在图2中,网页分析器首先对网页数据进行分析,生成爬取任务,通过任务模块的任务进程存储到REDIS队列。第一调度线程从REDIS队列获取任务,分配给每个爬取线程对应的工作队列,每个爬取线程定时从对应的工作队列中读取任务,从WEB服务器上获取网页数据,并从网页数据中提取URL地址、IP、端口、摘要等信息,形成网页数据的索引文件,并将网页数据存储到磁盘上。网页分析器再继续对已经爬取到本地的网页数据分析,获取网页中未爬取的相关URL地址,生成新的爬取任务存放到REDIS服务器上的任务队列中。
图3示出了本发明实施例中的网页分析器的时序图。
网页分析器包括第二调度模块、DNS工作模块和推送模块。第二调度模块获取网页数据,并根据网页数据提取网页URL。DNS工作模块根据网页URL从DNS服务器获取IP地址,并生成爬取任务。推送模块将爬取任务推送到任务模块。图3中的第二调度线程执行第二调度模块的功能,DNS工作线程执行DNS工作模块的功能,推送线程执行推送模块的功能。
第二调度线程首先从本地磁盘读取网页数据,将未爬取的URL提交给DNS工作线程,DNS工作线程从DNS服务器查询获得URL地址和IP地址的映射关系,并发给推送线程,推送线程将生成的爬取任务推送到任务模块的任务进程。在一个可选的实施例中,DNS工作线程将URL地址和IP地址的映射关系缓存到本地数据库,避免对已查询的URL地址重复查询。另外,DNS工作线程同时在本地保存URL地址黑名单,对非法URL地址进行存储。这样,DNS工作线程可以在每次查询URL地址之前,都通过本地缓存和URL黑名单进行URL地址校验,以提高DNS查询效率。
图4是本发明实施例的爬虫模块的配置单元的流程图。如图4所示的配置单元包括步骤401-406。
在步骤401中,解析输入选项。输入选项可指定配置文件路径、是否后台运行、显示帮助信息等。
在步骤402中,锁住进程。由于在一个目录可能同时运行多个爬虫进程,将可能出现进程间通信混乱、爬取网页覆盖等问题。进程启动时加文件锁,可有效防止此问题的出现。
在步骤403中,加载配置数据。根据输入选项加载指定配置文件,为后续初始化做准备。
在步骤404中,判断配置数据是否异常。如果配置数据异常,程序结束,如果配置数据正常,执行步骤405。
在步骤405中,创建工作队列。工作队列用来存储爬虫将要爬取的网页URL、服务器IP+端口等信息。
在步骤406中,创建线程池。爬虫进程中存在爬虫线程池、调度线程池等。其中爬虫线程负责从WEB服务器上爬取网页,调度线程负责将REDIS队列中的任务分发到工作队列中。
图5是本发明实施例的爬虫模块的第一调度单元的流程图。如图5所示的第一调度单元包括步骤501-509。
在步骤501中,连接REDIS服务器。第一调度线程需要从REDIS服务器获取爬取任务,因此需要创建与REDIS服务器的连接上下文。注意:REDIS服务器连接不是线程安全的,因此,要么单个线程独用该连接,要么使用过程中使用互斥锁。
在步骤502中,睡眠指定时间。
在步骤503中,判断调度状态是否为运行。调度状态存在2种状态:运行态和暂停态。当处于运行态时,则允许从REDIS服务器获取爬取任务;当处于暂停态时,则不允许从REDIS服务器获取爬取任务。从而通过对调度状态的控制,来控制爬虫爬取的网页数量。
在步骤504中,从已申请的工作队列里获取工作队列空间。由于爬取任务最终需要放入到工作队列,为了防止从REDIS队列中获取到爬取任何后才发现工作队列空间不足的问题,因此,在循环中得首先为爬取线程申请工作队列空间。此时申请队列空间,也会减少后续“解析爬取任务”的数据拷贝次数。
在步骤505中,申请空间足够。判断是否能申请到足够的工作队列。如果是,执行步骤506,否则执行步骤502。
在步骤506中,从REDIS服务器获取爬取任务。根据REDIS上下文以及LPOP命令可获取指定REDIS队列的数据。
在步骤507中,判断获取成功,如果成功,执行步骤508,否则执行步骤502。
在步骤508中,解析爬取任务。解析并提取XML格式爬取任务中的有效数据。
在步骤509中,放入工作队列。将获取到的任务分发到不同的工作队列。
图6是本发明实施例的爬虫模块的爬虫单元的流程图,包括步骤601-606。
在步骤601中,初始化爬虫任务。初始化任务包括获取爬取任务以及为该任务分配资源等处理。在此并没有采用事件通知机制管理否需要获取爬取任务,而是每次循环都判断是否需要获取爬取任务。此过程中还包括连接WEB服务器、拼装GET请求、设置事件通知(写)、注册事件回调以及相关的资源分配等处理。
在步骤602中,判断是否收到一个事件通知。收到可读或可写事件通知,执行步骤604,否则执行步骤603。
在步骤603中,超时删除连接。由于WEB服务器众多,各自的状态都不相同,发送GET请求后,应答的时间也各有长短,甚至根本就没有应答信息。为了防止WEB服务器长期不响应,长期占用系统资源,将强制关闭超时无响应的连接。
在步骤604中,获得一个可读或可写的连接。在步骤602中,收到一个可读或可写的连接事件通知,在本步骤中,获取发生上述事件通知的连接。
在步骤605中,在一个可读的连接上,接收应答数据。接收WEB-SVR返回的GET应答数据,并最终将应答数据同步磁盘。此过程需要用来缓存机制提高性能,并且接收完毕后,关闭该网络连接。
在步骤606中,在一个可写的连接上,发送GET请求。将发送链表中 的GET请求发送给WEB服务器,如果发送完成,则设置响应读事件。
图7是本发明实施例的爬虫模块的爬虫单元中接收数据的流程图,包括步骤701-708。
在步骤701中,接收数据。使用读操作接收应答数据,最重要的是对其返回值N的相关判断和处理。
在步骤702中,判断返回值N。
在步骤703中,解析数据,本地缓存。当回值N>0,表示收到了长度为n的数据。则其后续处理包括抽取HTTP头部信息;如果此时缓存中数据长度超过缓存阈值时,则进行同步操作;如果实际接收长度与HTTP头部中的长度相等,则认为接收完毕,需要进行缓存的处理。
在步骤704中,判断错误码errno值。当返回值N<0,通过步骤此时errno为EINTR,则表示读操作被中断,需要继续调用读取操作,执行步骤701;此时errno为EAGAIN时,表示此次所有数据接收完成,等待下次事件通知继续接收数据,程序结束;此时errno为EINTR和EAGAIN之外的值时,表示出现异常情况,执行步骤706,
在步骤705中,判断是否接收完毕。如果是,执行步骤706,否则执行步骤701。
在步骤706中,同步缓存。
在步骤707中,创建索引文件。
在步骤708中,释放网络连接。
在步骤706-708中,当返回值N=0,说明服务器主动断开了与网络连接,将缓存中的数据同步至磁盘,并释放相关资源。
本发明实施例提供一种爬虫系统,包括:网页分析器,用于对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务;任务模块,用于将所述爬取任务存储到任务队列;以及爬虫模块,用于从所述任务队列中获取所述爬取任务,爬取网页数据。本发明实施例的爬虫系统和爬虫方法,在网页分析中执行DNS查询,避免DNS查询在爬取过程中造成管道阻塞,提高爬虫效率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图8示出了可以实现根据本发明的爬虫方法的计算设备。该计算设备传统上包括处理器810和以存储设备820形式的计算机程序产品或者计算机可读介质。存储设备820可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储设备820具有存储用于执行上述方法中的任何方法步骤的程序代码831的存储空间830。例如,存储程序代码的存储空间830可以包括分别用于实现上面的方法中的各种步骤的各个程序代码831。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘、紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图9所示的便携式或者固定存储单元。该存储单元可以具有与图8的计算设备中的存储设备820类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的方法步骤的计算机可读代码831',即可以由诸如810之类的处理器读取的代码,当这些代码由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。 在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (14)

  1. 一种爬虫系统,其特征在于,包括:
    网页分析器,用于对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务;
    任务模块,用于将所述爬取任务存储到任务队列;以及
    爬虫模块,用于从所述任务模块中获取所述爬取任务,爬取网页数据。
  2. 根据权利要求1所述的爬虫系统,其特征在于,所述网页分析器和所述爬虫模块在不同的进程或线程中执行。
  3. 根据权利要求2所述的爬虫系统,其特征在于,所述网页分析器在本地缓存网页URL地址和IP地址的映射关系,以及将非法域名保存到黑名单。
  4. 根据权利要求1所述的爬虫系统,其特征在于,所述爬虫模块包括:
    第一调度单元,用于从所述任务队列获取所述爬取任务,分发到多个工作队列;
    爬取单元,用于从所述工作队列中获取所述爬取任务,根据所述爬取任务从WEB服务器爬取所述网页数据;
    配置单元,用于根据配置文件配置所述第一调度单元和爬取单元。
  5. 根据权利要求4所述的爬虫系统,其特征在于,所述任务队列和工作队列通过REDIS数据库存储。
  6. 根据权利要求4所述的爬虫系统,其特征在于,所述配置单元启动多个线程执行所述第一调度单元和所述爬取单元,一个所述爬取单元的线程对应一个所述工作队列。
  7. 根据权利要求1所述的爬虫系统,其特征在于,所述网页分析器包括:
    第二调度模块,用于获取所述网页数据,并根据所述网页数据提取网页URL;
    DNS工作模块,用于根据所述网页URL从所述DNS服务器获取IP地 址,并生成所述爬取任务;
    推送模块,用于将所述爬取任务存储到所述任务模块。
  8. 根据权利要求1所述的爬虫系统,其特征在于,所述爬取任务包括IP地址、URL地址、爬取深度。
  9. 一种爬虫方法,包括:
    网页分析步骤:对网页进行分析,并从DNS服务器获取网页的IP地址,生成爬取任务,并将所述爬取任务存储到任务队列;以及
    爬取步骤:从所述任务队列中获取所述爬取任务,爬取网页数据。
  10. 根据权利要求9所述的爬虫方法,其特征在于,所述网页分析步骤和所述爬取步骤在不同的进程或线程中执行。
  11. 根据权利要求9所述的爬虫方法,还包括:在本地缓存网页URL地址和IP地址的映射关系,以及将非法域名保存到黑名单。
  12. 根据权利要求9所述的爬虫方法,其特征在于,所述任务队列和工作队列通过REDIS数据库存储。
  13. 根据权利要求9所述的爬虫方法,其特征在于,所述爬取步骤启动多个线程爬取网页数据。
  14. 根据权利要求9所述的爬虫方法,其特征在于,所述爬取任务包括IP地址、URL地址、爬取深度。
PCT/CN2016/088543 2015-12-28 2016-07-05 爬虫系统及方法 Ceased WO2017113687A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/242,430 US20170185678A1 (en) 2015-12-28 2016-08-19 Crawler system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201511001550.6 2015-12-28
CN201511001550.6A CN105868258A (zh) 2015-12-28 2015-12-28 爬虫系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/242,430 Continuation US20170185678A1 (en) 2015-12-28 2016-08-19 Crawler system and method

Publications (1)

Publication Number Publication Date
WO2017113687A1 true WO2017113687A1 (zh) 2017-07-06

Family

ID=56624490

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/088543 Ceased WO2017113687A1 (zh) 2015-12-28 2016-07-05 爬虫系统及方法

Country Status (2)

Country Link
CN (1) CN105868258A (zh)
WO (1) WO2017113687A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522469A (zh) * 2018-12-28 2019-03-26 浪潮软件集团有限公司 一种分布式爬虫的调度管理方法
CN109684058A (zh) * 2018-12-18 2019-04-26 成都睿码科技有限责任公司 一种针对多租户可线性扩展的高效爬虫平台及其使用方法
CN111125478A (zh) * 2018-10-30 2020-05-08 北京国双科技有限公司 数据的爬取方法及装置
CN111428112A (zh) * 2020-03-26 2020-07-17 上海浩方信息技术有限公司 基于开源框架进行爬虫检索及大数据智能推荐优化处理的方法
CN111898011A (zh) * 2020-07-15 2020-11-06 北京明亮的星文化传媒有限公司 基于Kubernetes和Typescript扩展数据方法和系统
CN112612941A (zh) * 2020-12-28 2021-04-06 河海大学 一种金融证券舆情信息爬取方法及装置
CN112765438A (zh) * 2021-01-25 2021-05-07 北京星汉博纳医药科技有限公司 一种基于微服务的自动爬虫管理方法
CN114090836A (zh) * 2021-11-30 2022-02-25 深圳前海环融联易信息科技服务有限公司 长耗时异步请求的方法
CN120744213A (zh) * 2024-06-13 2025-10-03 荣耀终端股份有限公司 数据爬取方法、系统和计算机可读存储介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868258A (zh) * 2015-12-28 2016-08-17 乐视网信息技术(北京)股份有限公司 爬虫系统
CN106168985A (zh) * 2016-08-26 2016-11-30 南京车易淘网络信息技术有限公司 一种可快速分布式部署的爬虫方法
CN106502802A (zh) * 2016-10-12 2017-03-15 山东浪潮云服务信息科技有限公司 一种基于Avro RPC传输的分布式云端并发采集方法
CN106776934B (zh) * 2016-11-30 2021-03-26 努比亚技术有限公司 一种移动终端及网络爬虫的实现方法
CN108268498B (zh) * 2016-12-30 2021-06-22 北京国双科技有限公司 批量爬虫任务的处理方法和装置
CN106844712A (zh) * 2017-02-07 2017-06-13 济南浪潮高新科技投资发展有限公司 采用流式计算进行爬取数据的实时分析的实现方法
CN107247789A (zh) * 2017-06-16 2017-10-13 成都布林特信息技术有限公司 基于互联网的用户兴趣采集方法
CN110020066B (zh) * 2017-07-31 2021-09-07 北京国双科技有限公司 一种往爬虫平台注任务的方法及装置
CN108536535A (zh) * 2018-01-24 2018-09-14 北京奇艺世纪科技有限公司 一种dns服务器及其线程控制方法和装置
CN109492145A (zh) * 2018-11-08 2019-03-19 大连瀚闻资讯有限公司 应用于舆情平台的大规模循环爬虫管理方法
CN111125487A (zh) * 2019-12-24 2020-05-08 个体化细胞治疗技术国家地方联合工程实验室(深圳) 一种网络爬虫的爬行方法及装置
CN111400574A (zh) * 2020-03-12 2020-07-10 郑州悉知信息科技股份有限公司 一种异步爬虫系统及数据爬取方法
CN112650570B (zh) * 2020-12-29 2024-09-20 百果园技术(新加坡)有限公司 可动态扩展的分布式爬虫系统、数据处理方法及装置
CN114610975B (zh) * 2022-04-20 2025-09-16 厦门市美亚柏科信息股份有限公司 网页爬取方法、装置、计算设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175243A1 (en) * 2007-01-19 2008-07-24 International Business Machines Corporation System and method for crawl policy management utilizing ip address and ip address range
CN102184227A (zh) * 2011-05-10 2011-09-14 北京邮电大学 一种面向web服务的通用爬虫引擎系统及其工作方法
CN102254027A (zh) * 2011-07-29 2011-11-23 四川长虹电器股份有限公司 批量获取网页内容的方法
CN102469132A (zh) * 2010-11-15 2012-05-23 北大方正集团有限公司 从网站中多个不同ip的服务器抓取网页的方法及系统
CN102902787A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 一种浏览器及其获取dns解析数据的方法
CN103389983A (zh) * 2012-05-08 2013-11-13 阿里巴巴集团控股有限公司 一种用于网络爬虫系统的网页内容抓取方法及装置
US20140325596A1 (en) * 2013-04-29 2014-10-30 Arbor Networks, Inc. Authentication of ip source addresses
CN105868258A (zh) * 2015-12-28 2016-08-17 乐视网信息技术(北京)股份有限公司 爬虫系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561814B (zh) * 2009-05-08 2012-05-09 华中科技大学 基于社会标注的主题爬虫系统
US8285703B1 (en) * 2009-05-13 2012-10-09 Softek Solutions, Inc. Document crawling systems and methods
CN101957866A (zh) * 2010-10-25 2011-01-26 中国农业大学 网络文本信息集成方法和装置
CN102457588A (zh) * 2011-12-20 2012-05-16 北京瑞汛世纪科技有限公司 一种实现反向域名解析的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175243A1 (en) * 2007-01-19 2008-07-24 International Business Machines Corporation System and method for crawl policy management utilizing ip address and ip address range
CN102469132A (zh) * 2010-11-15 2012-05-23 北大方正集团有限公司 从网站中多个不同ip的服务器抓取网页的方法及系统
CN102184227A (zh) * 2011-05-10 2011-09-14 北京邮电大学 一种面向web服务的通用爬虫引擎系统及其工作方法
CN102254027A (zh) * 2011-07-29 2011-11-23 四川长虹电器股份有限公司 批量获取网页内容的方法
CN103389983A (zh) * 2012-05-08 2013-11-13 阿里巴巴集团控股有限公司 一种用于网络爬虫系统的网页内容抓取方法及装置
CN102902787A (zh) * 2012-09-29 2013-01-30 北京奇虎科技有限公司 一种浏览器及其获取dns解析数据的方法
US20140325596A1 (en) * 2013-04-29 2014-10-30 Arbor Networks, Inc. Authentication of ip source addresses
CN105868258A (zh) * 2015-12-28 2016-08-17 乐视网信息技术(北京)股份有限公司 爬虫系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125478A (zh) * 2018-10-30 2020-05-08 北京国双科技有限公司 数据的爬取方法及装置
CN111125478B (zh) * 2018-10-30 2023-05-12 北京国双科技有限公司 数据的爬取方法及装置
CN109684058B (zh) * 2018-12-18 2022-11-04 成都睿码科技有限责任公司 一种针对多租户可线性扩展的高效爬虫平台及其使用方法
CN109684058A (zh) * 2018-12-18 2019-04-26 成都睿码科技有限责任公司 一种针对多租户可线性扩展的高效爬虫平台及其使用方法
CN109522469A (zh) * 2018-12-28 2019-03-26 浪潮软件集团有限公司 一种分布式爬虫的调度管理方法
CN109522469B (zh) * 2018-12-28 2023-06-06 浪潮软件集团有限公司 一种分布式爬虫的调度管理方法
CN111428112A (zh) * 2020-03-26 2020-07-17 上海浩方信息技术有限公司 基于开源框架进行爬虫检索及大数据智能推荐优化处理的方法
CN111898011A (zh) * 2020-07-15 2020-11-06 北京明亮的星文化传媒有限公司 基于Kubernetes和Typescript扩展数据方法和系统
CN112612941B (zh) * 2020-12-28 2022-09-23 河海大学 一种金融证券舆情信息爬取方法及装置
CN112612941A (zh) * 2020-12-28 2021-04-06 河海大学 一种金融证券舆情信息爬取方法及装置
CN112765438A (zh) * 2021-01-25 2021-05-07 北京星汉博纳医药科技有限公司 一种基于微服务的自动爬虫管理方法
CN112765438B (zh) * 2021-01-25 2024-03-26 北京星汉博纳医药科技有限公司 一种基于微服务的自动爬虫管理方法
CN114090836A (zh) * 2021-11-30 2022-02-25 深圳前海环融联易信息科技服务有限公司 长耗时异步请求的方法
CN120744213A (zh) * 2024-06-13 2025-10-03 荣耀终端股份有限公司 数据爬取方法、系统和计算机可读存储介质

Also Published As

Publication number Publication date
CN105868258A (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
WO2017113687A1 (zh) 爬虫系统及方法
US11893041B2 (en) Data synchronization between a source database system and target database system
CN106462582B (zh) 批处理优化渲染和获取架构
US10104037B2 (en) Method and system for network access request control
US10338958B1 (en) Stream adapter for batch-oriented processing frameworks
CN109522029A (zh) 一种部署云平台技术组件的方法及装置
AU2017254647B2 (en) Multi-stage network discovery
CN102880607A (zh) 网络动态内容抓取方法及网络动态内容爬虫系统
US20120216184A1 (en) Runtime code replacement
CN111814024B (zh) 分布式数据采集方法、系统及存储介质
CN103064717A (zh) 一种集群系统并行安装软件的装置和方法
US12360995B2 (en) Multi-cluster query result caching
CN105205167A (zh) 一种日志数据系统
US9501485B2 (en) Methods for facilitating batch analytics on archived data and devices thereof
CN104462158A (zh) 数据抓取方法和数据抓取系统
JP5869010B2 (ja) モバイル検索環境でモバイルurlを提供するシステムおよびその方法
US20160350351A1 (en) In-place updates with concurrent reads in a decomposed state
US9473561B2 (en) Data transmission for transaction processing in a networked environment
US20240272893A1 (en) Version compatibility metadata transformation
US10108745B2 (en) Query processing for XML data using big data technology
US10129328B2 (en) Centralized management of webservice resources in an enterprise
CN113347052B (zh) 通过访问日志统计用户访问数据的方法和装置
US10671636B2 (en) In-memory DB connection support type scheduling method and system for real-time big data analysis in distributed computing environment
US9537941B2 (en) Method and system for verifying quality of server
US8650548B2 (en) Method to derive software use and software data object use characteristics by analyzing attributes of related files

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16880488

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16880488

Country of ref document: EP

Kind code of ref document: A1