CN109101330A - 数据获取方法、装置和*** - Google Patents

数据获取方法、装置和*** Download PDF

Info

Publication number
CN109101330A
CN109101330A CN201810887200.1A CN201810887200A CN109101330A CN 109101330 A CN109101330 A CN 109101330A CN 201810887200 A CN201810887200 A CN 201810887200A CN 109101330 A CN109101330 A CN 109101330A
Authority
CN
China
Prior art keywords
data
task
data acquisition
type
acquisition request
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
CN201810887200.1A
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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810887200.1A priority Critical patent/CN109101330A/zh
Publication of CN109101330A publication Critical patent/CN109101330A/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了数据获取方法、装置和***。所述的数据获取方法,包括:接收发送端发送的数据获取请求;解析数据获取请求以确定所接收的数据获取请求的类型;创建与数据获取请求的类型相匹配的数据获取任务;以及执行数据获取任务,并向目的端反馈数据获取任务的处理结果。该实现方式实现了基于数据获取请求的任务分发和调度,有利于提升数据获取的效率。

Description

数据获取方法、装置和***
技术领域
本申请实施例涉及通信技术领域,具体涉及消息传输领域,尤其涉及数据获取方法、装置和***。
背景技术
在很多需要进行多端通信交互的***中,服务端通常都会扮演着任务执行者的角色。服务端接收客户端的数据获取请求,并且向客户端反馈数据获取的结果。
在自动驾驶汽车这一***中,各终端在运行过程中将会产生大量的运行时数据,这些数据例如包括:车辆驾驶状态信息、周边环境采集信息及各算法模块(例如,预处理、感知、定位、地图等)输入输出I/O信息。在车辆运行的过程中这些数据被快速的产生和消费,这些信息的正确性直接关系到车辆是否正常运行、各模块是否正常工作、算法结果是否正常等。所以如何获取分析这些数据对自动驾驶***的开发和调试有着重要的作用。
现有的自动驾驶***中,尚不具备统一的对外数据采集-鉴权-分发的功能,各模块为满足各自业务需求各自开发数据处理工具。
发明内容
本申请实施例提出了数据获取方法、装置和***。
第一方面,本申请实施例提供了一种数据获取方法,包括:接收发送端发送的数据获取请求;解析数据获取请求以确定所接收的数据获取请求的类型;创建与数据获取请求的类型相匹配的数据获取任务;以及执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
在一些实施例中,数据获取请求的类型包括推动类型;创建与数据获取请求的类型相匹配的任务,包括:响应于数据获取请求的类型为推动类型,创建多线程任务,其中,多线程任务的线程数量基于数据获取请求所请求获取的数据类型的数量确定;执行任务,并向目的端反馈任务处理结果,包括:使多线程任务中的每个线程执行与该线程对应的数据获取任务;响应于多线程任务中的各线程均执行完成,向发送端反馈数据获取任务的处理结果。
在一些实施例中,数据获取请求所请求获取的数据通过如下的数据存储步骤进行存储:响应于接收到数据存储请求,确定数据存储请求所指示的待存储数据的数据类型;将待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
在一些实施例中,数据存储步骤还包括:响应于消息队列所存储的数据的数量等于消息队列预先设置的长度,将消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
在一些实施例中,执行数据获取任务,并向目的端反馈数据获取任务的处理结果,包括:基于数据获取请求所请求数据的实时性确定所请求数据的存储位置;从所确定的存储位置获取与数据获取任务相应的数据,并向目的端反馈数据获取任务的处理结果。
第二方面,本申请实施例提供了一种数据获取***,包括:任务调度层,用于接收发送端发送的数据获取请求,解析数据获取请求以确定所接收的数据获取请求的类型;任务处理层,用于创建与数据获取请求的类型相匹配的数据获取任务,执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
在一些实施例中,任务处理层还用于:响应于数据获取请求的类型为推动类型,创建多线程任务,其中,多线程任务的线程数量基于数据获取请求所请求获取的数据类型的数量确定;多线程任务中的每个线程执行与该线程对应的数据获取任务;以及响应于多线程任务中的各线程均执行完成,向发送端反馈数据获取任务的处理结果。
在一些实施例中,***还包括:数据分发层,用于响应于接收到数据存储请求,确定数据存储请求所指示的待存储数据的数据类型,以及将待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
在一些实施例中,数据分发层进一步用于:响应于消息队列所存储的数据的数量等于消息队列预先设置的长度,将消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
在一些实施例中,任务处理层进一步用于:基于数据获取请求所请求数据的实时性确定所请求数据的存储位置;以及从所确定的存储位置获取与数据获取任务相应的数据,并向目的端反馈数据获取任务的处理结果。
第三方面,本申请实施例提供了一种数据获取装置,包括:接收单元,被配置成接收发送端发送的数据获取请求;解析单元,被配置成解析数据获取请求以确定所接收的数据获取请求的类型;创建单元,被配置成用于创建与数据获取请求的类型相匹配的数据获取任务;以及执行单元,被配置成执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
在一些实施例中,创建单元,进一步被配置成响应于数据获取请求的类型为推动类型,创建多线程任务,其中,多线程任务的线程数量基于数据获取请求所请求获取的数据类型的数量确定;执行单元,进一步被配置成使多线程任务中的每个线程执行与该线程对应的数据获取任务,以及,响应于多线程任务中的各线程均执行完成,向发送端反馈数据获取任务的处理结果。
在一些实施例中,装置还包括:数据分发单元,被配置成响应于接收到数据存储请求,确定数据存储请求所指示的待存储数据的数据类型,以及将待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
在一些实施例中,数据分发单元进一步被配置成:响应于消息队列所存储的数据的数量等于消息队列预先设置的长度,将消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
在一些实施例中,执行单元进一步被配置成:基于数据获取请求所请求数据的实时性确定所请求数据的存储位置;以及从所确定的存储位置获取与数据获取任务相应的数据,并向目的端反馈数据获取任务的处理结果。
第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面描述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面描述的方法。
本申请实施例提供的数据获取方法、装置和***,首先,接收发送端发送的数据获取请求,接着,解析数据获取请求以确定所接收的数据获取请求的类型,接着,创建与数据获取请求的类型相匹配的数据获取任务,最后,执行数据获取任务,并向目的端反馈数据获取任务的处理结果,实现了基于数据获取请求的任务分发和调度,有利于提升数据获取的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请一个实施例的数据获取方法可以应用于其中的示例性***架构图;
图2是根据本申请的数据获取方法的一个实施例的流程图;
图3是根据本申请的数据获取方法的一个应用场景的示意图;
图4是根据本申请的数据获取方法的又一个实施例的流程图;
图5是根据本申请的数据获取***的一个实施例的结构图;
图6是根据本申请的数据获取装置的一个实施例的结构示意图;
图7是适于用来实现本申请实施例的数据获取换方法的电子设备的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的数据获取方法或数据获取装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括前端设备101、网络102和数据处理引擎103。网络102用以在前端设备101和数据处理引擎103之间提供网络通信的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
前端设备101可以是任意请求数据处理引擎103向其提供数据处理服务的设备。相应地,数据处理引擎103可以对其接收到的数据(例如,前端设备101发送的数据获取请求)进行处理,并向目的端反馈数据处理结果(例如,数据获取请求所期望获取的数据)。
此外,数据处理引擎103还具有数据存储功能。例如,数据处理引擎103可以接收外部模块采集的运行数据,并将这些运行数据存储至数据处理引擎103的存储空间中。这样一来,当接收到前端设备101发送的数据获取请求时,数据处理引擎103可以从存储空间中获取相应的数据。
需要说明的是,本申请实施例所提供的数据获取方法一般由数据处理引擎执行,相应地,数据获取装置一般设置于数据处理引擎中。
应该理解,图1中的前端设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的前端设备。
继续参考图2,示出了根据本申请的数据获取方法的一个实施例的流程200。该数据获取方法,包括以下步骤:
步骤201,接收发送端发送的数据获取请求。
在本实施例中,本实施例的数据获取方法的执行主体(例如,图1所示的数据引擎103)可以通过有线或者无线连接方式接收发送端(例如,图1所示的前端设备101)发送的数据获取请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
在一些应用场景中,发送端可以首先将数据获取请求发送至一鉴权模块进行鉴权,从而由鉴权模块判断该发送端是否具有获取数据获取请求所请求获取的数据的权限。若发送端具有数据获取权限,则鉴权模块可以将该数据获取请求转发至执行主体,以使执行主体接收该数据获取请求。相应地,若鉴权模块判断发送端不具有获取数据获取请求所请求获取的数据的权限,则可以向发送端反馈用于指示鉴权未通过的消息,从而拒绝发送端的数据获取请求。这样一来,执行主体所接收嗷的数据获取请求均是通过鉴权并具有相应数据获取权限的,有效地避免了无数据获取权限的模块或电子设备对数据的获取,从而提升了***的安全性。
步骤202,解析数据获取请求以确定所接收的数据获取请求的类型。
在这里,数据获取请求的类型可以用于表征数据获取请求所期望获取的数据的类型。
例如,可以根据数据获取请求中所包含的待获取数据的种类来划分数据获取请求的类型。
在一些应用场景中,若某数据获取请求仅请求获取某一个数据,那么,可以将该数据获取请求作为拉动(pull)类型的数据获取请求。
或者,在另一些应用场景中,若某数据获取请求请求获取多个数据,那么,可以将该数据获取请求作为推动(push)类型的数据获取请求。
步骤203,创建与数据获取请求的类型相匹配的数据获取任务。
在一些可选的实现方式中,在接收到数据获取请求之后,执行主体可以为所接收到的该数据获取请求创建一主线程,并根据数据获取请求的类型来创建从线程。这样一来,从线程可以自执行主体本地的数据存储位置或者与之通信连接的其它电子设备获取数据获取请求所指示的数据。
步骤204,执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
在这里,执行主体可以从本地的数据存储位置或者与之通信连接的其它电子设备获取数据获取请求所指示的数据,并将数据获取任务的处理结果向目的端反馈。
可以理解的是,若执行主体从本地的数据存储位置或者与之通信连接的其它电子设备获取到数据获取请求所指示的数据,则可将获取到的数据作为处理结果向目的端反馈;反之,若执行主体未成功地从本地的数据存储位置或者与之通信连接的其它电子设备获取到数据获取请求所指示的数据,则可以将用于指示未成功获取数据的信息作为处理结果向目的端反馈。
此外,在这里,接收数据获取任务的处理结果的目的端可以是发送数据获取请求的发送端,也可以是不同于发送数据获取请求的发送端的其它电子设备。本领域技术人员可以根据具体的应用场景的需求来设置各数据获取请求所对应的目的端,使得执行主体在完成数据获取任务之后,向相应的目的端发送数据获取任务的处理结果。
本实施例提供的数据获取方法,首先,接收发送端发送的数据获取请求,接着,解析数据获取请求以确定所接收的数据获取请求的类型,接着,创建与数据获取请求的类型相匹配的数据获取任务,最后,执行数据获取任务,并向目的端反馈数据获取任务的处理结果,避免了各前端设备各自分别请求数据引擎获取其所需的数据时,可能导致的运算资源的浪费,实现了基于数据获取请求的统一任务分发和调度,有利于提升数据获取的效率。
继续参见图3,图3是根据本实施例的数据获取方法的应用场景的一个示意图300。
图3示意性地示出了本实施例的数据获取方法应用于无人驾驶车辆时的一种应用场景。
在图3所示的应用场景中,前端设备310向数据引擎320发送数据获取请求。
数据引擎320接收到数据获取请求(参见附图标记321所示)之后,首先对该数据获取请求进行解析(参见附图标记322所示),从而确定数据获取请求的类型。接着,数据引擎可以创建与数据获取请求的类型相匹配的数据获取任务(参见附图标记323所示),并执行所创建的数据获取任务(参见附图标记324所示),并最终将数据获取任务的处理结果向目的端320反馈。
可以理解的是,发送数据获取请求的前端设备310与接收处理结果的目的端330可以是同一个设备,也可以是不同的设备。在实际应用中,数据引擎320可以根据对数据获取请求解析的解析结果来确定目的端具体为何设备。
在本实施例的一些可选的实现方式中,执行主体通过上述步骤202解析得到的数据获取请求的类型还可以是推动(push)类型。
在这些可选的实现方式中,步骤203的创建与数据获取请求的类型相匹配的任务可以进一步通过以下的方式来实现:
响应于数据获取请求的类型为推动类型,创建多线程任务,其中,多线程任务的线程数量基于数据获取请求所请求获取的数据类型的数量确定。
在这些可选的实现方式的一些应用场景中,例如,在接收到数据获取请求之后,执行主体可以为所接收到的该数据获取请求创建一主线程,并根据该push类型的数据获取请求所请求获取的数据类型的数量来创建多个从线程,每个从线程均用于获取其中一个数据类型的数据。
此外,在这里,数据类型可以理解为请求获取的数据的种类。例如,在一些应用场景中,前端设备请求获取某一时段内,摄像头采集到的环境图像和雷达数据。那么,环境图像可以作为一个种类的数据,而雷达数据则可以作为另一个种类的数据。在这些应用场景中,执行主体可以创建两个从线程。
相应地,在这些可选的实现方式中,步骤204的执行任务,并向目的端反馈任务处理结果可以进一步通过以下的方式来实现:
使多线程任务中的每个线程执行与该线程对应的数据获取任务;以及,响应于多线程任务中的各线程均执行完成,向发送端反馈数据获取任务的处理结果。
仍以前端设备请求获取某一时段内,摄像头采集到的环境图像和雷达数据为例。执行主体可以创建两个从线程,使得两个从线程分别获取该时段内的环境图像和雷达数据。
这样一来,当两个从线程分别完成该时段内环境图像和雷达数据的获取之后,可以将所获取的数据发送至主线程,并由主线程对该两类数据进行整合并反馈至目的端。
这样一来,执行主体通过创建多线程任务来执行push类型的数据获取请求,可以进一步提升数据获取的执行效率。
进一步参考图4,其示出了数据获取方法的又一个实施例的流程400。该数据获取方法的流程400,包括以下步骤:
步骤401,接收发送端发送的数据获取请求。
步骤402,解析数据获取请求以确定所接收的数据获取请求的类型。
步骤403,创建与数据获取请求的类型相匹配的数据获取任务。
步骤404,执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
需要说明的是,本实施例的步骤401~步骤404可以分别采用与图2所示实施例中步骤201~步骤204类似的方式执行,在此不再赘述。
与图2所示的实施例不同的是,本实施例的数据获取方法中,数据获取请求所请求获取的数据可以通过如下的数据存储步骤进行存储:
步骤405,响应于接收到数据存储请求,确定数据存储请求所指示的待存储数据的数据类型。在这里,待存储数据的数据类型同样可以理解为待存储数据的种类。
步骤406,将待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
例如,在无人驾驶汽车中,数据引擎可以获取雷达数据、环境图像等种类的数据。那么,数据引擎可以创建消息队列,从而使得各消息队列分别存储某一个种类的数据。
此外,在本实施例的一些可选的实现方式中,数据存储步骤还可以进一步包括:响应于消息队列所存储的数据的数量等于消息队列预先设置的长度,将消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
一般而言,消息队列采用先入先出的原则进行数据存取。当消息队列的每一个数据位均存储了数据时,若不对消息队列中的数据进行转移或丢弃,下一个数据将无法存入该消息队列中。
因此,在这些可选的实现方式中,若消息队列的每一个数据位均存储了数据,可以将消息队列队首的数据转存至预先设置的数据库中,使得消息队列仍有存储空间来接收下一个待存储数据。
在这里,预先设置的数据库例如可以是Redis数据库。由于Redis数据库具有存储速度快但需要消耗内存资源的特点,在一些应用场景中,可以预先设置Redis数据库的存储容量。若Redis数据库中存储的数据量达到该预先设置的存储容量,可以将Redis数据库中存储的数据转移至其它数据库(例如,MySQL数据库)进行落盘存储。
在本实施例的一些可选的实现方式中,步骤404的执行数据获取任务,并向目的端反馈数据获取任务的处理结果可以进一步包括:
基于数据获取请求所请求数据的实时性确定所请求数据的存储位置,从所确定的存储位置获取与数据获取任务相应的数据,并向目的端反馈数据获取任务的处理结果。
由于本实施例的方法中,待存储数据首先被存储至消息队列中,若消息队列存满,再自消息队列的队首将数据依次转存至数据库中。因而,在一些应用场景中,若数据获取请求所期望获取的数据为实时数据,那么,该数据应存储在相应的消息队列中。此时,可以通过访问消息队列,来获取该实时数据。而在另一些应用场景中,若数据获取请求所期望获取的数据为历史数据(例如,与当前时刻间隔预设时段的历史时刻的数据),那么,该数据已从相应的消息队列中转存至数据库中。在这些应用场景中,可以通过访问数据库,来获取该历史数据。
从图4中可以看出,与图2对应的实施例相比,本实施例的数据获取方法的流程400,进一步突出了执行主体的数据存储过程,通过为各类数据维护一消息队列,从而使得在接收到数据获取请求时,可以根据数据获取请求所指示的数据类型,在对应的消息队列中进行数据获取,进一步提高了数据获取的效率。
参见图5所示,为本申请的数据获取***的一个实施例的示意性结构图500。
本实施例的数据***可以包括任务调度层501和任务处理层502。任务调度层501可用于接收发送端发送的数据获取请求,解析数据获取请求以确定所接收的数据获取请求的类型。任务处理层502可用于创建与数据获取请求的类型相匹配的数据获取任务,执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
在一些可选的实现方式中,如图5所示,任务处理层502可以包括多个处理节点。在这些可选的实现方式中,当任务调度层501接收到数据获取请求之后,可以将数据获取请求分发至空闲的处理节点。
在一些可选的实现方式中,任务处理层502还可以用于响应于数据获取请求的类型为推动类型,创建多线程任务,其中,多线程任务的线程数量基于数据获取请求所请求获取的数据类型的数量确定;多线程任务中的每个线程执行与该线程对应的数据获取任务;以及响应于多线程任务中的各线程均执行完成,向发送端反馈数据获取任务的处理结果。
在这些可选的实现方式中,若数据获取请求的类型为推动类型,任务处理层502可以创建一多线程任务,该多线程任务可以包括主线程和与数据获取请求所请求获取的数据类型的数量相应的从线程。各从线程分别执行具有某种数据类型的数据的获取任务,并将所获取的数据发送给主线程。若多线程任务中所有从线程均完成各自的数据获取任务,主线程可以将各从线程获取的数据进行组合,并向目的端反馈。
在一些可选的实现方式中,如图5所示,本实施例的数据获取***还可以进一步包括数据分发层503。数据分发层503可用于响应于接收到数据存储请求,确定数据存储请求所指示的待存储数据的数据类型,以及将待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
在这些可选的实现方式中,数据分发层503还可以进一步用于响应于消息队列所存储的数据的数量等于消息队列预先设置的长度,将消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
在这些可选的实现方式中,消息队列、数据库(例如,包括但不限于Redis数据库和/或MySQL数据库)可以作为数据获取***中的数据存储单元的一部分(如图5中附图标记504所示)。或者,消息队列和数据库也可以设置在与本实施例的数据获取***通信连接的其它电子设备中。
在一些可选的实现方式中,本实施例的数据获取***中的任务处理层502还可以进一步用于:基于数据获取请求所请求数据的实时性确定所请求数据的存储位置;以及从所确定的存储位置获取与数据获取任务相应的数据,并向目的端反馈数据获取任务的处理结果。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种数据获取装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的数据获取装置600包括接收单元601、解析单元602、创建单元603和执行单元604。
其中:
接收单元601可被配置成接收发送端发送的数据获取请求。
解析单元602可被配置成解析数据获取请求以确定所接收的数据获取请求的类型。
创建单元603可被配置成用于创建与数据获取请求的类型相匹配的数据获取任务。
执行单元604被配置成执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
在一些可选的实现方式中,创建单元603还可以进一步被配置成:响应于数据获取请求的类型为推动类型,创建多线程任务,其中,多线程任务的线程数量基于数据获取请求所请求获取的数据类型的数量确定。
在这些可选的实现方式中,执行单元604可进一步被配置成:使多线程任务中的每个线程执行与该线程对应的数据获取任务,以及,响应于多线程任务中的各线程均执行完成,向发送端反馈数据获取任务的处理结果。
在一些可选的实现方式中,本实施例的数据获取装置还可以包括数据分发单元(图中未示出)。
在这些可选的实现方式中,数据分发单元可被配置成响应于接收到数据存储请求,确定数据存储请求所指示的待存储数据的数据类型,以及将待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
在一些可选的实现方式中,数据分发单元还可进一步被配置成:响应于消息队列所存储的数据的数量等于消息队列预先设置的长度,将消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
在这些可选的实现方式中,执行单元604还可进一步被配置成:基于数据获取请求所请求数据的实时性确定所请求数据的存储位置;以及从所确定的存储位置获取与数据获取任务相应的数据,并向目的端反馈数据获取任务的处理结果。
下面参考图7,其示出了适于用来实现本申请实施例的数据获取方法的电子设备的计算机***700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机***700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分706加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有***700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括硬盘等的存储部分706;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分707。通信部分707经由诸如因特网的网络执行通信处理。驱动器708也根据需要连接至I/O接口705。可拆卸介质709,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器708上,以便于从其上读出的计算机程序根据需要被安装入存储部分706。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分707从网络上被下载和安装,和/或从可拆卸介质709被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、解析单元、创建单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收发送端发送的数据获取请求的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:接收发送端发送的数据获取请求;解析数据获取请求以确定所接收的数据获取请求的类型;创建与数据获取请求的类型相匹配的数据获取任务;以及执行数据获取任务,并向目的端反馈数据获取任务的处理结果。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (17)

1.一种数据获取方法,包括:
接收发送端发送的数据获取请求;
解析所述数据获取请求以确定所接收的数据获取请求的类型;
创建与所述数据获取请求的类型相匹配的数据获取任务;以及
执行所述数据获取任务,并向目的端反馈所述数据获取任务的处理结果。
2.根据权利要求1所述的方法,其中,所述数据获取请求的类型包括推动类型;
所述创建与所述数据获取请求的类型相匹配的任务,包括:
响应于所述数据获取请求的类型为推动类型,创建多线程任务,其中,所述多线程任务的线程数量基于所述数据获取请求所请求获取的数据类型的数量确定;
所述执行所述任务,并向目的端反馈任务处理结果,包括:
使所述多线程任务中的每个线程执行与该线程对应的数据获取任务;
响应于所述多线程任务中的各线程均执行完成,向所述发送端反馈所述数据获取任务的处理结果。
3.根据权利要求1或2所述的方法,其中,所述数据获取请求所请求获取的数据通过如下的数据存储步骤进行存储:
响应于接收到数据存储请求,确定所述数据存储请求所指示的待存储数据的数据类型;
将所述待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
4.根据权利要求3所述的方法,其中,所述数据存储步骤还包括:
响应于消息队列所存储的数据的数量等于所述消息队列预先设置的长度,将所述消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
5.根据权利要求4所述的方法,其中,所述执行所述数据获取任务,并向目的端反馈所述数据获取任务的处理结果,包括:
基于所述数据获取请求所请求数据的实时性确定所请求数据的存储位置;
从所确定的存储位置获取与所述数据获取任务相应的数据,并向目的端反馈所述数据获取任务的处理结果。
6.一种数据获取***,包括:
任务调度层,用于接收发送端发送的数据获取请求,解析所述数据获取请求以确定所接收的数据获取请求的类型;
任务处理层,用于创建与所述数据获取请求的类型相匹配的数据获取任务,执行所述数据获取任务,并向目的端反馈所述数据获取任务的处理结果。
7.根据权利要求6所述的数据获取***,其中,所述任务处理层还用于:
响应于所述数据获取请求的类型为推动类型,创建多线程任务,其中,所述多线程任务的线程数量基于所述数据获取请求所请求获取的数据类型的数量确定;
所述多线程任务中的每个线程执行与该线程对应的数据获取任务;以及
响应于所述多线程任务中的各线程均执行完成,向所述发送端反馈所述数据获取任务的处理结果。
8.根据权利要求6或7所述的***,其中,所述***还包括:
数据分发层,用于响应于接收到数据存储请求,确定所述数据存储请求所指示的待存储数据的数据类型,以及将所述待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
9.根据权利要求8所述的***,其中,所述数据分发层进一步用于:
响应于消息队列所存储的数据的数量等于所述消息队列预先设置的长度,将所述消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
10.根据权利要求9所述的***,其中,所述任务处理层进一步用于:
基于所述数据获取请求所请求数据的实时性确定所请求数据的存储位置;以及
从所确定的存储位置获取与所述数据获取任务相应的数据,并向目的端反馈所述数据获取任务的处理结果。
11.一种数据获取装置,包括:
接收单元,被配置成接收发送端发送的数据获取请求;
解析单元,被配置成解析所述数据获取请求以确定所接收的数据获取请求的类型;
创建单元,被配置成用于创建与所述数据获取请求的类型相匹配的数据获取任务;以及
执行单元,被配置成执行所述数据获取任务,并向目的端反馈所述数据获取任务的处理结果。
12.根据权利要求11所述的数据获取装置,其中:
所述创建单元,进一步被配置成响应于所述数据获取请求的类型为推动类型,创建多线程任务,其中,所述多线程任务的线程数量基于所述数据获取请求所请求获取的数据类型的数量确定;
所述执行单元,进一步被配置成使所述多线程任务中的每个线程执行与该线程对应的数据获取任务,以及,响应于所述多线程任务中的各线程均执行完成,向所述发送端反馈所述数据获取任务的处理结果。
13.根据权利要求11或12所述的装置,其中,所述装置还包括:
数据分发单元,被配置成响应于接收到数据存储请求,确定所述数据存储请求所指示的待存储数据的数据类型,以及将所述待存储数据添加至预先创建的、与所确定的数据类型相对应的消息队列的队尾。
14.根据权利要求13所述的装置,其中,所述数据分发单元进一步被配置成:
响应于消息队列所存储的数据的数量等于所述消息队列预先设置的长度,将所述消息队列队首数据移除,并将所移除的数据作为历史数据存储至预先设置的数据库中。
15.根据权利要求14所述的装置,其中,所述执行单元进一步被配置成:
基于所述数据获取请求所请求数据的实时性确定所请求数据的存储位置;以及
从所确定的存储位置获取与所述数据获取任务相应的数据,并向目的端反馈所述数据获取任务的处理结果。
16.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201810887200.1A 2018-08-06 2018-08-06 数据获取方法、装置和*** Pending CN109101330A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810887200.1A CN109101330A (zh) 2018-08-06 2018-08-06 数据获取方法、装置和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810887200.1A CN109101330A (zh) 2018-08-06 2018-08-06 数据获取方法、装置和***

Publications (1)

Publication Number Publication Date
CN109101330A true CN109101330A (zh) 2018-12-28

Family

ID=64848905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810887200.1A Pending CN109101330A (zh) 2018-08-06 2018-08-06 数据获取方法、装置和***

Country Status (1)

Country Link
CN (1) CN109101330A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840149A (zh) * 2019-02-14 2019-06-04 百度在线网络技术(北京)有限公司 任务调度方法、装置、设备及存储介质
WO2020133545A1 (en) * 2018-12-29 2020-07-02 Beijing Voyager Technology Co., Ltd. Systems and methods for data management
CN112685427A (zh) * 2021-01-25 2021-04-20 拉卡拉支付股份有限公司 数据接入方法、装置、电子设备及存储介质
CN113407527A (zh) * 2020-11-20 2021-09-17 广东美云智数科技有限公司 一种权限数据的采集方法、管理装置以及存储介质
WO2021223110A1 (zh) * 2020-05-06 2021-11-11 深圳市大疆创新科技有限公司 数据处理装置及方法、介质和计算机设备、可移动设备
EP3910505A4 (en) * 2019-01-07 2022-08-17 China Mobile Communication Co., Ltd. Research Institute DATA PROCESSING METHOD AND DEVICE

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467412A (zh) * 2010-11-16 2012-05-23 金蝶软件(中国)有限公司 一种处理操作请求的方法、装置及业务***
US20150355892A1 (en) * 2014-06-09 2015-12-10 International Business Machines Corporation Resources provisioning based on a set of discrete configurations
CN105791407A (zh) * 2016-03-11 2016-07-20 江苏物联网研究发展中心 基于多台车载终端的并发管控通信组件
CN106506389A (zh) * 2016-10-19 2017-03-15 广州华多网络科技有限公司 网络请求异步处理方法及装置
CN107038162A (zh) * 2016-02-03 2017-08-11 滴滴(中国)科技有限公司 基于数据库日志的实时数据查询方法和***
CN107341056A (zh) * 2017-07-05 2017-11-10 郑州云海信息技术有限公司 一种基于网络文件***的线程分配的方法及装置
CN107943577A (zh) * 2016-10-12 2018-04-20 百度在线网络技术(北京)有限公司 用于调度任务的方法和装置
CN108171971A (zh) * 2017-12-18 2018-06-15 武汉烽火众智数字技术有限责任公司 基于Spark Streaming的车辆实时监控方法及***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467412A (zh) * 2010-11-16 2012-05-23 金蝶软件(中国)有限公司 一种处理操作请求的方法、装置及业务***
US20150355892A1 (en) * 2014-06-09 2015-12-10 International Business Machines Corporation Resources provisioning based on a set of discrete configurations
CN107038162A (zh) * 2016-02-03 2017-08-11 滴滴(中国)科技有限公司 基于数据库日志的实时数据查询方法和***
CN105791407A (zh) * 2016-03-11 2016-07-20 江苏物联网研究发展中心 基于多台车载终端的并发管控通信组件
CN107943577A (zh) * 2016-10-12 2018-04-20 百度在线网络技术(北京)有限公司 用于调度任务的方法和装置
CN106506389A (zh) * 2016-10-19 2017-03-15 广州华多网络科技有限公司 网络请求异步处理方法及装置
CN107341056A (zh) * 2017-07-05 2017-11-10 郑州云海信息技术有限公司 一种基于网络文件***的线程分配的方法及装置
CN108171971A (zh) * 2017-12-18 2018-06-15 武汉烽火众智数字技术有限责任公司 基于Spark Streaming的车辆实时监控方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
通信学会CIC: "消息队列", 《百度百科》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385340B (zh) * 2018-12-29 2021-09-24 北京航迹科技有限公司 数据处理方法和***
WO2020133545A1 (en) * 2018-12-29 2020-07-02 Beijing Voyager Technology Co., Ltd. Systems and methods for data management
CN111385340A (zh) * 2018-12-29 2020-07-07 北京航迹科技有限公司 数据处理方法和***
US10899367B2 (en) 2018-12-29 2021-01-26 Beijing Voyager Technology Co., Ltd. Systems and methods for data management
US11529974B2 (en) 2018-12-29 2022-12-20 Beijing Voyager Technology Co., Ltd. Systems and methods for data management
EP3910505A4 (en) * 2019-01-07 2022-08-17 China Mobile Communication Co., Ltd. Research Institute DATA PROCESSING METHOD AND DEVICE
US11924070B2 (en) 2019-01-07 2024-03-05 China Mobile Communication Co., Ltd Research Institute Data processing method and device
CN109840149A (zh) * 2019-02-14 2019-06-04 百度在线网络技术(北京)有限公司 任务调度方法、装置、设备及存储介质
WO2021223110A1 (zh) * 2020-05-06 2021-11-11 深圳市大疆创新科技有限公司 数据处理装置及方法、介质和计算机设备、可移动设备
CN113407527A (zh) * 2020-11-20 2021-09-17 广东美云智数科技有限公司 一种权限数据的采集方法、管理装置以及存储介质
CN113407527B (zh) * 2020-11-20 2024-03-26 美云智数科技有限公司 一种权限数据的采集方法、管理装置以及存储介质
CN112685427A (zh) * 2021-01-25 2021-04-20 拉卡拉支付股份有限公司 数据接入方法、装置、电子设备及存储介质
CN112685427B (zh) * 2021-01-25 2024-03-26 拉卡拉支付股份有限公司 数据接入方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109101330A (zh) 数据获取方法、装置和***
US11188380B2 (en) Method and apparatus for processing task in smart device
CN107729139B (zh) 一种并发获取资源的方法和装置
CN109634598A (zh) 一种页面显示方法、装置、设备及存储介质
CN108182111A (zh) 任务调度***、方法和装置
EP3806013A1 (en) Method and apparatus for carrying shelf
CN112051993A (zh) 状态机模板的生成及任务处理方法、装置、介质及设备
CN109033001A (zh) 用于分配gpu的方法和装置
CN109697118A (zh) 流式计算任务管理方法、装置、电子设备及存储介质
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
CN108628881A (zh) 数据同步方法和装置
CN111352711B (zh) 多计算引擎调度方法、装置、设备及存储介质
CN110431597A (zh) 用于优化在线按需服务的***和方法
CN109885624A (zh) 数据处理方法、装置、计算机设备和存储介质
KR102211613B1 (ko) 순차적 데이터 블록들의 비동기적 프로세싱
CN109284180A (zh) 一种任务调度方法、装置、电子设备及存储介质
CN109783197A (zh) 用于程序运行时环境的调度方法和装置
CN114675820A (zh) 服务编排数据的处理方法、装置、电子设备和存储介质
CN113886485A (zh) 数据处理方法、装置、电子设备、***和存储介质
CN109033312A (zh) 用于获取信息的方法和装置
CN108021462B (zh) 用于调用云服务的方法和装置
CN114661752A (zh) 分布式数据库的计划调度方法、装置和***
CN114301980A (zh) 容器集群的调度方法、装置、***及计算机可读介质
CN109978380A (zh) 一种工作流处理方法和装置
CN111157000A (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

Application publication date: 20181228

RJ01 Rejection of invention patent application after publication