Nothing Special   »   [go: up one dir, main page]

CN109634724A - 数据采集方法、装置、设备和计算机存储介质 - Google Patents

数据采集方法、装置、设备和计算机存储介质 Download PDF

Info

Publication number
CN109634724A
CN109634724A CN201811205507.5A CN201811205507A CN109634724A CN 109634724 A CN109634724 A CN 109634724A CN 201811205507 A CN201811205507 A CN 201811205507A CN 109634724 A CN109634724 A CN 109634724A
Authority
CN
China
Prior art keywords
thread
task
data acquisition
data
idle
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
Application number
CN201811205507.5A
Other languages
English (en)
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology 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 OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201811205507.5A priority Critical patent/CN109634724A/zh
Publication of CN109634724A publication Critical patent/CN109634724A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种数据采集方法,包括:在接收终端基于预设共用接口发送的操作指令,获取操作指令中的待处理任务;将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行待处理任务;在任务处理线程执行过程中,监测处理器中各个线程的状态,并判断是否存在空闲线程;若存在空闲线程,则将空闲线程作为数据采集线程,并通过数据采集线程采集终端基于预设共用接口上传的业务相关数据;在任务处理线程执行完成时,回调预设共用接口,通过预设共用接口向终端发送操作指令的处理结果。本发明还公开了一种数据采集装置、设备和计算机存储介质。本发明通过数据采集流程进行优化,使得业务相关数据采集更加合理。

Description

数据采集方法、装置、设备和计算机存储介质
技术领域
本发明涉及数据采集领域,尤其涉及数据采集方法、装置、设备和计算机存储介质。
背景技术
随着计算机技术的快速发展,通过计算机进行数据分析变得越来越普遍,但是由于计算机的数据分析算法有限,数据来源和数据采集就变得尤为重要。
为了业务优化和业务拓展,通常需要针对业务相关数据进行分析处理,其中,业务相关数据包括:业务数据(如金融产品购买数据)、产品页面上的用户行为数据等等,在业务相关数据进行分析之前需要进行业务相关数据的采集,当前业务相关数据通常采用集中采集的方式,即,在特定时间段服务器对用户手机的业务相关数据进行,这样的业务相关数据采集方法存在弊端,如,在业务流程处理时进行数据集中采集可能会干扰正常的业务流程,此外,数据集中采集还需要进行集中数据传输,会占用较多内存,影响服务器的性能,如何避免上述情况,合理地进行业务相关数据的采集成为了当前亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种数据采集方法、装置、设备和计算机存储介质,旨在解决当前服务器进行数据采集时出现的问题,使得业务相关数据采集更加合理。
为实现上述目的,本发明提供一种数据采集方法,所述数据采集方法包括以下步骤:
接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;
将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;
在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;
若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;
在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
可选地,所述将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务的步骤,包括:
将处理器的处理模式设置为异步回调模式,并统计所述待处理任务的任务数量;
在所述任务数量大于或等于两个时,创建异步线程池;
将所述异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务。
可选地,所述在所述任务数量大于或等于两个时,创建异步线程池的步骤之后,包括:
统计所述异步线程池中空闲线程的线程数量,并将所述线程数量与所述任务数量进行比较;
若所述线程数量小于所述任务数量,则将超过所述线程数量的待处理任务添加到预设队列中;
若所述线程数量大于或等于所述任务数量,则执行将异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务的步骤。
可选地,所述若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据的步骤,包括:
若存在空闲线程,则判断所述预设队列中是否存在待处理任务;
若所述预设队列中存在待处理任务,则将所述空闲线程作为任务处理线程,通过任务处理线程执行所述待处理任务;
若所述预设队列中不存在待处理任务,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
可选地,所述在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程的步骤,包括:
在所述任务处理线程执行过程中,预估所述任务处理线程的执行时间;
若所述执行时间超过预设时间间隔,则监测所述处理器中各线程的状态,并判断是否存在空闲线程。
可选地,所述若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据的步骤,包括:
若存在空闲线程,则获取所述空闲线程的线程数量和所述处理器的核心数量;
在所述线程数量大于所述核心数量时,终止超过所述核心数量的多于空闲线程;
在所述线程数量小于或等于所述核心数量时,将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
可选地,所述若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据的步骤之后,包括:
统计各所述业务相关数据的数据总量,将所述数据总量与预设分析量进行比对;
在所述数据总量超过所述预设分析量时,设置各所述业务相关数据的优先级;
按各所述业务相关数据的优先级提取所述预设分析量对应数量的目标处理数据,以进行数据处理。
此外,为实现上述目的,本发明还提供一种数据采集装置,所述数据采集装置包括:
指令接收模块,用于接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;
模式设置模块,用于将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;
线程监测模块,用于在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;
数据采集模块,用于若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;
结果发送模块,用于在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
此外,为实现上述目的,本发明还提供一种数据采集设备;
所述数据采集设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如上所述的数据采集方法的步骤。
此外,为实现上述目的,本发明还提供计算机存储介质;
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的数据采集方法的步骤。
本发明实施例提出的一种数据采集方法、装置、设备和计算机存储介质,本实施例在服务器进行业务处理的过程中,将处理器的处理模式设置为异步回调模式,通过任务处理线程(又叫主线程)处理业务流程,在所述任务处理线程执行的过程中,监测所述处理器中各线程的状态,在有空闲线程时,将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集业务相关数据,实现业务数据的分布式采集,使得业务相关数据的采集不会影响到任务处理线程,数据采集的流程更加合理;此外,本申请中使用统一预设共用接口进行操作指令处理和业务相关数据的采集与传输,通过减少服务器中数据接口的数量,从而减少了服务器的操作压力,使得数据处理效率更高。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明数据采集方法第一实施例的流程示意图;
图3为本发明数据采集装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中服务器接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
现有技术中操作指令对应的业务处理流程和业务相关数据的数据采集流程是分开,即两个处理处理相互独立,只有在特定的情况下才会进行业务相关数据采集,在进行数据分析的时候,服务器还需要将采集的业务相关数据与具体场景结合,此外,操作指令对应的业务处理流程和业务相关数据的数据采集流程通过各自的数据接口处理业务数据,终端在进行数据发送的时候需要进行频繁的数据接口调用,服务器也需要设置对应的数据接口,服务器的数据接口数量多,导致服务器的操作压力大;本发明中实现业务数据的分布式采集,使得业务相关数据的采集不会影响到任务处理线程,使得数据采集更加合理,此外,本申请中使用统一预设共用接口进行操作指令处理和业务相关数据的采集与传输,通过减少服务器中数据接口的数量,从而减少了服务器的操作压力,使得数据处理效率更高。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的服务器(又叫业务相关数据设备,其中,业务相关数据设备可以是由单独的业务相关数据装置构成,也可以是由其他装置与业务相关数据装置组合形成)结构示意图。
本发明实施例服务器指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC(personal computer)个人计算机来说,服务器在稳定性、安全性、性能等方面都要求较高;如图1所示,该服务器可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),网络接口1004,用户接口1003,存储器1005,通信总线1002、芯片组、磁盘系统、网络等硬件等。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WIFI接口)。存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,服务器还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针等。本领域技术人员可以理解,图1中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,存储介质可以是非易失性可读存储介质,如RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的服务器中,网络接口1004主要用于连接后台数据库,与后台数据库进行数据通信;用户接口1003主要用于连接客户端(客户端,又叫用户端或终端,本发明实施例终端可以固定终端也可以是移动终端,如,带联网功能的智能空调、智能电灯、智能电源、智能音箱、自动驾驶汽车、PC、智能手机、平板电脑、电子书阅读器、便携计算机等,终端中包含传感器比如光传感器、运动传感器以及其他传感器,在此不再赘述),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的业务相关数据方法中的步骤。
本发明的第一实施例提出一种数据采集方法,所述数据采集方法应用于如图1所示的服务器,具体包括:
接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;
将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;
在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;
若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;
在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
在本实施例中将数据采集流程优化有序地嵌入整体业务流程,实现分布式数据采集,在操作指令对应的主业务线程进行的同时通过启动异步回调模式让进行业务相关数据的采集,有效提升了服务器业务处理效率,具体地:
参照图2,本发明一种数据采集方法的第一实施例中,所述数据采集方法包括:
步骤S10,接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务。
用户在终端上触发业务相关的操作指令,终端将操作指令通过预设共用接口发送至服务器,服务器接收终端基于预设共用接口发送的操作指令,服务器解析所述操作指令获取所述操作指令中的待处理任务,其中,预设共用接口是指服务器中预先定义的数据传输接口,该数据接口不仅可以用于进行操作指令对应数据处理,还可以用于数据采集的传输。
步骤S20,将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务。
服务器将自身处理器的处理模式设置为异步回调模式,即,在没有接收到操作指令时,服务器将自身处理器的处理模式设置为阻塞模式,实现快速地发送和接收数据,在接收到操作指令时,服务器将处理器的处理模式设置为异步回调模式,以同时进行多个处理线程,即,通过任务处理线程(主线程)执行所述待处理任务,还可以不停止其他子线程,以通过提高处理器的资源利用率,来提高数据的处理效率。本实施例中将用于操作指令进行的任务处理线程作为主业务线程,将业务相关数据对应的数据采集线程作为从线程(或者子线程)。
此外,在将处理器的处理模式设置为异步回调模式之后,还需要确定待处理任务的数量,以根据待处理任务的数量确定对应处理方式,具体地:
步骤a1,将处理器的处理模式设置为异步回调模式,并统计所述待处理任务的任务数量。
步骤b1,在所述任务数量大于或等于两个时,创建异步线程池。
步骤c1,将所述异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务。
即,本实施例中将处理器的处理模式设置为异步回调模式之后,服务器统计所述待处理任务的任务数量,判断所述任务数量是否为多个;在任务数量为多个时,创建异步线程池;将所述异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务,在任务数量为一个时,直接创建待处理任务对应的任务处理线程,并通过任务处理线程执行所述待处理任务。本实施例中在存在多个操作指令,或者一个操作指令中包含多个操作任务时创建异步线程池,以进行待处理任务的高效处理。
步骤S30,在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程。
具体地,包括:
步骤a2,在所述任务处理线程执行过程中,预估所述任务处理线程的执行时间。
步骤b2,若所述执行时间超过预设时间间隔,则监测所述处理器中各线程的状态,并判断是否存在空闲线程。
即,在所述任务处理线程执行过程中,服务器预估所述任务处理线程的执行时间,即,服务器预先设置了处理时间表,处理时间表中包含不同类型任务的处理时间,服务器可根据任务处理线程中的任务信息,查询处理时间表,得到任务处理线程的执行时间,服务器将执行时间与预设时间间隔(预设时间间隔是指预先设置的时间,例如,设置为0.2s),在所述执行时间不超过预设时间间隔,即,确定当前任务的处理时间较短,服务器正常执行该任务处理线程;在所述执行时间超过预设时间间隔,即,确定当前任务的处理时间较长,服务器监测所述处理器中各线程的状态,并判断是否存在空闲线程,在存在空闲线程时,服务器可以利用空闲线程执行数据采集任务,具体地:
步骤S40,若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
在服务器确定存在空闲线程,则服务器需要调用空闲线程来进行任务处理,具体地:
步骤a3,若存在空闲线程,则判断所述预设队列中是否存在待处理任务;
步骤b3,若所述预设队列中存在待处理任务,则将所述空闲线程作为任务处理线程,通过任务处理线程执行所述待处理任务;
步骤c3,若所述预设队列中不存在待处理任务,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
即,在存在空闲线程时,则服务器首先判断处理器的预设队列(预设队列是指各个线程对应的队列)中是否存在待处理任务,若所述预设队列中存在待处理任务,则将所述空闲线程作为任务处理线程,通过任务处理线程执行所述待处理任务;在预设队列中存在待处理任务处理完成时,在利用空闲线程执行数据采集任务;若所述预设队列中不存在待处理任务,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据,其中,业务相关数据是指终端上的页面数据和页面上的用户行为数据。
步骤S50,在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
在任务处理线程执行完成时,服务器接收到处理结果,服务器回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
在本实施例中服务器进行业务处理的过程中,将处理器的处理模式设置为异步回调模式,通过任务处理线程(又叫主线程)处理业务流程,在所述任务处理线程执行的过程中,监测所述处理器中各线程的状态,在有空闲线程时,将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集业务相关数据,实现业务数据的分布式采集,使得业务相关数据的采集不会影响到任务处理线程,数据采集的流程更加合理;此外,本申请中使用统一预设共用接口进行操作指令处理和业务相关数据的采集与传输,通过减少服务器中数据接口的数量,从而减少了服务器的操作压力,使得数据处理效率更高。
进一步的,在本发明第一实施例的基础上,提出了本发明数据采集方法的第二实施例。
本实施例是第一实施例中步骤S20的细化,本实施例中具体说明了在服务器接收到多个待处理任务时的处理方式,具体地,包括:
步骤S21,将处理器的处理模式设置为异步回调模式,并统计所述待处理任务的任务数量。
服务器将处理器的处理模式设置为异步回调模式,服务器统计所述待处理任务的任务数量,服务器判断所述任务数量是否至少两个,即,服务器上可能接收到多个待处理任务,服务器根据接收到的待处理任务的数量确定对应的处理步骤,具体地:
步骤S22,在所述任务数量大于或等于两个时,创建异步线程池。
若服务器确定所述任务数量是至少两个,即,服务器接收到多个待处理任务时,服务器创建异步线程池,异步线程池中包含有多个空闲线程,以进行多个任务的同时处理,具体地:
步骤S23,统计所述异步线程池中空闲线程的线程数量,并将所述线程数量与所述任务数量进行比较,以根据比较结果确定待处理任务出处理步骤。
具体地,在创建异步线程池之后,服务器统计所述异步线程池中空闲线程的线程数量,并将所述线程数量与所述任务数量进行比较,若所述线程数量小于所述任务数量,则将超过所述线程数量的待处理任务添加到预设队列(预设队列与第一实施例中的预设队列相同)中;若所述线程数量大于或等于所述任务数量,则将异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务。此时还存在多余的空闲线程,服务器利用多余的空闲线程进行数据采集,在本实施例中根据不同的任务处理数量设置对应的处理策略,保证服务器资源利用率,以提高服务器的处理效率。
进一步的,在本发明第一实施例的基础上,提出了本发明数据采集方法的第三实施例。
本实施例是第一实施例中步骤S40细化,本实施例包括:
步骤S41,若存在空闲线程,则获取所述空闲线程的线程数量和所述处理器的核心数量。
若服务器确定存在空闲线程,则服务器获取所述空闲线程的线程数量和所述处理器的核心数量,处理器的核心数量是指处理器为单核,双核,四核或者八核等,本实施例中根据空闲线程的线程数量和所述处理器的核心数量,确定各个线程的处理模式。
步骤S42,将所述核心数量与线程数量进行比较,以根据比较结果确定处理方式。
服务器一个核心处理一个线程,服务器将所述核心数量与线程数量进行比较,在所述线程数量大于所述核心数量,服务器并不可以同时执行线程数量对应的全部处理线程,服务器将超过所述核心数量的多于空闲线程终止;若所述核心数量大于或等于所述线程数量,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。在本实施例中根据处理器的核心数量确定对应的处理流程,可以使得服务器的利用率较高,以提高数据的处理效率。
进一步的,本发明数据采集方法的第四实施例中,服务器可以基于采集到的终端上传的数据采集的具体处理方法包括:
步骤S60,统计各所述业务相关数据的数据总量,将所述数据总量与预设分析量进行比对。
服务器统计各所述业务相关数据的数据总量,服务器将所述数据总量与预设分析量进行比对,其中,预设分析量是指预先设置的数据分析量临界值,在数据总量小于或等于预设分析量时,服务器需要对全部的业务相关数据进行分析,在数据总量大于预设分析量时,服务器选取部分的业务相关数据进行分析。
步骤S70,在所述数据总量超过所述预设分析量时,设置各所述业务相关数据的优先级。
即,在所述数据总量超过所述预设分析量时,服务器设置各所述业务相关数据的优先级(优先级用于体现业务数据的重要程度),以使服务器根据各所述业务相关数据的优先级进行数据选取。
步骤S80,按各所述业务相关数据的优先级提取所述预设分析量对应数量的目标处理数据,以进行数据处理。
服务器按各所述业务相关数据的优先级提取所述预设分析量对应数量的目标处理数据,即,服务器将业务相关数据按优先级进行排序,服务器从优先级最高的业务性格数据选择对应的目标处理数据,以进行数据处理。本实施例中在服务器采集到较多的业务相关数据时,服务器可以根据优先级选择数据,进行数据处理使得数据处理量较小,数据处理效率高。
此外,参照图3,本发明实施例还提出一种数据采集装置,所述数据采集装置包括:
指令接收模块10,用于接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;
模式设置模块20,用于将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;
线程监测模块30,用于在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;
数据采集模块40,用于若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;
结果发送模块60,用于在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
可选地,所述模式设置模块20,包括:
模式设置单元,用于将处理器的处理模式设置为异步回调模式,并统计所述待处理任务的任务数量;
线程池创建单元,用于在所述任务数量大于或等于两个时,创建异步线程池;
任务执行单元,用于将所述异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务。
可选地,所述模式设置模块20,包括:
数量统计单元,用于统计所述异步线程池中空闲线程的线程数量,并将所述线程数量与所述任务数量进行比较;
任务添加单元,用于若所述线程数量小于所述任务数量,则将超过所述线程数量的待处理任务添加到预设队列中;
若所述线程数量大于或等于所述任务数量,则执行任务执行单元,用于将异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务的步骤。
可选地,所述数据采集模块40,包括:
任务判断单元,用于若存在空闲线程,则判断所述预设队列中是否存在待处理任务;
执行单元,用于若所述预设队列中存在待处理任务,则将所述空闲线程作为任务处理线程,通过任务处理线程执行所述待处理任务;
数据采集单元,用于若所述预设队列中不存在待处理任务,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
可选地,所述线程监测模块30,包括:
时间预估单元,用于在所述任务处理线程执行过程中,预估所述任务处理线程的执行时间;
线程监测单元,用于若所述执行时间超过预设时间间隔,则监测所述处理器中各线程的状态,并判断是否存在空闲线程。
可选地,所述数据采集模块40,还包括:
获取单元,用于若存在空闲线程,则获取所述空闲线程的线程数量和所述处理器的核心数量;
线程终止单元,用于在所述线程数量大于所述核心数量时,终止超过所述核心数量的多于空闲线程;
数据采集单元,用于在所述线程数量小于或等于所述核心数量时,将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
可选地,所述的数据采集装置,包括:
统计比对模块,用于统计各所述业务相关数据的数据总量,将所述数据总量与预设分析量进行比对;
优先级设置模块,用于在所述数据总量超过所述预设分析量时,设置各所述业务相关数据的优先级;
数据选择模块,用于按各所述业务相关数据的优先级提取所述预设分析量对应数量的目标处理数据,以进行数据处理。
其中,数据采集装置的各个功能模块实现的步骤可参照本发明数据采集方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质。
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的数据采集方法中的操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据采集方法,其特征在于,所述数据采集方法包括以下步骤:
接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;
将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;
在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;
若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;
在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
2.如权利要求1所述的数据采集方法,其特征在于,所述将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务的步骤,包括:
将处理器的处理模式设置为异步回调模式,并统计所述待处理任务的任务数量;
在所述任务数量大于或等于两个时,创建异步线程池;
将所述异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务。
3.如权利要求2所述的数据采集方法,其特征在于,所述在所述任务数量大于或等于两个时,创建异步线程池的步骤之后,包括:
统计所述异步线程池中空闲线程的线程数量,并将所述线程数量与所述任务数量进行比较;
若所述线程数量小于所述任务数量,则将超过所述线程数量的待处理任务添加到预设队列中;
若所述线程数量大于或等于所述任务数量,则执行将异步线程池中的空闲线程作为任务处理线程,并通过任务处理线程执行所述待处理任务的步骤。
4.如权利要求3所述的数据采集方法,其特征在于,所述若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据的步骤,包括:
若存在空闲线程,则判断所述预设队列中是否存在待处理任务;
若所述预设队列中存在待处理任务,则将所述空闲线程作为任务处理线程,通过任务处理线程执行所述待处理任务;
若所述预设队列中不存在待处理任务,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
5.如权利要求1所述的数据采集方法,其特征在于,所述在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程的步骤,包括:
在所述任务处理线程执行过程中,预估所述任务处理线程的执行时间;
若所述执行时间超过预设时间间隔,则监测所述处理器中各线程的状态,并判断是否存在空闲线程。
6.如权利要求1所述的数据采集方法,其特征在于,所述若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据的步骤,包括:
若存在空闲线程,则获取所述空闲线程的线程数量和所述处理器的核心数量;
在所述线程数量大于所述核心数量时,终止超过所述核心数量的多于空闲线程;
在所述线程数量小于或等于所述核心数量时,将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据。
7.如权利要求1所述的数据采集方法,其特征在于,所述若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据的步骤之后,包括:
统计各所述业务相关数据的数据总量,将所述数据总量与预设分析量进行比对;
在所述数据总量超过所述预设分析量时,设置各所述业务相关数据的优先级;
按各所述业务相关数据的优先级提取所述预设分析量对应数量的目标处理数据,以进行数据处理。
8.一种数据采集装置,其特征在于,所述数据采集装置包括:
指令接收模块,用于接收终端基于预设共用接口发送的操作指令,获取所述操作指令中的待处理任务;
模式设置模块,用于将处理器的处理模式设置为异步回调模式,并通过任务处理线程执行所述待处理任务;
线程监测模块,用于在所述任务处理线程执行过程中,监测所述处理器中各线程的状态,并判断是否存在空闲线程;
数据采集模块,用于若存在空闲线程,则将所述空闲线程作为数据采集线程,并通过所述数据采集线程采集所述终端基于所述预设共用接口上传的业务相关数据;
结果发送模块,用于在所述任务处理线程执行完成时,回调所述预设共用接口,通过所述预设共用接口向所述终端发送所述操作指令的处理结果。
9.一种数据采集设备,其特征在于,所述数据采集设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据采集方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据采集方法的步骤。
CN201811205507.5A 2018-10-16 2018-10-16 数据采集方法、装置、设备和计算机存储介质 Pending CN109634724A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811205507.5A CN109634724A (zh) 2018-10-16 2018-10-16 数据采集方法、装置、设备和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811205507.5A CN109634724A (zh) 2018-10-16 2018-10-16 数据采集方法、装置、设备和计算机存储介质

Publications (1)

Publication Number Publication Date
CN109634724A true CN109634724A (zh) 2019-04-16

Family

ID=66066340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811205507.5A Pending CN109634724A (zh) 2018-10-16 2018-10-16 数据采集方法、装置、设备和计算机存储介质

Country Status (1)

Country Link
CN (1) CN109634724A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263618A (zh) * 2019-04-30 2019-09-20 阿里巴巴集团控股有限公司 一种核身模型的迭代方法和装置
CN111339005A (zh) * 2020-02-19 2020-06-26 上海新物科技有限公司 一种数据采集方法、设备及计算机可读存储介质
CN111597364A (zh) * 2020-03-27 2020-08-28 广联达科技股份有限公司 工程量计算中间层生成方法、装置、存储介质、电子设备
CN112148493A (zh) * 2020-09-30 2020-12-29 武汉中科通达高新技术股份有限公司 一种流媒体任务管理方法及装置、数据服务器
CN112546617A (zh) * 2020-12-29 2021-03-26 珠海金山网络游戏科技有限公司 任务处理方法及装置
CN112735115A (zh) * 2020-12-28 2021-04-30 新天科技股份有限公司 多线程业务处理方法、装置、服务器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591721A (zh) * 2011-12-30 2012-07-18 北京新媒传信科技有限公司 一种分配线程执行任务的方法和系统
CN108279977A (zh) * 2017-12-29 2018-07-13 深圳市德兰明海科技有限公司 一种基于rtos的数据处理方法、装置和控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591721A (zh) * 2011-12-30 2012-07-18 北京新媒传信科技有限公司 一种分配线程执行任务的方法和系统
CN108279977A (zh) * 2017-12-29 2018-07-13 深圳市德兰明海科技有限公司 一种基于rtos的数据处理方法、装置和控制器

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263618A (zh) * 2019-04-30 2019-09-20 阿里巴巴集团控股有限公司 一种核身模型的迭代方法和装置
CN110263618B (zh) * 2019-04-30 2023-10-20 创新先进技术有限公司 一种核身模型的迭代方法和装置
CN111339005A (zh) * 2020-02-19 2020-06-26 上海新物科技有限公司 一种数据采集方法、设备及计算机可读存储介质
CN111339005B (zh) * 2020-02-19 2023-09-08 上海新物科技有限公司 一种数据采集方法、设备及计算机可读存储介质
CN111597364A (zh) * 2020-03-27 2020-08-28 广联达科技股份有限公司 工程量计算中间层生成方法、装置、存储介质、电子设备
CN111597364B (zh) * 2020-03-27 2024-01-30 广联达科技股份有限公司 工程量计算中间层生成方法、装置、存储介质、电子设备
CN112148493A (zh) * 2020-09-30 2020-12-29 武汉中科通达高新技术股份有限公司 一种流媒体任务管理方法及装置、数据服务器
CN112735115A (zh) * 2020-12-28 2021-04-30 新天科技股份有限公司 多线程业务处理方法、装置、服务器及存储介质
CN112546617A (zh) * 2020-12-29 2021-03-26 珠海金山网络游戏科技有限公司 任务处理方法及装置
CN112546617B (zh) * 2020-12-29 2022-08-30 珠海金山数字网络科技有限公司 任务处理方法及装置

Similar Documents

Publication Publication Date Title
CN109634724A (zh) 数据采集方法、装置、设备和计算机存储介质
CN109672627A (zh) 基于集群服务器的业务处理方法、平台、设备及存储介质
CN111459665A (zh) 一种分布式边缘计算系统及分布式边缘计算方法
CN107943577A (zh) 用于调度任务的方法和装置
US11537862B2 (en) Neural network processor and control method of neural network processor
CN108683720A (zh) 一种容器集群服务配置方法及装置
JP2014531081A (ja) マルチプロセッサコアシステム内のプロセッサコアをスケジューリングするための方法、装置、およびシステム
CN110427252A (zh) 基于任务依赖关系的任务调度方法、装置及存储介质
CN106557369A (zh) 一种多线程的管理方法及系统
CN108540568B (zh) 计算能力共享方法及智能设备
CN110427256A (zh) 基于优先级的作业调度优化方法、设备、存储介质及装置
CN102999385A (zh) 计算设备中多处理器协同处理方法
CN105068865A (zh) 任务调度方法和装置
CN109634738A (zh) 基于微服务的异步处理方法、服务器、存储介质及装置
CN109445921A (zh) 一种分布式数据任务处理方法及装置
CN106383764A (zh) 一种数据采集方法和设备
CN107729137A (zh) 服务器、区块链验签解密的方法及存储介质
CN103037010A (zh) 一种分布式网络爬虫系统及其抓取方法
CN108829519A (zh) 基于云平台的任务调度方法、云平台及计算机可读存储介质
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
KR20160096313A (ko) 빅데이터를 분석하는 분석 애플리케이션을 모니터링하는 장치 및 방법
CN108920274A (zh) 用于图像处理服务器端的性能优化及装置
CN110532559A (zh) 规则的处理方法及装置
CN103905484A (zh) 处理超文本传输协议请求的方法及装置
CN109388589A (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