CN112100414A - 数据处理方法、装置、系统与计算机可读存储介质 - Google Patents
数据处理方法、装置、系统与计算机可读存储介质 Download PDFInfo
- Publication number
- CN112100414A CN112100414A CN202010957769.8A CN202010957769A CN112100414A CN 112100414 A CN112100414 A CN 112100414A CN 202010957769 A CN202010957769 A CN 202010957769A CN 112100414 A CN112100414 A CN 112100414A
- Authority
- CN
- China
- Prior art keywords
- data request
- determining
- partition
- data
- data processing
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000005192 partition Methods 0.000 claims abstract description 185
- 238000004458 analytical method Methods 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000000638 solvent extraction Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- 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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y10/00—Economic sectors
- G16Y10/35—Utilities, e.g. electricity, gas or water
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
-
- 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法,包括:若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。本发明还公开了一种数据处理装置、系统和计算机可读存储介质。本发明将数据请求写入缓冲分区,并轮询对数据请求进行解析处理,以确保数据请求不会堆积,且能及时被解析处理。
Description
技术领域
本发明涉及物联网数据处理技术领域,尤其涉及数据处理方法、装置、系统与计算机可读存储介质。
背景技术
随着信息技术的不断发展和知识经济的进一步提升,智慧社区、智慧城市等项目应运而生,而连接平台是智慧社区、智慧城市项目的重要枢纽,通过连接平台可实现管理与服务一体化。但是,在智慧社区、智慧城市项目的建设中,人脸抓拍机、车辆道闸、门禁、水电气表等众多设备,每天都能产生大量的数据,因此,连接平台每天都要接入海量的数据,而且数据接入的时间存在着潮汐现象,即在某个时段会有大量的数据接入,所以,当接入海量数据时,连接平台要确保数据不会堆积,以此来保证连接平台的稳定运行。
现有技术中的数据处理方式通常是一接收数据请求就直接进行解析,再将解析的结果输出,其中,数据请求的解析过程与业务强相关,而且相对比较耗时。在高并发情况下,由于短时间内接收的数据请求比较多,而且对数据请求进行解析处理的时间比较长,使得连接平台对接收到的数据请求来不及解析处理,导致数据请求不断堆积,最终造成连接平台工作异常甚至崩溃。
发明内容
本发明的主要目的在于提出一种数据处理方法、装置、系统与计算机可读存储介质,旨在实现高并发接入的情况下,数据请求不会堆积,且能及时被解析处理的目的。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括如下步骤:
若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;
若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
优选地,所述若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效的步骤之前,所述数据处理方法还包括:
确定所述接入服务线程的最大接收速率,并确定所述解析服务线程的平均解析速率;
基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数;
基于所述第一分区数,对所述第一主题进行分区,以得到对应的缓冲分区,并基于所述第二分区数,对所述第二主题进行分区,以得到对应的存储分区。
优选地,所述基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数的步骤包括:
确定所述最大接收速率与所述平均解析速率的比值,并基于所述比值,确定所述第一主题对应的最小第一分区数,以及所述第二主题对应的最小第二分区数;
基于所述最小第一分区数,确定所述第一主题的第一分区数,并基于所述最小第二分区数,确定所述第二主题对应的第二分区数。
优选地,所述确定所述数据请求在第一主题对应的目标缓冲分区的步骤包括:
确定所述数据请求对应的设备编号;
基于所述设备编号,确定所述数据请求在第一主题对应的目标缓冲分区。
优选地,所述对所述数据请求进行解析处理的步骤包括:
确定所述数据请求对应的原始设备信息,并确定所述原始设备信息对应的标准设备信息;
基于所述标准设备信息,对所述数据请求进行解析处理。
优选地,所述通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区的步骤之前,所述数据处理方法还包括:
若确定所述数据请求包含图片地址,则基于所述图片地址,确定所述数据请求对应的图片文件,并将所述图片文件上传至预设服务器;
接收所述预设服务器基于所述图片文件返回的接收地址,并基于所述接收地址,更新所述解析结果。
优选地,所述确定所述数据请求是否有效的步骤包括:
确定所述数据请求对应的内容,并确定所述内容是否完整;
若是,则确定所述内容对应的数据请求有效。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:
接收确定模块,用于若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
确定缓存模块,用于若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;
解析处理模块,用于若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
写入存储模块,用于通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
优选地,所述数据处理装置还包括分区确定模块,所述分区确定模块用于:
确定所述接入服务线程的最大接收速率,并确定所述解析服务线程的平均解析速率;
基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数;
基于所述第一分区数,对所述第一主题进行分区,以得到对应的缓冲分区,并基于所述第二分区数,对所述第二主题进行分区,以得到对应的存储分区。
优选地,所述分区确定模块还用于:
确定所述最大接收速率与所述平均解析速率的比值,并基于所述比值,确定所述第一主题对应的最小第一分区数,以及所述第二主题对应的最小第二分区数;
基于所述最小第一分区数,确定所述第一主题的第一分区数,并基于所述最小第二分区数,确定所述第二主题对应的第二分区数。
优选地,所述确定缓存模块还用于:
确定所述数据请求对应的设备编号;
基于所述设备编号,确定所述数据请求在第一主题对应的目标缓冲分区。优选地,所述解析处理模块还用于:
确定所述数据请求对应的原始设备信息,并确定所述原始设备信息对应的标准设备信息;
基于所述标准设备信息,对所述数据请求进行解析处理。
优选地,所述数据处理装置还包括上传更新模块,所述上传更新模块用于:
若确定所述数据请求包含图片地址,则基于所述图片地址,确定所述数据请求对应的图片文件,并将所述图片文件上传至预设服务器;
接收所述预设服务器基于所述图片文件返回的接收地址,并基于所述接收地址,更新所述解析结果。
优选地,所述接收确定模块还用于:
确定所述数据请求对应的内容,并确定所述内容是否完整;
若是,则确定所述内容对应的数据请求有效。
此外,为实现上述目的,本发明还提供一种数据处理系统,所述数据处理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
本发明提出的数据处理方法,若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。本发明将数据请求写入缓冲分区,并轮询对数据请求进行解析处理,以确保数据请求不会堆积,且能及时被解析处理。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理方法第一实施例中,接入服务线程模块和解析服务线程模块的交互示意图;
图4为本发明数据处理方法第一实施例中数据处理系统框架示意图;
图5为本发明数据处理装置的功能模块示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的系统结构示意图。
本发明实施例系统包括接入服务模块、解析服务模块等。
如图1所示,该系统可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
其中,操作系统是管理和控制数据处理系统与软件资源的程序,支持网络通信模块、用户接口模块、数据处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的数据处理系统中,所述数据处理系统通过处理器1001调用存储器1005中存储的数据处理程序,并执行下述数据处理方法各个实施例中的操作。
基于上述硬件结构,提出本发明数据处理方法实施例。
参照图2,图2为本发明数据处理方法第一实施例的流程示意图,所述数据处理方法包括:
步骤S10,若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
步骤S20,若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;
步骤S30,若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
步骤S40,通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
本实施例数据处理方法运用于连接平台的数据处理系统中,尤其是在高并发接入的数据处理系统中。连接平台的数据处理系统主要负责把各种数据源的数据请求汇聚到一起,然后对数据请求进行解析处理,得到对应的解析结果,再将解析结果提供给上层应用平台使用,所以,数据处理系统需要面对海量数据的接入问题。在本实施例中,数据处理系统通过引入Kafka分布式流处理中间件,并且Kafka中预置了两个不同的主题,也即第一主题和第二主题,其中,第一主题用来保存有效的数据请求,第二主题用来保存数据请求对应的解析结果。不管是写入Kafka第一主题的数据请求,还是写入Kafka第二主题的解析结果,都是以日志文件的方式保存的。参照图3,数据处理系统还包括接入服务线程模块、解析服务线程模块等,其中,接入服务线程模块用于接收数据请求,确定数据请求的有效性,并对数据请求作出应答,再将有效的数据请求写入第一主题的目标缓冲分区中进行缓存;解析服务线程模块用于轮询从第一主题中拉取缓冲分区中的数据请求,并对数据请求进行解析处理,得到对应的解析结果,再将解析结果写入第二主题的存储分区。参照图4,数据处理系统从各个数据源平台,如数据源1、数据源2等数据源平台接入数据请求,再通过接入服务线程模块将有效地数据请求写入topic1,也即第一主题中,再通过解析服务线程模块从topic1中依次读取数据请求,并对数据请求进行解析处理,得到对应的解析结果,再将解析结果写入topic2,也即第二主题中,以供给其他业务服务模块使用。
本实施例的数据处理系统,若通过接入服务线程接收到数据请求,则确定数据请求是否有效;若有效,则确定数据请求在第一主题对应的目标缓冲分区,并将数据请求写入目标缓冲分区进行缓存;若通过解析服务线程在目标缓冲分区轮询检测到数据请求,则对数据请求进行解析处理,以得到对应的解析结果;将解析结果写入第二主题对应的目标存储分区。
以下将对各个步骤进行详细说明:
步骤S10,若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
在本实施例中,若通过接入服务线程接收到来自其他数据源的数据请求,则判断数据请求的有效性,以此确定数据请求是否有效。
具体的,所述确定所述数据请求是否有效的步骤包括:
步骤a1,确定所述数据请求对应的内容,并确定所述内容是否完整;
在本实施例中,确定数据请求是否有效,也即判断数据请求的有效性,需要先确定数据请求对应的内容,通过确定内容是否完整来确定数据请求是否有效。在具体实施时,确定内容是否完整,可通过确定数据请求的内容是否包含对应的元素,如数据请求要求包含图片文件或对应的图片地址等,也可通过确定数据请求的内容是否符合数据处理系统的协议、格式等来确定。
步骤a2,若是,则确定所述内容对应的数据请求有效。
在本实施例中,若接收到的数据请求所对应的内容是完整的,则确定该数据请求有效;若内容不是完整的,则确定该数据请求无效,并把无效的数据请求丢弃。
进一步的,在步骤S10之前,所述数据处理方法还包括:
步骤b1,确定所述接入服务线程的最大接收速率,并确定所述解析服务线程的平均解析速率;
在本实施例中,要保证在高并发接入数据时,不会造成数据请求堆积,并且保证数据请求能及时被解析处理,需要在第一主题中设置一定数量的缓冲分区来缓存数据请求,以及在第二主题中设置同样数量的存储分区来保存对应的解析结果。而确定分区数需要先确定接入服务线程接收数据请求的最大接收速率,以及解析服务线程解析数据的平均解析速率。
步骤b2,基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数;
在本实施例中,通过确定接入服务线程接收数据请求的最大接收速率,以及解析服务线程解析数据的平均解析速率,就能确定第一主题对应的第一分区数和第二主题对应的第二分区数。由于第一主题与第二主题是一一对应的,所以,第一分区数与第二分区数是一样的。
具体的,步骤b2还包括:
步骤b21,确定所述最大接收速率与所述平均解析速率的比值,并基于所述比值,确定所述第一主题对应的最小第一分区数,以及所述第二主题对应的最小第二分区数;
在本实施例中,由于第一主题的第一分区数与第二主题的第二分区数是一样的,那么,第一主题对应的最小第一分区数和第二主题对应的最小第二分区数也是一样的。如果确定接入服务线程接收数据请求的最大接收速率是N包/秒,解析服务线程的平均解析速率是M包/秒,则最大接收速率与平均解析速率的比值即为N/M,若N/M是整数,那么,理论上第一分区数、第二分区数的最小值P为P=N/M,可以理解的,分区数是N/M时,理论上刚好可以保存接收到的所有数据请求,但在实际应用中,由于N/M不一定是整数,而分区数必须是个整数,那么,最小分区数为P=N/M+1,其中,N/M指的是最大接收速率与平均解析速率的比值的整数部分,也即,计算最大接收速率与平均解析速率的比值之后,还要根据向上取整的原则,确定该比值向上取整后对应的最小整数,从而确定该最小整数即为最小分区数,具体的,若N/M的结果是3.1,那么可以确定分区数至少为4。
步骤b22,基于所述最小第一分区数,确定所述第一主题的第一分区数,并基于所述最小第二分区数,确定所述第二主题对应的第二分区数。
在本实施例中,确定了最小分区数,也即确定了第一主题的最小分区数和第二主题的最小分区数,在具体实施时,确定第一主题的第一分区数和第二主题的第二分区数,可在最小分区数的基础上,结合实际业务需求进行确定,也即,第一主题的第一分区数和第二主题的第二分区数都大于或等于最小分区数。
步骤b3,基于所述第一分区数,对所述第一主题进行分区,以得到对应的缓冲分区,并基于所述第二分区数,对所述第二主题进行分区,以得到对应的存储分区。
在本实施例中,根据确定的第一分区数,对第一主题进行分区,得到对应的缓冲分区;同理地,根据确定的第二分区数,对第二主题进行分区,得到对应的存储分区。
步骤S20,若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;在本实施例中,确定了有效的数据请求之后,通过确定数据请求对应的缓冲分区,并通过接入服务线程将数据请求按接收时间的先后顺序写入对应缓冲分区进行缓存。
具体的,所述确定所述数据请求在第一主题对应的目标缓冲分区的步骤包括:
步骤c1,确定所述数据请求对应的设备编号;
在本实施例中,接收到的数据请求都有一个与之对应的发送设备,也即,数据请求携带了发送设备对应的设备编号。因此,确定数据请求对应的目标缓冲分区需要先确定数据请求对应的设备编号。
步骤c2,基于所述设备编号,确定所述数据请求在第一主题对应的目标缓冲分区。
在本实施例中,为了保证第一主题的每个缓冲分区写入的数据请求是均衡的,在确定数据请求在第一主题对应的目标缓冲分区时,通过预设算法,如HASH(散列函数)算法,计算设备编号对应的HASH值,再将该HASH值和第一主题的第一分区数取模,通过取模运算得到数据请求对应的分区号,然后根据缓冲分区的分区顺序,确定该分区号在第一主题对应的目标缓冲分区。可以理解的,通过取模运算得到的分区号是小于第一分区数的整数,且分区号与分区顺序是一一对应的,如分区号是0,对应缓冲分区的第一分区;分区号是1,对应缓冲分区的第二分区......以此类推。因此,通过数据请求携带的设备编号,就能得到数据请求在第一主题中对应的分区号,从而确定数据请求在第一主题中的目标缓冲分区。
步骤S30,若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
在本实施例中,轮询检测指的是根据缓冲分区的分区顺序、缓冲分区对应的设备编号顺序、各个缓冲分区中数据请求的写入顺序等,设置定时或者实时的轮询检测时间,再通过解析服务线程检测是否接收到新的数据请求。若解析服务线程在目标缓冲分区轮询检测到数据请求,则获取该数据请求,并对该数据请求进行解析处理,以得到对应的解析结果。通过轮询检测数据请求,可保证数据请求能按照其接收时间的先后顺序进行解析处理,也即,保证了数据请求能被及时解析处理。
具体的,所述对所述数据请求进行解析处理的步骤包括:
步骤d1,确定所述数据请求对应的原始设备信息,并确定所述原始设备信息对应的标准设备信息;
在本实施例中,数据请求中包含与之对应的原始设备信息,但原始设备信息都是由各个数据源平台独立生成的,没有统一的标准,而数据处理系统会根据原始设备信息,自动生成与之对应的标准设备信息。因此,可通过原始设备信息,去确定对应的标准设备信息。如在具体实施时,可根据数据请求对应的设备编号,去确定对应的标准设备信息。
步骤d2,基于所述标准设备信息,对所述数据请求进行解析处理。
在本实施例中,将标准设备信息添加到对应的数据请求中,更新数据请求,就能得到对应的解析结果,也即,对数据请求进行解析处理,实际上是对数据请求进行标准化的过程。由于连接平台的数据处理系统是采用标准1400格式的事件信息对上层应用进行管理的,因此,需要对数据请求进行解析处理,也即对数据请求进行标准化,转换成标准1400格式的事件信息,才能给上层应用使用。
步骤S40,通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
在本实施例中,通过解析服务线程将数据请求进行解析处理,得到对应的解析结果之后,还要将解析结果写入第二主题对应的目标存储分区,才能供给上层应用使用。在确定解析结果对应的目标存储分区时,通过获取解析结果中的标准设备信息,以确定标准的设备编号,再通过HASH算法、取模运算等预设算法,最后确定解析结果在第二主题中对应的目标存储分区。也即,将解析结果写入第二主题对应的存储分区的方法,与将数据请求写入对应的缓冲分区的方法类似,此处不再赘述。
本实施例的数据处理方法,若通过接入服务线程接收到数据请求,则确定数据请求是否有效;若有效,则确定数据请求在第一主题对应的目标缓冲分区,并通过接入服务线程将数据请求写入所述目标缓冲分区进行缓存;若通过解析服务线程在目标缓冲分区轮询检测到数据请求,则获取数据请求,并对数据请求进行解析处理,以得到对应的解析结果;通过解析服务线程将解析结果写入数据请求在第二主题对应的目标存储分区。本发明将数据请求写入缓冲分区,并轮询对数据请求进行解析处理,以确保数据请求不会堆积,且能及时被解析处理。
进一步地,基于本发明数据处理方法第一实施例,提出本发明数据处理方法第二实施例。
数据处理方法的第二实施例与数据处理方法的第一实施例的区别在于,步骤S40之前,所述数据处理方法还包括:
步骤e,若确定所述数据请求包含图片地址,则基于所述图片地址,确定所述数据请求对应的图片文件,并将所述图片文件上传至预设服务器;
步骤f,接收所述预设服务器基于所述图片文件返回的接收地址,并基于所述接收地址,更新所述解析结果。
本实施例的数据处理方法,若确定数据请求包含图片地址,则根据图片地址去确定对应的图片文件,并将图片文件上传至预设服务器,根据预设服务器返回的接收地址,更新数据请求对应的解析结果。
以下将对各个步骤进行详细说明:
步骤e,若确定所述数据请求包含图片地址,则基于所述图片地址,确定所述数据请求对应的图片文件,并将所述图片文件上传至预设服务器;
在本实施例中,若确定数据请求包含图片地址,则根据该图片地址,确定对应的图片文件,并将图片文件上传至预设服务器,如FastDFS(Fast Distributed File System,轻量级分布式服务器)。可以理解的,供给上层应用使用的解析结果是统一的标准格式,但不同的应用对使用的数据有不同的要求。若最后的解析结果要求是带图片文件的标准事件信息,而数据请求中没有携带图片文件,但包含对应的图片地址,那么,可根据数据请求中包含的图片地址,去获取对应的图片文件,并将图片文件上传至预设服务器保存。
步骤f,接收所述预设服务器基于所述图片文件返回的接收地址,并基于所述接收地址,更新所述解析结果。
在本实施例中,数据处理系统通过接收预设服务器保存图片文件后返回的接收地址,并将接收地址添加到解析结果中,以更新解析结果对应的图片链接信息,也即更新数据请求对应的解析结果。可以理解的,将图片文件的接收地址添加到解析结果中,上层应用就可直接从解析结果中获取对应的图片文件。
本实施例的数据处理方法,若确定数据请求包含图片地址,则根据图片地址去确定对应的图片文件,并将图片文件上传至预设服务器,根据预设服务器返回的接收地址,更新数据请求对应的解析结果,使得上层应用可直接从解析结果中获取对应的图片文件,进一步提高了数据处理系统的服务效率。
本发明还提供一种数据处理装置。参照图5,本发明数据处理装置包括:
接收确定模块10,用于若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
确定缓存模块20,用于若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;
解析处理模块30,用于若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
写入存储模块40,用于通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
优选地,所述数据处理装置还包括分区确定模块,所述分区确定模块用于:
确定所述接入服务线程的最大接收速率,并确定所述解析服务线程的平均解析速率;
基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数;
基于所述第一分区数,对所述第一主题进行分区,以得到对应的缓冲分区,并基于所述第二分区数,对所述第二主题进行分区,以得到对应的存储分区。
优选地,所述分区确定模块还用于:
确定所述最大接收速率与所述平均解析速率的比值,并基于所述比值,确定所述第一主题对应的最小第一分区数,以及所述第二主题对应的最小第二分区数;
基于所述最小第一分区数,确定所述第一主题的第一分区数,并基于所述最小第二分区数,确定所述第二主题对应的第二分区数。
优选地,所述确定缓存模块还用于:
确定所述数据请求对应的设备编号;
基于所述设备编号,确定所述数据请求在第一主题对应的目标缓冲分区。优选地,所述解析处理模块还用于:
确定所述数据请求对应的原始设备信息,并确定所述原始设备信息对应的标准设备信息;
基于所述标准设备信息,对所述数据请求进行解析处理。
优选地,所述数据处理装置还包括上传更新模块,所述上传更新模块用于:
若确定所述数据请求包含图片地址,则基于所述图片地址,确定所述数据请求对应的图片文件,并将所述图片文件上传至预设服务器;
接收所述预设服务器基于所述图片文件返回的接收地址,并基于所述接收地址,更新所述解析结果。
优选地,所述接收确定模块还用于:
确定所述数据请求对应的内容,并确定所述内容是否完整;
若是,则确定所述内容对应的数据请求有效。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
其中,在所述处理器上运行的数据处理程序被执行时所实现的方法可参照本发明数据处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端系统(可以是手机,计算机,服务器,空调器,或者网络系统等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括如下步骤:
若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;
若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
2.如权利要求1所述的数据处理方法,其特征在于,所述若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效的步骤之前,所述数据处理方法还包括:
确定所述接入服务线程的最大接收速率,并确定所述解析服务线程的平均解析速率;
基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数;
基于所述第一分区数,对所述第一主题进行分区,以得到对应的缓冲分区,并基于所述第二分区数,对所述第二主题进行分区,以得到对应的存储分区。
3.如权利要求2所述的数据处理方法,其特征在于,所述基于所述最大接收速率和所述平均解析速率,确定所述第一主题对应的第一分区数以及所述第二主题对应的第二分区数的步骤包括:
确定所述最大接收速率与所述平均解析速率的比值,并基于所述比值,确定所述第一主题对应的最小第一分区数,以及所述第二主题对应的最小第二分区数;
基于所述最小第一分区数,确定所述第一主题的第一分区数,并基于所述最小第二分区数,确定所述第二主题对应的第二分区数。
4.如权利要求1所述的数据处理方法,其特征在于,所述确定所述数据请求在第一主题对应的目标缓冲分区的步骤包括:
确定所述数据请求对应的设备编号;
基于所述设备编号,确定所述数据请求在第一主题对应的目标缓冲分区。
5.如权利要求1所述的数据处理方法,其特征在于,所述对所述数据请求进行解析处理的步骤包括:
确定所述数据请求对应的原始设备信息,并确定所述原始设备信息对应的标准设备信息;
基于所述标准设备信息,对所述数据请求进行解析处理。
6.如权利要求1所述的数据处理方法,其特征在于,所述通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区的步骤之前,所述数据处理方法还包括:
若确定所述数据请求包含图片地址,则基于所述图片地址,确定所述数据请求对应的图片文件,并将所述图片文件上传至预设服务器;
接收所述预设服务器基于所述图片文件返回的接收地址,并基于所述接收地址,更新所述解析结果。
7.如权利要求1-6任一项所述的数据处理方法,其特征在于,所述确定所述数据请求是否有效的步骤包括:
确定所述数据请求对应的内容,并确定所述内容是否完整;
若是,则确定所述内容对应的数据请求有效。
8.一种的数据处理装置,其特征在于,所述的数据处理装置包括:
接收确定模块,用于若通过接入服务线程接收到数据请求,则确定所述数据请求是否有效;
确定缓存模块,用于若有效,则确定所述数据请求在第一主题对应的目标缓冲分区,并通过所述接入服务线程将所述数据请求写入所述目标缓冲分区进行缓存;
解析处理模块,用于若通过解析服务线程在所述目标缓冲分区轮询检测到所述数据请求,则获取所述数据请求,并对所述数据请求进行解析处理,以得到对应的解析结果;
写入存储模块,用于通过所述解析服务线程将所述解析结果写入所述数据请求在第二主题对应的目标存储分区。
9.一种数据处理系统,其特征在于,所述数据处理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010957769.8A CN112100414B (zh) | 2020-09-11 | 2020-09-11 | 数据处理方法、装置、系统与计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010957769.8A CN112100414B (zh) | 2020-09-11 | 2020-09-11 | 数据处理方法、装置、系统与计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100414A true CN112100414A (zh) | 2020-12-18 |
CN112100414B CN112100414B (zh) | 2024-02-23 |
Family
ID=73751482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010957769.8A Active CN112100414B (zh) | 2020-09-11 | 2020-09-11 | 数据处理方法、装置、系统与计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100414B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342550A (zh) * | 2021-06-29 | 2021-09-03 | 安徽容知日新科技股份有限公司 | 一种数据处理方法、系统、计算设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719833A (zh) * | 2004-07-07 | 2006-01-11 | 微软公司 | 对等计算机网络中有效的一对多内容发布 |
US20100106915A1 (en) * | 2008-10-26 | 2010-04-29 | Microsoft Corporation | Poll based cache event notifications in a distributed cache |
CN101840374A (zh) * | 2010-04-28 | 2010-09-22 | 福建星网锐捷网络有限公司 | 处理装置、信息查找系统及信息查找方法 |
CN102521265A (zh) * | 2011-11-21 | 2012-06-27 | 华中科技大学 | 一种海量数据管理中动态一致性控制方法 |
CN103488690A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据集成系统和数据集成方法 |
CN104102542A (zh) * | 2013-04-10 | 2014-10-15 | 华为技术有限公司 | 一种网络数据包处理方法和装置 |
CN107590210A (zh) * | 2017-08-25 | 2018-01-16 | 咪咕互动娱乐有限公司 | 一种数据处理方法、装置、系统及计算机可读存储介质 |
CN109308170A (zh) * | 2018-09-11 | 2019-02-05 | 北京北信源信息安全技术有限公司 | 一种数据处理方法及装置 |
CN109558230A (zh) * | 2018-11-23 | 2019-04-02 | 北京百分点信息科技有限公司 | 一种分布式定时任务调度系统及方法 |
US20190222619A1 (en) * | 2015-05-14 | 2019-07-18 | Web Spark Ltd. | System and Method for Streaming Content from Multiple Servers |
CN110489417A (zh) * | 2019-07-25 | 2019-11-22 | 深圳壹账通智能科技有限公司 | 一种数据处理方法及相关设备 |
CN111181819A (zh) * | 2019-12-25 | 2020-05-19 | 交控科技股份有限公司 | 一种基于链表结构的接收多字节数据帧的串口通讯方法 |
-
2020
- 2020-09-11 CN CN202010957769.8A patent/CN112100414B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719833A (zh) * | 2004-07-07 | 2006-01-11 | 微软公司 | 对等计算机网络中有效的一对多内容发布 |
US20100106915A1 (en) * | 2008-10-26 | 2010-04-29 | Microsoft Corporation | Poll based cache event notifications in a distributed cache |
CN101840374A (zh) * | 2010-04-28 | 2010-09-22 | 福建星网锐捷网络有限公司 | 处理装置、信息查找系统及信息查找方法 |
CN102521265A (zh) * | 2011-11-21 | 2012-06-27 | 华中科技大学 | 一种海量数据管理中动态一致性控制方法 |
CN104102542A (zh) * | 2013-04-10 | 2014-10-15 | 华为技术有限公司 | 一种网络数据包处理方法和装置 |
CN103488690A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据集成系统和数据集成方法 |
US20190222619A1 (en) * | 2015-05-14 | 2019-07-18 | Web Spark Ltd. | System and Method for Streaming Content from Multiple Servers |
CN107590210A (zh) * | 2017-08-25 | 2018-01-16 | 咪咕互动娱乐有限公司 | 一种数据处理方法、装置、系统及计算机可读存储介质 |
CN109308170A (zh) * | 2018-09-11 | 2019-02-05 | 北京北信源信息安全技术有限公司 | 一种数据处理方法及装置 |
CN109558230A (zh) * | 2018-11-23 | 2019-04-02 | 北京百分点信息科技有限公司 | 一种分布式定时任务调度系统及方法 |
CN110489417A (zh) * | 2019-07-25 | 2019-11-22 | 深圳壹账通智能科技有限公司 | 一种数据处理方法及相关设备 |
CN111181819A (zh) * | 2019-12-25 | 2020-05-19 | 交控科技股份有限公司 | 一种基于链表结构的接收多字节数据帧的串口通讯方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342550A (zh) * | 2021-06-29 | 2021-09-03 | 安徽容知日新科技股份有限公司 | 一种数据处理方法、系统、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112100414B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN104754073A (zh) | 一种资源访问方法及装置 | |
CN113010224B (zh) | 前端微服务化方法、装置、计算机设备和存储介质 | |
CN112583797B (zh) | 多协议数据处理方法、装置、设备及计算机可读存储介质 | |
CN111339057A (zh) | 减少回源请求的方法、装置及计算机可读存储介质 | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
CN111817984A (zh) | 消息发送方法、装置、设备及存储介质 | |
CN112612977A (zh) | 一种页面显示方法、系统、装置、设备及存储介质 | |
CN112100414A (zh) | 数据处理方法、装置、系统与计算机可读存储介质 | |
JP2005228183A (ja) | プログラム実行方法、および、プログラム実行のための計算機システム | |
CN111274104B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111274032A (zh) | 任务处理系统及方法、存储介质 | |
CN114238391A (zh) | 数据分页查询方法、装置、电子设备及存储介质 | |
CN114238264A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113761419A (zh) | 拓扑信息的显示方法、装置、电子设备及存储介质 | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
CN111158654A (zh) | 算法调用方法、装置、服务器及存储介质 | |
CN116861455B (zh) | 事件数据处理方法、系统、电子设备及存储介质 | |
CN113806416B (zh) | 实时数据服务的实现方法、装置及电子设备 | |
CN116089125A (zh) | 分布式消息队列系统、消息发布方法及消息接收方法 | |
CN109324858B (zh) | 网页中显示内容的获取方法和装置 | |
CN116775670A (zh) | 数据交互方法、装置、电子设备及可读存储介质 | |
CN115567455A (zh) | 一种访问流量切换方法、装置、计算机设备及存储介质 | |
CN116257375A (zh) | Kafka数据自动化流处理方法及装置 | |
CN116304079A (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 |