CN112256636A - 面向移动应用app的数据采集系统 - Google Patents
面向移动应用app的数据采集系统 Download PDFInfo
- Publication number
- CN112256636A CN112256636A CN202011249010.0A CN202011249010A CN112256636A CN 112256636 A CN112256636 A CN 112256636A CN 202011249010 A CN202011249010 A CN 202011249010A CN 112256636 A CN112256636 A CN 112256636A
- Authority
- CN
- China
- Prior art keywords
- app
- snapshot
- module
- analysis
- task
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向移动应用APP的数据采集系统,包括APP任务分发模块、APP自动运行模块、快照分析模块、快照重组模块和消息队列模块;APP任务分发模块获取安装包情况、形成分析任务并上传;APP自动运行模块获取分析结果和任务、实现APP的自动运行和屏幕快照采集并上传;快照分析模块分析采集数据并上传;快照重组模块重组分析结果并上传和保存;消息队列模块用于模块之间的数据交互。本发明能够高效率并行地进行移动APP数据的自动采集,而且实现了对APP的有序操作,并进行APP页面截取与OCR识别,实现对移动应用APP数据的自动采集,可靠性高,实用性好。
Description
技术领域
本发明属于数据采集领域,具体涉及一种面向移动应用APP的数据采集系统。
背景技术
随着经济技术的发展和人们生活水平的提高,移动智能终端已经广泛应用于人们的生产和生活当中,给人们的生产和生活带来了无尽的便利。
而随着移动智能终端的广泛普及,移动智能终端所承载的数据也愈发具有价值。由于移动应用APP的广泛使用,其中所承展现的信息的形式和数据信息的数量在不断的发展,数据也越来越能体现人们的爱好、行为、兴趣等方方面面。对APP数据进行分析,开展数据挖掘具有极大的意义。
正因如此,对于移动应用APP的数据采集就显得尤为重要。由于移动智能终端APP数量不断增长,信息数据不断的更新,人工手动采集无法满足数据分析的需要。目前数据采集主要方法是网络爬虫抓取,可以抓取网页等基于B/S架构开发应用的数据。目前虽然网络爬虫等方法可以用于APP数据的采集,但是随着信息安全的不断普及,越来越多的移动应用APP研发厂商针对爬虫采取了一系列反爬措施,防止移动APP的数据被网络爬虫采集,因此APP数据网络爬虫方法的使用方法逐渐在缩小,越来越多的移动应用APP无法通过实施网络爬虫实现对数据的有效采集。
发明内容
本发明的目的在于提供一种能够实现移动应用APP数据的自动有效采集,。而且可靠性高、实用性好的一种面向移动应用APP的数据采集系统。
本发明提供的这种一种面向移动应用APP的数据采集系统,包括APP任务分发模块、APP自动运行模块、快照分析模块、快照重组模块和消息队列模块;APP任务分发模块、APP自动运行模块、快照分析模块和快照重组模块均与消息队列模块连接;APP任务分发模块用于获取APP安装包的写入情况,当存在未采集的APP安装包时,把APP安装包的文件路径字符串作为分析任务,并将分析任务上传消息队列模块;APP自动运行模块用于从消息队列模块中获取APP任务分发模块上传的分析任务,把APP安装包安装至移动设备模拟器中,通过程序自动控制APP动作,实现APP的自动运行和屏幕快照的有序采集,并将采集快照数据上传消息队列模块;快照分析模块用于从消息队列模块中获取APP自动运行模块上传的快照数据,并对快照数据进行分析,并将分析结果上传消息队列模块;快照重组模块用于从消息队列模块中获取快照分析模块上传的分析结果,并对分析结果进行有序重组,并将重组数据上传消息队列模块,同时将重组数据进行保存;消息队列模块用于APP任务分发模块、APP自动运行模块、快照分析模块和快照重组模块之间的数据交互和通信。
所述的APP任务分发模块用于获取APP安装包的写入情况,当存在未采集的APP安装包时,把APP安装包的文件路径字符串作为分析任务,并将分析任务上传消息队列模块,具体为监测APP安装包的提交情况:当存在未采集的APP安装包时,将该APP安装包移动到APP分析完成目录下,并将本机IP字符串和APK文件路径字符串拼接成文件路径并作为APP分析任务,并将APP分析任务上传至消息队列模块供APP自动运行模块提取。
所述的APP自动运行模块用于从消息队列模块中获取APP任务分发模块上传的分析任务,把APP安装包安装至移动设备模拟器中,通过程序自动控制APP动作,实现APP的自动运行和屏幕快照的有序采集,并将采集数据上传消息队列模块,具体为APP自动运行模块从消息队列模块中获取APP任务分发模块上传的APP分析任务,通过安装和控制APP自动运行,实现APP界面的有序遍历,并在APP界面有序遍历的过程中对APP的屏幕快照进行截取,同时对截取的快照及其对应的属性进行保存;最后将截取的快照进行压缩后,再与对应的属性信息一同封装作为快照分析任务,并发送至消息队列模块供快照分析模块提取。
所述的APP自动运行模块包括APP自动运行引擎、APP自动运行中间件和APP自动运行对外交互模块;APP自动运行引擎用于实现APP预处理、快照截取与存储、标题信息采集、响应判断、APP行为模拟和界面冗余与边界判断,从而实现APP的自动化运行和快照采集;APP自动运行中间件对adb提供的远程设备操作命令进行封装,提供的封装接口实现了APP自动运行引擎和自动运行中间件的数据交互、APP行为模拟功能以及PC和移动设备之间的文件传输功能;APP自动运行对外交互模块用于从APP分析队列中获取APP分析任务以及把快照分析任务发送至快照分析队列供快照分析模块读取。
所述的APP自动运行引擎用于实现APP预处理、快照截取与存储、标题信息采集、响应判断、APP操作行为模拟和界面冗余与边界判断,从而实现APP的自动化运行和快照采集,具体为响应判断包括网络响应判断和界面响应判断;界面冗余与边界判断用于防止APP自动遍历引擎对相同界面的重复截取,同时用于获取界面所处的状态;标题信息采集包括标题坐标和标题文本采集,将采集的页面上的坐标经过处理形成坐标流,提供给行为模拟模块读取,文本采集通过控件解析或者OCR得到标题文本,在采集的过程中通过标题文本和标题的序号相对应,形成内容与序号的键值对,提供给快照重组模块实现标题和正文之间关系的正确对应;APP预处理用于在APK运行之前,对APK文件进行预处理,获取APP的包名以及所包含的Activity;快照截取与存储用于实现屏幕快照的有序采集和存储。
所述的APP自动运行模块,首先获取APP分析任务并对APP安装包进行预处理,通过预处理获取APP的包名和模块信息,在模拟器中安装并启动APP;然后对APP进行网络响应判断,通过延时若干秒以上的时间,在APP后台对当前设备的网络数据进行分析,通过分析网络数据判断此时APP是否发生了网络通信行为,且只在成功的进行了网络数据通信的前提下才进行APP自动运行,若没有网络响应,则进入无网络响应过程处理;其次,进入自动遍历模型构建与APP界面遍历,APP自动运行引擎每次进行行为模拟操作之前需要获取当前界面所包含的所有标题的内容、标题所在矩形区域的中心坐标,把获取的这些信息作为标题属性集标题属性集中的每一个坐标点代表自动运行的一个点击操作任务,创建了当前界面的任务队列后,按照从上之下从左至右的顺序排列坐标点并写入任务队列,然后从队列中取任务并进行自动化遍历,通过在自动遍历过程中实现逻辑判断(包括APP界面响应判断、界面冗余判定、界面边界判断等),从而保证APP有序的自动运行;通过快照截取和快照对比的手段实现APP界面状态的判断和采集,同时根据界面的状态生成下一步的运行指令,并在遍历的过程中保存APP的界面快照。
所述的快照分析模块包括快照分析对外交互模块、快照预处理模块和快照OCR模块;快照分析对外交互模块用于获取快照分析任务,并将快照OCR模块的识别结果发送至消息队列模块;快照预处理模块用于实现灰度处理、二值化处理、快照文本区域定位与子图截取,作;快照OCR模块包括快照文字提取模块和Tesseract-OCR引擎,快照文字提取子模块用于对Tesseract-OCR引擎提供的接口进行调用和封装,Tesseract-OCR引擎用于快照文字的识别。
所述的快照分析模块,首先从快照分析队列中获取快照分析任务,然后进行反序列化和Base64解码处理,获得原快照的Image对象;然后,通过快照预处理模块对屏幕快照进行灰度化、二值化、文字区域定位和子图截取处理,并把预处理后的图片输入快照文字提取模块进行识别;最后对快照识别结果进行对象化封装,序列化后发送至消息队列模块。
所述的快照重组模块包括重组控制中心和快照重组模块;重组控制中心包括重组任务分发器和对象管理器,用于任务的分发与重组对象的创建;快照重组模块包括XML生成器和结果存储子模块,用于快照识别内容的重组与结果的存储。
所述的快照重组模块,把快照识别的内容按照原APP呈现内容的层次结构进行重组,最终重组成XML文件的形式进行存储。;对象管理器根据已到达的快照重组任务动态地创建重组对象实例,所述的重组对象实例就是为每个APP快照内容重组所单独创建的快照重组线程与内存资源,每个重组对象实例只对它所对应的APP的快照进行重组,以实现不同APP之间快照的隔离;对象管理器实时的监控处于运行状态的各重组线程的状态,当监控到某APP的重组任务完成以后,对此重组任务所有动态创建的资源进行回收,防止系统出现内存泄露;重组任务完成以后,快照重组模块会把内存中构建的快照树以XML文件的形式写入文件系统,同时通过发送状态消息通知对象管理器对它的拥有的系统资源进行回收。
所述的消息队列模块包括APP任务队列、快照分析队列、重组队列以及控制消息队列;APP任务队列用于APP任务分发器进行APP分析任务的下发;快照分析队列负责快APP自动运行模块和快照分析模块之间数据交换;重组队列用于快照分析模块和快照重组模块之间快照分析结果的传送;控制消息队列用于APP自动运行模块和快照重组模块之间控制消息的传递。
所述的消息队列模块,在所述的数据采集系统中用于各节点之间进行任务协调、消息发送以及数据结果传送,把分散的各模块连成一个整体,同时通过分布式消息队列降低所述的数据采集系统中各模块之间的耦合度,采用kafka实现分布式消息队列,构建多主机分布式的并行分析架构,并通过并行处理的方式提高APP信息分析的效率。
本发明提供的这种面向移动应用APP的数据采集系统,能够高效率并行地进行移动APP数据的自动采集,解决了目前APP无法应用网络爬虫进行数据采集的问题;而且本发明系统把OCR技术与APP自动运行技术向结合,模拟人操作APP的过程,实现对APP的有序操作,并进行APP页面截取与OCR识别,实现对移动应用APP数据的自动采集,而且可靠性高,实用性好。
附图说明
图1为本发明系统的功能模块图。
图2为本发明系统的APP自动运行模块的功能模块图。
图3为本发明系统的APP自动运行模块的工作流程示意图。
图4为本发明系统的快照分析模块的功能模块图。
图5为本发明系统的快照分析模块的工作流程示意图。
图6为本发明系统的快照重组模块的功能模块图。
图7为本发明系统的快照重组模块的工作流程示意图。
具体实施方式
如图1所示为本发明系统的功能模块图:本发明提供的这种一种面向移动应用APP的数据采集系统,包括APP任务分发模块、APP自动运行模块、快照分析模块、快照重组模块和消息队列模块;APP任务分发模块、APP自动运行模块、快照分析模块和快照重组模块均与消息队列模块连接APP任务分发模块用于获取APP安装包的写入情况,当存在未采集的APP安装包时,把APP安装包的文件路径字符串作为分析任务,并将分析任务上传消息队列模块;APP自动运行模块用于从消息队列模块中获取APP任务分发模块上传的分析任务,把APP安装包安装至移动设备模拟器中,通过程序自动控制APP点击、滑屏与截屏等操作,实现APP的自动运行和屏幕快照的有序采集,并将采集快照数据上传消息队列模块;快照分析模块用于从消息队列模块中获取APP自动运行模块上传的快照数据,并对快照数据进行分析,并将分析结果上传消息队列模块;快照重组模块用于从消息队列模块中获取快照分析模块上传的分析结果,并对分析结果进行有序重组,并将重组数据上传消息队列模块,同时将重组数据进行保存;消息队列模块用于APP任务分发模块、APP自动运行模块、快照分析模块和快照重组模块之间的数据交互和通信。
对于APP任务分发模块:
APP任务分发模块用于获取APP安装包的情况,当存在未采集的APP安装包时,把APP安装包的文件路径字符串作为分析任务,并将分析任务上传消息队列模块,具体为监测APP安装包的提交情况:当存在未采集的APP安装包时,将该安装包APK文件移动到APP分析完成目录下,并将本机IP字符串和APK文件路径字符串拼接成文件路径并作为APP分析任务,并将APP分析任务上传至消息队列模块供APP自动运行模块提取。
对于APP自动运行模块:
APP自动运行模块用于从消息队列模块中获取APP任务分发模块上传的分析结果和分析任务,把APP安装包安装至移动设备模拟器中,通过程序自动控制APP点击、滑屏与截屏等操作,实现APP的自动运行和屏幕快照的有序采集,并将采集数据上传消息队列模块,具体为APP自动运行模块从消息队列模块中获取APP任务分发模块上传的APP分析任务,通过安装和控制APP自动运行,实现APP界面的有序遍历,并在APP界面有序遍历的过程中对APP的屏幕快照进行截取,同时对截取的快照及其对应的属性进行保存;最后将截取的快照进行压缩后,再与对应的属性信息一同封装,并发送至消息队列模块供快照分析模块提取。
APP自动运行模块包括APP自动运行引擎、APP自动运行中间件和APP自动运行对外交互模块(如图2所示);APP自动运行引擎用于实现APP预处理、快照截取与存储、标题信息采集、响应判断、APP行为模拟和界面冗余与边界判断,从而实现APP的自动化运行和快照采集;APP自动运行中间件对adb提供的远程设备操作命令进行封装,提供的封装接口实现了APP自动运行引擎和自动运行中间件的数据交互、APP行为模拟功能以及PC和移动设备之间的文件传输功能;APP自动运行对外交互模块用于从APP分析队列中取APP分析任务以及把快照分析任务发送至快照分析队列供快照分析模块读取。
APP自动运行引擎用于实现APP预处理、快照截取与存储、标题信息采集、响应判断、APP行为模拟和界面冗余与边界判断,从而实现APP的自动化运行和快照采集,具体为响应判断包括网络响应判断和界面响应判断;界面冗余与边界判断用于防止APP自动遍历引擎对相同界面的重复截取,同时用于获取界面所处的状态;标题信息采集包括标题坐标和标题文本采集,将采集的页面上的坐标经过处理形成坐标流,提供给行为模拟模块读取,文本采集通过控件解析或者OCR得到标题文本,在采集的过程中通过标题文本和标题的序号相对应,形成内容与序号的键值对,提供给快照重组模块实现标题和正文之间关系的正确对应;APP预处理用于在APK运行之前,对APK文件进行预处理,获取APP的包名以及所包含的Activity;快照截取与存储用于实现屏幕快照的有序采集和存储。
APP自动运行模块的运行流程如图3所示:首先获取APP分析任务并对APP进行预处理,通过预处理获取APP的包名和模块信息,安装并启动APP;然后对APP进行网络响应判断,通过延时若干秒(3秒)以上的时间,在APP后台对当前设备的网络数据进行分析,通过分析网络数据判断此时APP是否发生了网络通信行为,且只在成功的进行了网络数据通信的前提下才进行APP自动运行,若没有网络响应,则进入无网络响应过程处理;最后,进入自动遍历模型构建与APP界面遍历,APP自动运行引擎每次进行行为模拟操作之前需要获取当前界面所包含的标题集以及标题的属性集,根据所获取的标题信息构建自动遍历树结点,同时标题属性集中的每一个坐标点代表自动运行的一个点击操作任务;创建了当前界面的任务队列后,从队列中取任务并进行自动化遍历,通过在自动遍历过程中实现逻辑判断(包括APP界面响应判断、界面冗余判定、界面边界判断等),从而保证APP有序的自动运行;通过快照截取和快照对比的手段实现APP界面状态的判断和采集,同时根据界面的状态生成下一步的运行指令,并在遍历的过程中保存APP的界面快照。
对于快照分析模块:
快照分析模块包括快照分析对外交互模块、快照预处理模块和快照OCR模块(如图4所示);快照分析对外交互模块用于获取快照分析任务,并将快照OCR模块的识别结果发送至消息队列模块;快照预处理模块用于实现灰度处理、二值化处理、快照文本区域定位额子图截取,从而实现对快照的预处理操作;快照OCR模块包括快照文字提取模块和Tesseract-OCR引擎,快照文字提取子模块用于对Tesseract-OCR引擎提供的接口进行调用和封装,Tesseract-OCR引擎用于快照文字的识别。
快照分析模块的工作流程如图5所示:首先获取快照分析任务进行反序列化和图片解码处理,获得原快照的Image对象;然后,通过快照预处理模块对屏幕快照进行灰度化、二值化、文字区域定位和子图截取处理,并把预处理后的图片输入快照文字提取模块进行识别;最后对快照识别结果进行对象化封装,序列化后发送至消息队列模块。
对于快照重组模块:
快照重组模块包括重组控制中心和快照重组模块(如图6所示);重组控制中心包括重组任务分发器和对象管理器,用于重组对象的创建与任务的分发;快照重组模块包括XML生成器和结果存储子模块,用于快照内容的重组与结果的存储。
快照重组模块的工作流程如图7所示:重组任务分发器首先从重组队列中获取任务,然后将重组任务分发至各APP包名所对应的通信队列中,用于XML文件的创建;对象管理器根据已到达的快照重组任务动态地创建重组对象实例,每一个APP对应一个重组对象实例,每个重组对象实例只对它所对应的APP的快照进行重组,以实现不同APP之间快照的隔离;对象管理器实时的监控处于运行状态的各重组线程的状态,当监控到某APP的重组任务完成以后,对此重组任务所有动态创建的资源进行回收,防止系统出现内存泄露;重组任务完成以后,快照重组模块会把内存中构建的快照树以XML文件的形式写入文件系统,同时通过发送状态消息通知对象管理器对它的拥有的系统资源进行回收。
对于消息队列:
消息队列模块包括APP任务队列、快照分析队列、重组队列以及控制消息队列;APP任务队列用于APP任务分发器进行APP分析任务的下发;快照分析队列负责快APP自动运行模块和快照分析模块之间数据交换;重组队列用于快照分析模块和快照重组模块之间快照分析结果的传送;控制消息队列用于APP自动运行模块和快照重组模块之间控制消息的传递。
消息队列模块,在所述的数据采集系统中用于各节点之间进行任务协调、消息发送以及数据结果传送,把分散的各模块连成一个整体,同时通过分布式消息队列降低所述的数据采集系统中各模块之间的耦合度,采用kafka实现分布式消息队列,构建多主机分布式的并行分析架构,并通过并行处理的方式提高APP信息分析的效率。
Claims (10)
1.一种面向移动应用APP的数据采集系统,其特征在于包括APP任务分发模块、APP自动运行模块、快照分析模块、快照重组模块和消息队列模块;APP任务分发模块、APP自动运行模块、快照分析模块和快照重组模块均与消息队列模块连接;APP任务分发模块用于获取APP安装包的写入情况,当存在未采集的APP安装包时,把APP安装包的文件路径字符串作为分析任务,并将分析任务上传消息队列模块;APP自动运行模块用于从消息队列模块中获取APP任务分发模块上传的分析任务,把APP安装包安装至移动设备模拟器中,通过程序自动控制APP动作,实现APP的自动运行和屏幕快照的有序采集,并将采集快照数据上传消息队列模块;快照分析模块用于从消息队列模块中获取APP自动运行模块上传的快照数据,并对快照数据进行分析,并将分析结果上传消息队列模块;快照重组模块用于从消息队列模块中获取快照分析模块上传的分析结果,并对分析结果进行有序重组,并将重组数据上传消息队列模块,同时将重组数据进行保存;消息队列模块用于APP任务分发模块、APP自动运行模块、快照分析模块和快照重组模块之间的数据交互和通信。
2.根据权利要求1所述的面向移动应用APP的数据采集系统,其特征在于所述的APP任务分发模块用于获取APP安装包的写入情况,当存在未采集的APP安装包时,把APP安装包的文件路径字符串作为分析任务,并将分析任务上传消息队列模块,具体为监测APP安装包的提交情况:当存在未采集的APP安装包时,将该APP安装包移动到APP分析完成目录下,并将本机IP字符串和APK文件路径字符串拼接成文件路径并作为APP分析任务,并将APP分析任务上传至消息队列模块供APP自动运行模块提取。
3.根据权利要求2所述的面向移动应用APP的数据采集系统,其特征在于所述的APP自动运行模块用于从消息队列模块中获取APP任务分发模块上传的分析任务,把APP安装包安装至移动设备模拟器中,通过程序自动控制APP动作,实现APP的自动运行和屏幕快照的有序采集,并将采集快照数据上传消息队列模块,具体为APP自动运行模块从消息队列模块中获取APP任务分发模块上传的APP分析任务,通过安装和控制APP自动运行,实现APP界面的有序遍历,并在APP界面有序遍历的过程中对APP的屏幕快照进行截取,同时对截取的快照及其对应的属性进行保存;最后将截取的快照进行压缩后,再与对应的属性信息一同封装作为快照分析任务,并发送至消息队列模块供快照分析模块提取;同时,APP自动运行模块包括APP自动运行引擎、APP自动运行中间件和APP自动运行对外交互模块;APP自动运行引擎用于实现APP预处理、快照截取与存储、标题信息采集、响应判断、APP行为模拟和界面冗余与边界判断,从而实现APP的自动化运行和快照采集;APP自动运行中间件对adb提供的远程设备操作命令进行封装,提供的封装接口实现了APP自动运行引擎和自动运行中间件的数据交互、APP行为模拟功能以及PC和移动设备之间的文件传输功能;APP自动运行对外交互模块用于从APP分析队列中获取APP分析任务以及把快照分析任务发送至快照分析队列供快照分析模块读取。
4.根据权利要求3所述的面向移动应用APP的数据采集系统,其特征在于所述的APP自动运行引擎用于实现APP预处理、快照截取与存储、标题信息采集、响应判断、APP行为模拟和界面冗余与边界判断,从而实现APP的自动化运行和快照采集,具体为响应判断包括网络响应判断和界面响应判断;界面冗余与边界判断用于防止APP自动遍历引擎对相同界面的重复截取,同时用于获取界面所处的状态;标题信息采集包括标题坐标和标题文本采集,将采集的页面上的坐标经过处理形成坐标流,提供给行为模拟模块读取,文本采集通过控件解析或者OCR得到标题文本,在采集的过程中通过标题文本和标题的序号相对应,形成内容与序号的键值对,提供给快照重组模块实现标题和正文之间关系的正确对应;APP预处理用于在APK运行之前,对APK文件进行预处理,获取APP的包名以及所包含的Activity;快照截取与存储用于实现屏幕快照的有序采集和存储。
5.根据权利要求4所述的面向移动应用APP的数据采集系统,其特征在于所述的APP自动运行模块,首先获取APP分析任务并对APP安装包进行预处理,通过预处理获取APP的包名和模块信息,在模拟器中安装并启动APP;然后对APP进行网络响应判断,通过延时若干秒以上的时间,在APP后台对当前设备的网络数据进行分析,通过分析网络数据判断此时APP是否发生了网络通信行为,且只在成功的进行了网络数据通信的前提下才进行APP自动运行,若没有网络响应,则进入无网络响应过程处理;其次,进入自动遍历模型构建与APP界面遍历,APP自动运行引擎每次进行行为模拟操作之前需要获取当前界面所包含的所有标题的内容、标题所在矩形区域的中心坐标,把获取的这些信息作为标题属性集标题属性集中的每一个坐标点代表自动运行的一个点击操作任务,创建了当前界面的任务队列后,按照从上之下从左至右的顺序排列坐标点并写入任务队列,然后从队列中取任务并进行自动化遍历,通过在自动遍历过程中实现逻辑判断(包括APP界面响应判断、界面冗余判定、界面边界判断等),从而保证APP有序的自动运行;通过快照截取和快照对比的手段实现APP界面状态的判断和采集,同时根据界面的状态生成下一步的运行指令,并在遍历的过程中保存APP的界面快照。
6.根据权利要求5所述的面向移动应用APP的数据采集系统,其特征在于所述的快照分析模块包括快照分析对外交互模块、快照预处理模块和快照OCR模块;快照分析对外交互模块用于获取快照分析任务,并将快照OCR模块的识别结果发送至消息队列模块;快照预处理模块用于实现灰度处理、二值化处理、快照文本区域定位与子图截取,作;快照OCR模块包括快照文字提取模块和Tesseract-OCR引擎,快照文字提取子模块用于对Tesseract-OCR引擎提供的接口进行调用和封装,Tesseract-OCR引擎用于快照文字的识别。
7.根据权利要求6所述的面向移动应用APP的数据采集系统,其特征在于所述的快照分析模块,首先从快照分析队列中获取快照分析任务,然后进行反序列化和Base64解码处理,获得原快照的Image对象;然后,通过快照预处理模块对屏幕快照进行灰度化、二值化、文字区域定位和子图截取处理,并把预处理后的图片输入快照文字提取模块进行识别;最后对快照识别结果进行对象化封装,序列化后发送至消息队列模块。
8.根据权利要求7所述的面向移动应用APP的数据采集系统,其特征在于所述的快照重组模块包括重组控制中心和快照重组模块;重组控制中心包括重组任务分发器和对象管理器,用于任务的分发与重组对象的创建;快照重组模块包括XML生成器和结果存储子模块,用于快照识别内容的重组与结果的存储。
9.根据权利要求8所述的面向移动应用APP的数据采集系统,其特征在于所述的快照重组模块,把快照识别的内容按照原APP呈现内容的层次结构进行重组,最终重组成XML文件的形式进行存储;对象管理器根据已到达的快照重组任务动态地创建重组对象实例,所述的重组对象实例就是为每个APP快照内容重组所单独创建的快照重组线程与内存资源,每个重组对象实例只对它所对应的APP的快照进行重组,以实现不同APP之间快照的隔离;对象管理器实时的监控处于运行状态的各重组线程的状态,当监控到某APP的重组任务完成以后,对此重组任务所有动态创建的资源进行回收,防止系统出现内存泄露;重组任务完成以后,快照重组模块会把内存中构建的快照树以XML文件的形式写入文件系统,同时通过发送状态消息通知对象管理器对它的拥有的系统资源进行回收。
10.根据权利要求9所述的面向移动应用APP的数据采集系统,其特征在于所述的消息队列模块包括APP任务队列、快照分析队列、重组队列以及控制消息队列;APP任务队列用于APP任务分发器进行APP分析任务的下发;快照分析队列负责快APP自动运行模块和快照分析模块之间数据交换;重组队列用于快照分析模块和快照重组模块之间快照分析结果的传送;控制消息队列用于APP自动运行模块和快照重组模块之间控制消息的传递;所述的消息队列模块,在所述的数据采集系统中用于各节点之间进行任务协调、消息发送以及数据结果传送,把分散的各模块连成一个整体,同时通过分布式消息队列降低所述的数据采集系统中各模块之间的耦合度,采用kafka实现分布式消息队列,构建多主机分布式的并行分析架构,并通过并行处理的方式提高APP信息分析的效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011249010.0A CN112256636A (zh) | 2020-11-10 | 2020-11-10 | 面向移动应用app的数据采集系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011249010.0A CN112256636A (zh) | 2020-11-10 | 2020-11-10 | 面向移动应用app的数据采集系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256636A true CN112256636A (zh) | 2021-01-22 |
Family
ID=74265378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011249010.0A Pending CN112256636A (zh) | 2020-11-10 | 2020-11-10 | 面向移动应用app的数据采集系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256636A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221866A (zh) * | 2021-04-30 | 2021-08-06 | 东方蓝天钛金科技有限公司 | 一种基于图像识别的设备数据采集系统及方法 |
CN115145800A (zh) * | 2022-08-29 | 2022-10-04 | 北京微吼时代科技有限公司 | 用于采集终端应用中用户操作行为的方法和装置 |
CN115292571A (zh) * | 2022-08-08 | 2022-11-04 | 烟台中科网络技术研究所 | 一种App数据采集方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120330646A1 (en) * | 2011-06-23 | 2012-12-27 | International Business Machines Corporation | Method For Enhanced Location Based And Context Sensitive Augmented Reality Translation |
CN105095207A (zh) * | 2014-04-18 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 检索、获取应用软件内容的方法和装置 |
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN107340954A (zh) * | 2017-07-03 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种信息提取方法和装置 |
CN108090355A (zh) * | 2017-11-28 | 2018-05-29 | 西安交通大学 | 一种apk自动触发工具 |
CN110032503A (zh) * | 2018-11-05 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于ui自动化和ocr的数据处理系统、方法、设备和装置 |
CN111813848A (zh) * | 2020-07-08 | 2020-10-23 | 江苏聚衣网络科技有限公司 | 基于kafka日志中间件的数据实时采集分析方法 |
-
2020
- 2020-11-10 CN CN202011249010.0A patent/CN112256636A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120330646A1 (en) * | 2011-06-23 | 2012-12-27 | International Business Machines Corporation | Method For Enhanced Location Based And Context Sensitive Augmented Reality Translation |
CN105095207A (zh) * | 2014-04-18 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 检索、获取应用软件内容的方法和装置 |
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN107340954A (zh) * | 2017-07-03 | 2017-11-10 | 国家计算机网络与信息安全管理中心 | 一种信息提取方法和装置 |
CN108090355A (zh) * | 2017-11-28 | 2018-05-29 | 西安交通大学 | 一种apk自动触发工具 |
CN110032503A (zh) * | 2018-11-05 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于ui自动化和ocr的数据处理系统、方法、设备和装置 |
CN111813848A (zh) * | 2020-07-08 | 2020-10-23 | 江苏聚衣网络科技有限公司 | 基于kafka日志中间件的数据实时采集分析方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221866A (zh) * | 2021-04-30 | 2021-08-06 | 东方蓝天钛金科技有限公司 | 一种基于图像识别的设备数据采集系统及方法 |
CN115292571A (zh) * | 2022-08-08 | 2022-11-04 | 烟台中科网络技术研究所 | 一种App数据采集方法及系统 |
CN115292571B (zh) * | 2022-08-08 | 2023-03-28 | 烟台中科网络技术研究所 | 一种App数据采集方法及系统 |
CN115145800A (zh) * | 2022-08-29 | 2022-10-04 | 北京微吼时代科技有限公司 | 用于采集终端应用中用户操作行为的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256636A (zh) | 面向移动应用app的数据采集系统 | |
CN109639481B (zh) | 一种基于深度学习的网络流量分类方法、系统及电子设备 | |
CN104424095A (zh) | 一种移动终端的自动化测试方法和系统 | |
CN101799751A (zh) | 一种构建主机监控代理软件的方法 | |
WO2012088905A1 (zh) | 一种通讯网络系统及通讯设备的巡检子系统和巡检方法 | |
CN113867913A (zh) | 面向微服务的业务请求处理方法、装置、设备及存储介质 | |
CN106709069A (zh) | 高可靠性的大数据日志采集与传输方法 | |
CN112632135A (zh) | 一种大数据平台 | |
US20210397157A1 (en) | Robust user interface related robotic process automation | |
CN111338893A (zh) | 进程日志处理方法、装置、计算机设备以及存储介质 | |
CN111209166A (zh) | 一种面向b/s架构业务系统的自动巡检系统 | |
CN112860482A (zh) | 区块链共识性能优化方法 | |
CN113254320A (zh) | 记录用户网页操作行为的方法及装置 | |
CN113867600A (zh) | 处理流式数据的开发方法、装置和计算机设备 | |
CN114328217A (zh) | 应用的测试方法、装置、设备、介质及计算机程序产品 | |
US20120131543A1 (en) | Method and system for capturing user interface structure in a model based software system | |
CN113656673A (zh) | 面向广告投放的主从分布内容爬取机器人 | |
CN114913376A (zh) | 基于图像的缺陷自动识别方法、装置、系统及存储介质 | |
CN114356704A (zh) | 一种面向云网端流式数据的软件定义方法和系统 | |
CN109426597A (zh) | 应用性能监控方法、装置、设备、系统及存储介质 | |
CN111488547B (zh) | 基于web技术扁平化管理蜜罐、蜜网的实现装置 | |
CN107220258A (zh) | 用于抓取应用页面的数据的方法、装置及终端 | |
CN117134986A (zh) | 基于ChatGPT的外网蜜点生成方法、系统及装置 | |
CN114253824A (zh) | 游戏兼容性测试方法及系统 | |
CN117252726A (zh) | 基于云边协同的车间安全风险智能识别系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210122 |