CN110347708B - 一种数据处理方法以及相关设备 - Google Patents
一种数据处理方法以及相关设备 Download PDFInfo
- Publication number
- CN110347708B CN110347708B CN201910575638.0A CN201910575638A CN110347708B CN 110347708 B CN110347708 B CN 110347708B CN 201910575638 A CN201910575638 A CN 201910575638A CN 110347708 B CN110347708 B CN 110347708B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- server
- terminal
- flow path
- 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.)
- Active
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种数据处理方法以及相关设备,其中方法包括:服务器接收终端设备发送的终端数据;终端数据包括多个子数据;服务器获取对所述终端数据的处理逻辑信息;处理逻辑信息包括多个数据流转路径,每个数据流转路径对应处理一个子数据,多个数据流转路径和多个子数据之间的映射关系是预设的;服务器根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。通过实施本发明实施例,可以实现对包含多种子数据的终端数据实时流式处理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法以及相关设备。
背景技术
当前大数据已广泛进入企业生产过程,数据逐步变成了生产力,驱动企业快速发展,人们也越来越多的认识到,数据价值挖掘的时效性已经成为了企业竞争力。快数据时代,越实时越有价值,实时流计算已成为核心引擎。
而数据仓库的数据集成是实时流计算的重要一环。数据集成也叫ETL(抽取:extract、转换:transform、加载:load),ETL泛指将数据从数据源头抽取、经过清洗、转换、关联等,并最终按照预先设计的数据模型将数据加载到数据仓库的过程。然而现有技术仅能按照抽取-过滤-转化的单一模式进行实时地ETL处理,对于包括多种多样数据类型的终端数据而言,需要十分复杂的实时处理逻辑,而现有的数据挖掘方案,对于多数据类型的终端数据处理效率较低,无法实现实时流式处理。
发明内容
本申请实施例提供一种数据处理方法,可满足终端数据的实时流式处理。
第一方面,本申请实施例提供了一种数据处理方法,该方法包括:
服务器接收终端设备发送的终端数据,所述终端数据包括多个子数据;
所述服务器获取对所述终端数据的处理逻辑信息;其中,所述处理逻辑信息包括多个数据流转路径,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的;
所述服务器根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些可能的实施例中,所述处理逻辑信息包括数据逻辑图,所述服务器获取对所述终端数据的处理逻辑信息,包括:所述服务器接收客户端发送的数据逻辑图,所述数据逻辑图表征对所述终端数据中的每个子数据的抽取、过滤、转换规则,所述抽取、过滤、转换规则是通过用户在所述客户端编辑获得的;所述服务器根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径。
在一些可能的实施例中,所述多个数据流转路径中的任一数据流转路径包括数据抽取结点,数据过滤结点以及数据转化结点中的一个或多个,其中所述数据抽取节点用于从所述终端数据中抽取目标子数据,所述数据过滤结点用于剔除所述目标子数据中的无效数值,所述数据转化结点用于根据预设格式转化所述目标子数据。
在一些可能的实施例中,所述方法还包括:所述服务器将处理后的各个子数据存储至数据库中;所述服务器统计所述数据库中的各个子数据,获得所述各个子数据的统计结果;所述服务器向所述客户端发送各个子数据的统计结果。
在一些可能的实施例中,在所述服务器获取对所述终端数据的处理逻辑信息之前,所述方法还包括:所述服务器向所述客户端发送前端界面,所述前端界面用于提供用户编辑所述数据逻辑图的操作环境。
在一些可能的实施例中,所述服务器根据各个子数据对应的数据流转路径,对所述各个子数据进行处理,包括:所述服务器在Spark Streaming流式计算框架下,根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些可能的实施例中,所述服务器根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径,包括:所述服务器根据深度优先遍历算法遍历数据逻辑图中的第一分支,直至遍历至所述第一分支的终止节点;所述服务器从所述终止节点回溯至所述第一分支的起始节点后,根据所述深度优先遍历算法遍历所述数据逻辑图中的第二分支,所述第二分支是所述第一分支的下一分支。
第二方面,提供一种数据处理装置,包括:
通信模块,用于接收终端设备发送的终端数据,所述终端数据包括多个子数据;
获取模块,用于获取对所述终端数据的处理逻辑信息;其中,所述处理逻辑信息包括多个数据流转路径,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的;
处理模块,用于根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些可能的实施例中,所述处理逻辑信息包括数据逻辑图,所述获取模块用于,接收客户端发送的数据逻辑图,所述数据逻辑图表征对所述终端数据中的每个子数据的抽取、过滤、转换规则,所述抽取、过滤、转换规则是通过用户在所述客户端编辑获得的;根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径。
在一些可能的实施例中,所述多个数据流转路径中的任一数据流转路径包括数据抽取结点,数据过滤结点以及数据转化结点中的一个或多个,其中所述数据抽取节点用于从所述终端数据中抽取目标子数据,所述数据过滤结点用于剔除所述目标子数据中的无效数值,所述数据转化结点用于根据预设格式转化所述目标子数据。
在一些可能的实施例中,所述装置还包括统计模块,所述统计模块还用于,将处理后的各个子数据存储至数据库中;统计所述数据库中的各个子数据,获得所述各个子数据的统计结果;所述服务器向所述客户端发送各个子数据的统计结果。
在一些可能的实施例中,所述通信模块还用于,在所述服务器获取对所述终端数据的处理逻辑信息之前,向所述客户端发送前端界面,所述前端界面用于提供用户编辑所述数据逻辑图的操作环境。
在一些可能的实施例中,所述处理模块具体用于:所述服务器在Spark Streaming流式计算框架下,根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些可能的实施例中,所述获取模块还用于,根据深度优先遍历算法遍历数据逻辑图中的第一分支,直至遍历至所述第一分支的终止节点;所述服务器从所述终止节点回溯至所述第一分支的起始节点后,根据所述深度优先遍历算法遍历所述数据逻辑图中的第二分支,所述第二分支是所述第一分支的下一分支。
第三方面,本申请实施例提供了另一种服务器,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储支持终端设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本申请实施例中,服务器接收终端设备发送的终端数据,其中终端数据是包括多个子数据的,然后服务器获取所述终端数据中各个子数据对应的数据流转路径,每个数据流转路径对应处理一个子数据,接着服务器就可以根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。本申请实施例,以多个数据流转路径同步处理终端数据中的各个子数据,不仅实现了复杂逻辑的流式处理,而且提高了数据处理的实时性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法的示意流程图;
图2是本申请实施例提供的另一种数据处理方法的示意流程图;
图3是本申请实施例提供的一种基于数据处理过程的有向无环图;
图4是本申请实施例提供的对图3有向无环图进行路径解析获得多个数据流转路径过程示意图;
图5是本申请实施例提供的一种处理检修数据具体过程示意图;
图6是本申请实施例提供的一种数据处理装置的功能模块示意图;
图7是本申请实施例提供的一种服务器的硬件架构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请实施例应用于数据集成领域,数据集成也叫ETL(抽取:extract、转换:transform、加载:load),ETL泛指将数据从数据源头抽取、经过清洗、转换、关联等,并最终按照预先设计的数据模型将数据加载到数据仓库的过程。然而常规技术仅能按照抽取-过滤-转化的单一模式进行实时地ETL处理,对于包括多种多样数据类型的终端数据而言,需要十分复杂的实时处理逻辑,效率较低,而本申请通过技术创新解决了包括多数据类型的终端数据的复杂逻辑实时处理。下面对本申请的技术细节进行具体描述。
参见图1,图1是本申请实施例提供一种数据处理方法的流程示意流程图,如图1所示,该方法可包括:
S101、服务器接收终端设备发送的终端数据。其中所述终端数据包括多个子数据。
在本申请实施例中,所述终端设备包括:物联网终端设备和互联网终端设备,所述物联网终端设备可以通过窄带物联网协议(Narrow Band Internet of Things,NB-IoT)、远距离无线电协议(Long Range Radio,LoRa)或者其他通信协议发送到服务器的;所述互联网终端设备可以通过传输控制协议(TCP,Transmission Control Protocol),用户数据报协议(User Datagram Protocol,UDP),超文本传输协议(HTTP,Hyper Text TransferProtocol),文件传输协议(File Transfer Protocol,FTP)或者其他通信协议发送至服务器的。当所述终端设备为物联网设备时,所述物联网设备可以是车载单元(On Board Unit,OBU),路测单元(Road Side Unit,RSU),以及各种检修设备等;当所述终端设备为互联网设备时,所述互联网设备可以是移动手机,台式电脑,便携式计算机,平板电脑等。应理解,上述例子仅仅用于距离,不应对本申请构成具体限定。
在本实施实施例中,所述终端数据是一个包括多个子数据的集合,具体形式可以是:{子数据1,子数据2,子数据3,...,子数据n},其中n为大于1的整数。
S102、所述服务器获取对终端数据的处理逻辑信息。
其中,所述处理逻辑信息包括多个数据流转路径,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的。在一些实施例中,所述多个数据流转路径和所述多个子数据之间的映射关系可以是预先在服务器配置的,也可以通过用户在每个数据流转路径标注对应处理的子数据而获得的。
在一些可能实施例中,在所述服务器获取对所述终端数据的处理逻辑信息之前,所述服务器向所述客户端发送前端界面,所述前端界面用于提供用户编辑所述数据逻辑图的操作环境。提供所述前端界面目的在于便于用户编辑完成对所述终端数据的处理逻辑信息。
在一些实施例中,所述处理逻辑信息包括数据逻辑图,相应的,步骤S102可以通过如下步骤实现:服务器接收客户端发送的数据逻辑图,所述数据逻辑图表征对所述终端数据中的每个子数据的抽取、过滤、转换规则,所述抽取、过滤、转换规则是通过用户在所述客户端编辑获得的;服务器根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径。具体的,任一数据流转路径包括数据抽取结点,数据过滤结点以及数据转化结点中的一个或多个,其中所述数据抽取节点用于从所述终端数据中抽取目标子数据,所述数据过滤结点用于剔除所述目标子数据中的无效数值,所述数据转化结点用于根据预设格式转化所述目标子数据。
在一些实施例中,所述数据逻辑图可以是有向无环图,也可以是无向无环图,本申请对数据逻辑图的具体形式不做限定。
S103、所述服务器根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些实施例中,服务器在Spark Streaming流式计算框架下,根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。其中,Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括Kafk、Flume、Twitter、ZeroMQ、Kinesis以及TCP sockets,从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理。最后还可以将处理结果存储到文件***,数据库和现场仪表盘。在“One Stack rule them all”的基础上,还可以使用Spark的其他子框架,如集群学习、图计算等,对流数据进行处理。本申请服务器在在Spark Streaming流式计算框架下,根据各个子数据对应的数据流转路径,对所述各个子数据进行处理,可以提高数据处理的容错性、实时性、扩展性与吞吐量等。
在一些实施例中,在对各个子数据进行处理之后,所述服务器还将处理后的各个子数据存储至数据库中,并统计所述数据库中的各个子数据,获得所述各个子数据的统计结果,然后向所述客户端发送各个子数据的统计结果。在一些实施例中,所述统计结果的计算方法可以根据具体业务场景需求制定,本申请对此不做具体限定。
本申请实施例中,服务器接收终端设备发送的终端数据,其中终端数据是包括多个子数据的,然后服务器获取所述终端数据中各个子数据对应的数据流转路径,每个数据流转路径对应处理一个子数据,接着服务器就可以根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。本申请实施例,以多个数据流转路径同步处理终端数据中的各个子数据,不仅实现了复杂逻辑的流式处理,而且提高了数据处理的实时性。
参见图2,图2是本申请实施例提供一种数据处理方法的流程示意流程图,如图2所示,该方法可包括:
S201、服务器接收检修设备发送的检修数据。
在本申请实施例中,所述检修数据为检修设备实时发送的原始数据,所述检修数据包括多个子数据。在一些实施例中,所述多个子数据可以包括:检修报告编号、检修技师编号、车辆编号、检修时间、检修地点、检修设备号中的一种或任意多种组合。
在一些实施例中,所述检修设备向所述服务器发送的原始数据中的各个子数据可以通过Key-Value(键值对)的数据格式发送,例如所述检修设备发送的原始数据可以是:
“id=001&technician_id=002&vin=003&diagnose_time=201905291700&lat=79.22&lon=113.22&product_serial_no=004”
所述服务器接收到所述原始数据,可以通过解析字符串中的分隔符“&”,获得每个子数据的键值对,例如获得“id=001”,“technician_id=002”,“vin=003”,“diagnose_time=201905291700”,“lat=79.22”,“lon=113.22”以及“product_serial_no=004”。
其中“id=001”表示检修报告编号为001,“technician_id=002”表示检修技师编号为002,“vin=003”表示车辆编号为003,“diagnose_time=201905291700”表示检修时间为2019年05月29日17时,“lat=79.22”表示检修纬度为79.22,“lon=113.22”表示检修经度为113.22,“product_serial_no=004”表示检修设备号为004。应理解,上述服务器解析检修设备发送的原始数据的例子仅仅用于举例,不应构成具体限定。
在一些实施例中,服务器获取检修数据,可以通过如下方式实现:服务器可以从本地数据库中获取所述检修数据。所述服务器还可以通过有线或者无线的方式接收其他服务器发送的所述检修数据,具体的,无线的方式可以包括传输控制协议(TCP,TransmissionControl Protocol),用户数据报协议(User Datagram Protocol,UDP),超文本传输协议(HTTP,Hyper Text Transfer Protocol),文件传输协议(File Transfer Protocol,FTP)等通信协议中的一种或者任意多种组合。应理解,上述例子仅仅用于举例,本发明不限定获取检修数据的具体方式。
S202、服务器获取对检修数据的处理逻辑信息。
需要说明的,本发明是基于在SaaS(Software-as-a-Service,软件即服务)实时计算服务框架的。SaaS是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。
在一些实施例中,用户通过所述客户端提供的用户界面编辑所述检修数据中的每个子数据的处理规则,其中每个子数据的处理规则包括多个子规则,其中所述子规则可以是抽取规则、过滤规则、转换规则,每个子规则可以通过一个逻辑节点表示,而各个逻辑节点以及各个逻辑节点的连接关系构成了一个有向无环图,所述有向无环图指的是一个无回路的有向图,所述有向无环图的任意一条边有方向且不存在环路。在用户通过所述客户端提供的用户界面编辑完成各个子数据的处理规则的编辑以后,所述客户端获得表征各个子数据的处理规则的有向无环图,并向所述服务器发送所述有向无环图,所述服务器相应地接收所述客户端发送的有向无环图。在另一些实施例中,所述检修数据的处理逻辑信息还可以是通过用户在所述客户端提供的用户界面配置完成的,并预先发送至所述服务器存储至本地,当所述服务器需要获取对所述检修数据的处理逻辑信息时,所述服务器从本地获取所述检修数据的处理逻辑信息。
在本发明实施例中,在所述服务器接收到所述客户端发送的有向无环图之后,所述服务器根据深度优先遍历算法(Depth-First-Search,DFS)遍历所述有向无环图,从而获得所述处理逻辑信息,其中所述处理逻辑信息包括多个数据流转路径,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的。举例来说,例如图2,图2是本申请实施例提供的有向无环图,所述服务器根据深度优先遍历算法对图2的有向无环图进行路径解析,从而获得多个数据流转路径,例如参见图3可知,通过路径解析所述有向无环图,可以获得6个数据流转路径,例如图3中的1号至6号数据流转路径,其中1号数据流转路径可以对应处理所述检修报告编号,2号数据流转路径可以对应处理所述检修技师编号,3号数据流转路径可以对应处理所述车辆编号,4号数据流转路径可以对应处理所述检修时间,5号数据流转路径可以对应处理所述检修地点,6号数据流转路径可以对应处理所述检修设备。应理解,上述例子仅仅用于举例,不应构成具体限定。
在一些实施例中,所述多个数据流转路径中的任一数据流转路径包括数据抽取结点,数据过滤结点以及数据转化结点中的一个或者多个,其中所述数据抽取节点用于从所述检修数据中抽取目标子数据,所述数据过滤结点用于剔除所述目标子数据中的无效数值,所述数据转化结点用于根据预设格式转化所述目标子数据。举例来说,例如图3中,1号数据流转路径由数据抽取结点、数据转换结点、数据过滤结点、数据抽取节点、数据转换结点构成;2号数据流转路径由数据抽取结点、数据转换结点、数据过滤结点构成;3号数据流转路径由数据抽取结点、数据转换结点、数据过滤结点构成;4号数据流转路径由数据抽取结点、数据过滤结点构成;5号数据流转路径由数据抽取结点、数据过滤结点、数据过滤结点、数据转换结点、数据过滤结点构成;6号数据流转路径由数据抽取结点、数据过滤结点、数据过滤结点、数据转换结点构成。由6个数据流转路径的组成可知,每个数据流转路径的组成结点的类型是任意组合的,每个数据流转路径所包括的结点数量可以各不相同,且各个数据流转路径中的各个结点的逻辑顺序是任意的。而常规的ETL(数据抽取、数据清洗、数据转换,Extract、Cleaning、Transform)方案,需要对数据抽取、数据清洗、数据转换整体封装成一个ETL模块,其灵活性较差。也就是说若以数据抽取结点、数据清洗结点、数据转换结点的顺序封装成一个ETL模块,则后续对数据进行处理也只能按照数据抽取、数据清洗、数据转换的顺序进行,不能改变模块内部的先后顺序。而本实施例提出的方案,可以实现任意的结点顺序、任意的结点数量来构建数据流转路径,从而对数据的处理更加灵活便捷,并且可实现更加复杂的数据处理逻辑。
下面结合图4,举例说明本申请对所述检修数据处理的详细过程,首先服务器从用户配置的统一资源定位符(Uniform Resource Locator,URL)获取所述检修数据,具体的,所述服务器可以通过http协议获取所述检修数据;然后所述服务器在第一个数据流转路径中抽取所述检修时间,所述检修时间由字符串构成,例如所述检修时间为“201905291700”,其中第1位至第4位“2019”表示年份,第5位至第6位“05”表示月份,第7位至第8位“29”表示日期,第9位至第10位“1700”表示时间,所述服务器对所述检修时间进行字符串操作,具体为字符串切分,相应获得所述检修时间的“年月日时分”;在第二个数据流转路径中,所述服务器抽取出经纬度,例如所述经纬度为“lat=79.22”,“lon=113.22”,接着所述服务器对所述经纬度进行过滤,去除所述经纬度中的无效值,例如空值,以及超出经纬度范围的非法数值,再接着所述服务器对所述经纬度进行字符串操作,具体为字符串转换,例如将所述经纬度转换为具体的街道地址,最后所述服务器将所述街道地址按照地级市的分类标准进行分组,并将分组后的数据持久化至数据库中;在第三个数据流转路径中,所述服务器抽取出检修技师编号,然后对所述检修技师编号进行过滤,去除所述检修技师编号中的无效值,例如负数,或者编号不在预设编号区间的数值,然后所述服务器根据所述检修技师编号对应的检修技师的工作年限,对所述检修技师编号进行分组,例如将工作年限为1年的检修技师对应的检修技师编号分为一组,将工作年限为2年的检修技师对应的检修技师编号分为一组,最后所述服务器将分组后的检修技师编号持久化至数据库中。应理解,上述例子仅仅用于举例,对所述检修数据处理可根据实际需求制定,本申请对此不做限定。
S203、服务器根据各个子数据对应的数据流转路径,对各个子数据进行同步处理。
在本申请实施例中,所述服务器将处理后的各个子数据存储至数据库,所述服务器统计所述数据库中的各个子数据,获得所述各个子数据的统计结果;所述服务器将所述各个子数据的统计结果发送至所述客户端。例如所述服务器根据所述检修时间以及所述检修技师编号,可以统计出每个检修技师编号对应的检修技师指定日期当日的检修次数;再例如所述服务器根据所述检修地点以及检修时间,可以统计出各个省市在指定日期当日的检修次数。应理解,上述例子仅仅用于举例,不应构成具体限定。
本申请实施例中,服务器获取检修数据,其中检修数据是包括多个子数据,然后服务器获取所述检修数据中各个子数据对应的数据流转路径,每个数据流转路径对应处理一个子数据,接着服务器就可以根据各个子数据对应的数据流转路径,对所述各个子数据进行同步处理,并将处理后的各个子数据存储至数据库中。本申请实施例,以多个数据流转路径同步处理检修数据中的各个子数据,不仅实现了复杂逻辑的流式处理,而且提高了数据处理的实时性。
上文描述了本发明实施例的相关方法,基于相同的发明构思,下面描述本发明实施例的相关装置。
参见图6,图6是本发明实施例提供的一种数据处理装置的功能模块示意图,所述装置600包括:
通信模块601,用于接收终端设备发送的终端数据,所述终端数据包括多个子数据;
获取模块602,用于获取对所述终端数据的处理逻辑信息;其中,所述处理逻辑信息包括多个数据流转路径,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的;
处理模块603,用于根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些可能的实施例中,所述处理逻辑信息包括数据逻辑图,所述获取模块602用于,接收客户端发送的数据逻辑图,所述数据逻辑图表征对所述终端数据中的每个子数据的抽取、过滤、转换规则,所述抽取、过滤、转换规则是通过用户在所述客户端编辑获得的;根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径。
在一些可能的实施例中,所述多个数据流转路径中的任一数据流转路径包括数据抽取结点,数据过滤结点以及数据转化结点中的一个或多个,其中所述数据抽取节点用于从所述终端数据中抽取目标子数据,所述数据过滤结点用于剔除所述目标子数据中的无效数值,所述数据转化结点用于根据预设格式转化所述目标子数据。
在一些可能的实施例中,所述装置还包括统计模块604,所述统计模块604还用于,将处理后的各个子数据存储至数据库中;统计所述数据库中的各个子数据,获得所述各个子数据的统计结果;所述服务器向所述客户端发送各个子数据的统计结果。
在一些可能的实施例中,所述通信模块601还用于,在所述服务器获取对所述终端数据的处理逻辑信息之前,向所述客户端发送前端界面,所述前端界面用于提供用户编辑所述数据逻辑图的操作环境。
在一些可能的实施例中,所述处理模块603具体用于:所述服务器在SparkStreaming流式计算框架下,根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
在一些可能的实施例中,所述获取模块602还用于,根据深度优先遍历算法遍历数据逻辑图中的第一分支,直至遍历至所述第一分支的终止节点;所述服务器从所述终止节点回溯至所述第一分支的起始节点后,根据所述深度优先遍历算法遍历所述数据逻辑图中的第二分支,所述第二分支是所述第一分支的下一分支。
本申请实施例中,数据处理装置首先接收终端设备发送的终端数据,其中终端数据是包括多个子数据的,然后所述装置获取所述终端数据中各个子数据对应的数据流转路径,每个数据流转路径对应处理一个子数据,接着所述装置就可以根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。本申请实施例,以多个数据流转路径同步处理终端数据中的各个子数据,不仅实现了复杂逻辑的流式处理,而且提高了数据处理的实时性。
参见图7,图7是本发明实施例提供的电子设备硬件结构框图,所述电子设备可以是服务器。该服务器包括:处理器701,用于存储处理器可执行指令的存储器,其中,所述处理器被配置为:执行图1或图2方法实施例描述的方法步骤。
可能实施例中,所述服务器还可以包括:一个或多个输入接口702,一个或多个输出接口703和存储器704。
上述处理器701、输入接口702、输出接口703和存储器704通过总线705连接。存储器604用于存储指令,处理器701用于执行存储器704存储的指令,输入接口702用于接收数据,例如图1方法实施中的终端数据以及终端数据的处理逻辑信息,输出接口703用于输出数据,例如图1方法实施例中的子数据。
其中,处理器701被配置用于调用所述程序指令执行:图1方法实施例中涉及与服务器的处理器相关的方法步骤。
应当理解,在本公开实施例中,所称处理器701可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器704可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器704还可以存储接口类型的信息。
在本申请实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质可以是前述任一实施例所述的终端设备的内部存储单元,例如终端设备的硬盘或内存。所述计算机可读存储介质也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端数据的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
服务器接收终端设备发送的终端数据,所述终端数据包括多个子数据;
所述服务器获取对所述终端数据的处理逻辑信息;其中,所述处理逻辑信息包括多个数据流转路径、数据逻辑图,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的;其中,每个所述数据流转路径的组成节点的类型是任意组合的,每个所述数据流转路径所包括的节点数量各不相同,且每个所述数据流转路径中的各个节点的逻辑顺序是任意的;
所述服务器根据各个子数据对应的数据流转路径,对所述各个子数据进行处理;
其中,所述服务器获取对所述终端数据的处理逻辑信息,包括:所述服务器接收客户端发送的数据逻辑图,所述数据逻辑图表征对所述终端数据中的每个子数据的抽取、过滤、转换规则,所述抽取、过滤、转换规则是通过用户在所述客户端编辑获得的;所述服务器根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径。
2.根据权利要求1所述的方法,其特征在于,所述多个数据流转路径中的任一数据流转路径包括数据抽取结点,数据过滤结点以及数据转化结点中的一个或多个,其中所述数据抽取节点用于从所述终端数据中抽取目标子数据,所述数据过滤结点用于剔除所述目标子数据中的无效数值,所述数据转化结点用于根据预设格式转化所述目标子数据。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述服务器将处理后的各个子数据存储至数据库中;
所述服务器统计所述数据库中的各个子数据,获得所述各个子数据的统计结果;
所述服务器向所述客户端发送各个子数据的统计结果。
4.根据权利要求1所述的方法,其特征在于,在所述服务器获取对所述终端数据的处理逻辑信息之前,所述方法还包括:
所述服务器向所述客户端发送前端界面,所述前端界面用于提供用户编辑所述数据逻辑图的操作环境。
5.根据权利要求1或2所述的方法,其特征在于,所述服务器根据各个子数据对应的数据流转路径,对所述各个子数据进行处理,包括:
所述服务器在Spark Streaming流式计算框架下,根据各个子数据对应的数据流转路径,对所述各个子数据进行处理。
6.根据权利要求1或2或4所述的方法,其特征在于,所述服务器根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径,包括:
所述服务器根据深度优先遍历算法遍历数据逻辑图中的第一分支,直至遍历至所述第一分支的终止节点;
所述服务器从所述终止节点回溯至所述第一分支的起始节点后,根据所述深度优先遍历算法遍历所述数据逻辑图中的第二分支,所述第二分支是所述第一分支的下一分支。
7.一种数据处理装置,其特征在于,包括:
通信模块,用于接收终端设备发送的终端数据,所述终端数据包括多个子数据;
获取模块,用于获取对所述终端数据的处理逻辑信息;其中,所述处理逻辑信息包括多个数据流转路径、数据逻辑图,每个数据流转路径对应处理一个子数据,所述多个数据流转路径和所述多个子数据之间的映射关系是预设的;其中,每个所述数据流转路径的组成节点的类型是任意组合的,每个所述数据流转路径所包括的节点数量各不相同,且每个所述数据流转路径中的各个节点的逻辑顺序是任意的;
处理模块,用于根据各个子数据对应的数据流转路径,对所述各个子数据进行处理;
所述获取模块,具体用于接收客户端发送的数据逻辑图,所述数据逻辑图表征对所述终端数据中的每个子数据的抽取、过滤、转换规则,所述抽取、过滤、转换规则是通过用户在所述客户端编辑获得的;根据深度优先遍历算法遍历所述数据逻辑图,从而获得所述多个数据流转路径。
8.一种服务器,其特征在于,包括处理器、输入接口、输出接口和存储器,所述处理器、输入接口、输出接口和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575638.0A CN110347708B (zh) | 2019-06-28 | 2019-06-28 | 一种数据处理方法以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575638.0A CN110347708B (zh) | 2019-06-28 | 2019-06-28 | 一种数据处理方法以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347708A CN110347708A (zh) | 2019-10-18 |
CN110347708B true CN110347708B (zh) | 2023-06-30 |
Family
ID=68177103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910575638.0A Active CN110347708B (zh) | 2019-06-28 | 2019-06-28 | 一种数据处理方法以及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347708B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061711B (zh) * | 2019-11-28 | 2023-09-01 | 同济大学 | 一种基于数据处理行为的大数据流卸载方法和装置 |
CN111858368B (zh) * | 2020-07-27 | 2022-11-25 | 成都新潮传媒集团有限公司 | 数据处理方法、装置及存储介质 |
CN112084196B (zh) * | 2020-09-11 | 2023-10-17 | 武汉一格空间科技有限公司 | 一种流程化数据处理方法及*** |
CN112597220B (zh) * | 2020-12-16 | 2023-10-17 | 北京锐安科技有限公司 | 数据文件读取方法、装置、电子设备和介质 |
CN112667655B (zh) * | 2021-01-21 | 2022-10-11 | 苏州达家迎信息技术有限公司 | 多端交互中的数据流转方法、装置、存储介质及电子设备 |
CN112764907B (zh) * | 2021-01-26 | 2024-05-10 | 网易(杭州)网络有限公司 | 一种任务处理方法、装置、电子设备和存储介质 |
CN113726749B (zh) * | 2021-08-13 | 2023-04-28 | 山西鑫博睿科技有限公司 | 基于大数据和智慧安防的数据管理*** |
CN113723797A (zh) * | 2021-08-26 | 2021-11-30 | 上海飞机制造有限公司 | 一种工业操作中的管理***及方法 |
CN114860847B (zh) * | 2022-06-29 | 2022-09-27 | 深圳红途科技有限公司 | 应用于大数据平台的数据链路处理方法、***及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018014814A1 (zh) * | 2016-07-22 | 2018-01-25 | 阿里巴巴集团控股有限公司 | 终端规则引擎装置、终端规则运行方法 |
CN109558392A (zh) * | 2018-11-20 | 2019-04-02 | 南京数睿数据科技有限公司 | 一种跨平台多引擎支持的海量数据迁移装置 |
-
2019
- 2019-06-28 CN CN201910575638.0A patent/CN110347708B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018014814A1 (zh) * | 2016-07-22 | 2018-01-25 | 阿里巴巴集团控股有限公司 | 终端规则引擎装置、终端规则运行方法 |
CN109558392A (zh) * | 2018-11-20 | 2019-04-02 | 南京数睿数据科技有限公司 | 一种跨平台多引擎支持的海量数据迁移装置 |
Non-Patent Citations (1)
Title |
---|
电网大数据跨行业数据融合交互途径研究;张雨等;《机电信息》;20180122(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110347708A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347708B (zh) | 一种数据处理方法以及相关设备 | |
US10360257B2 (en) | System and method for image annotation | |
CN107918865A (zh) | 保单数据批改处理方法、装置、服务器和存储介质 | |
CN110445860B (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
CN111581291A (zh) | 数据处理方法、装置、电子设备及可读介质 | |
CN109359109B (zh) | 一种基于分布式流计算的数据处理方法及*** | |
CN109743312B (zh) | 一种配置文件的数据动态解析方法、***、终端及介质 | |
CN113656194A (zh) | 对账结果数据的通知方法、装置、电子装置及存储介质 | |
CN104202328B (zh) | 一种订阅goose/smv报文的方法、配置模块及订阅端 | |
CN111124541A (zh) | 一种配置文件的生成方法、装置、设备及介质 | |
CN111612434B (zh) | 用于生成处理流程的方法、装置、电子设备和介质 | |
CN107038208B (zh) | 解析和还原tns协议314版本中sql命令和参数的方法 | |
CN114840634B (zh) | 信息存储方法、装置、电子设备和计算机可读介质 | |
CN102567340A (zh) | 一种过滤微博信息的方法及装置 | |
CN112003743B (zh) | 业务数据的处理方法及设备 | |
CN111813769B (zh) | 数据加工方法与装置 | |
CN114490718A (zh) | 数据输出方法、装置、电子设备和计算机可读介质 | |
CN108734149B (zh) | 一种文本数据扫描方法和装置 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN112860713A (zh) | 用于获取图层数据的方法、电子设备和存储介质 | |
CN113421592B (zh) | 篡改音频的检测方法、装置及存储介质 | |
US10798227B2 (en) | Centralized chromatic pluralizing of internet of things (IOT) communication | |
EP4068141A1 (en) | Method and system to enable print functionality in high-level synthesis (hls) design platforms | |
CN112714057B (zh) | 即时消息处理方法、装置、设备及存储介质 | |
CN114237602A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |