CN111061804B - 基于大数据的异步数据处理方法、装置、设备和存储介质 - Google Patents

基于大数据的异步数据处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111061804B
CN111061804B CN201911043173.0A CN201911043173A CN111061804B CN 111061804 B CN111061804 B CN 111061804B CN 201911043173 A CN201911043173 A CN 201911043173A CN 111061804 B CN111061804 B CN 111061804B
Authority
CN
China
Prior art keywords
data
data processing
request
message
end page
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
Application number
CN201911043173.0A
Other languages
English (en)
Other versions
CN111061804A (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201911043173.0A priority Critical patent/CN111061804B/zh
Publication of CN111061804A publication Critical patent/CN111061804A/zh
Application granted granted Critical
Publication of CN111061804B publication Critical patent/CN111061804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及大数据技术领域,尤其涉及一种基于大数据的异步数据处理方法、装置、设备和存储介质。该方法包括:与前端页面建立通讯,接收前端页面发送的数据处理请求;将数据处理请求生成数据处理任务,将数据处理任务放入预设的消息队列;通过预设的消息订阅方对消息队列中的数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将处理结果存储在数据库中,将处理结果取出并发送给前端页面,通过前端页面将处理结果进行展示。本发明前端页面和后端服务器只用于通讯交互,将处理数据查询和计算业务逻辑等任务均迁移至预设的消息订阅方,有效提高了系统中大数据查询及计算效率,提高系统性能,增强客户体验。

Description

基于大数据的异步数据处理方法、装置、设备和存储介质
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于大数据的异步数据处理方法、装置、设备和存储介质。
背景技术
智能投研,指利用大数据和机器学习,将数据、信息、决策进行智能整合,并实现数据之间的智能化关联,从而提高投资者工作效率和投资能力。在平安的智能投研系统中,系统需要整合多源数据,将不相干的多个信息置于一个统一的定量分析环境中,构建动态知识图谱。因此部分模块的数据量及计算量很大,业务逻辑非常复杂,在java平台的后端服务器处理业务逻辑时,耗时太长,导致浏览器的前端页面经常崩溃,严重影响系统性能,且客户体验感很差。
发明内容
有鉴于此,有必要针对系统处理数据耗时长,浏览器容易崩溃,严重影响系统性能,导致客户体验差的问题,提供一种基于大数据的异步数据处理方法、装置、设备和存储介质。
一种基于大数据的异步数据处理方法,包括:
与前端页面建立通讯,接收所述前端页面发送的数据处理请求;
将所述数据处理请求生成数据处理任务,将所述数据处理任务放入预设的消息队列;
通过预设的消息订阅方对所述消息队列中的所述数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将所述处理结果存储在数据库中;
从所述数据库中查询处理结果,若存在所述处理结果,则将所述处理结果取出并发送给所述前端页面,通过所述前端页面将所述处理结果进行展示
一种可能的设计中,所述与前端页面建立通讯,接收所述前端页面发送的数据处理请求,包括:
接收所述前端页面发起的超文本传输协议HTTP请求,所述HTTP请求中包含附加头信息;
解析所述HTTP请求,得到请求数据,判断所述请求数据中是否包含敏感数据,若不包含敏感数据,则继续判断所述请求数据中是否存在所述附加头信息,若存在所述附加头信息,则产生应答信息,并将所述应答信息返回给所述前端页面,若包含所述敏感数据且存在所述附加头信息,则产生应答信息后,将所述应答信息进行加密后返回给所述前端页面,若不存在所述附加头信息,则向所述前端页面返回错误提示;
接收所述前端页面接收到所述应答信息后发送的所述数据处理请求。
一种可能的设计中,所述判断所述请求数据中是否包含敏感数据,包括:
判断所述请求数据是英文或中文,若是英文,则以请求数据的空格切分成多个英文单词,依次将所述英文单词与预设的英文敏感词库进行比对,判断在所述英文敏感词库中是否含有所述英文单词,若含有,则判断为所述请求数据中包含有所述敏感数据,否则,判断为所述请求数据中不包含所述敏感数据;
若是中文,则将请求数据定义为观测序列,调用预设的隐马尔可夫模型,将所述观测序列输入所述隐马尔可夫模型中,得到状态序列,根据所述状态序列的序列规则将所述状态序列切分成多个中文词语,依次将所述中文词语与预设的中文敏感词库进行比对,判断在所述中文敏感词库中是否含有所述中文词语,若含有,则判断为所述请求数据中包含有敏感数据,否则,判断为所述请求数据中不包含敏感数据。
一种可能的设计中,所述后端服务器将所述数据处理请求生成数据处理任务,包括:
接收所述前端页面发送的所述数据处理请求,解析所述数据处理请求,得到特征项;
获取预设的任务模板,将所述特征项写入所述任务模板中,生成一项数据处理任务。
一种可能的设计中,所述将所述数据处理任务放入预设的消息队列,包括:
将所述数据处理任务发送给消息交换机,通过所述消息交换机根据键值将所述数据处理任务指定一个或多个消息队列;
判断指定的消息队列中任务个数,若所有的消息队列中任务个数均大于预设的阈值,则判断为超过阈值,抛弃任务或返回错误界面;
否则,将所述数据处理任务放入未超过阈值的一个或多个消息队列中。
一种可能的设计中,所述将所述数据处理任务放入预设的消息队列前,还包括:
建立一个或多个消息通道;
声明一个或多个消息交换机,并设置键值,通过所述消息通道与所述消息交换机建立连接;
声明一个或多个消息队列,并设置键值,使用所述键值在所述消息交换机与所述消息队列之间建立绑定关系。
一种可能的设计中,所述将所述数据处理任务放入预设的消息队列后,还包括:
通过预设的消息代理软件将消息队列进行发布;
通过所述消息代理软件对消息队列进行监听,若所述消息队列分发给了预设的消息订阅方,则通过所述消息代理软件将所述数据处理任务从所述消息队列中删除。
一种基于大数据的异步数据处理装置,包括:
通讯模块,用于与前端页面建立通讯,接收所述前端页面发送的数据处理请求;
生成任务模块,用于将所述数据处理请求生成数据处理任务,将所述数据处理任务放入预设的消息队列;
处理任务模块,用于通过预设的消息订阅方对所述消息队列中的所述数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将所述处理结果存储在数据库中;
返回处理结果模块,用于从所述数据库中查询处理结果,若存在所述处理结果,则将所述处理结果取出并发送给所述前端页面,通过所述前端页面将所述处理结果进行展示。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述基于大数据的异步数据处理方法的步骤。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述基于大数据的异步数据处理方法的步骤。
上述基于大数据的异步数据处理方法、装置、设备和存储介质,包括与前端页面建立通讯,接收所述前端页面发送的数据处理请求;将所述数据处理请求生成数据处理任务,将所述数据处理任务放入预设的消息队列;通过预设的消息订阅方对所述消息队列中的所述数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将所述处理结果存储在数据库中;从所述数据库中查询处理结果,若存在所述处理结果,则将所述处理结果取出并发送给所述前端页面,通过所述前端页面将所述处理结果进行展示。本发明前端页面和后端服务器只用于通讯交互,将处理数据查询和计算业务逻辑等任务均迁移至预设的消息订阅方,有效提高了系统中大数据查询及计算效率,提高系统性能,增强客户体验。且上述处理结果由后端服务器主动从数据库中进行查询获取后,与前端页面无需再次建立连接,根据已建立的连接,直接将处理结果推送给前端页面。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中的基于大数据的异步数据处理方法的流程图;
图2为本发明一个实施例中步骤S1的流程图;
图3为本发明一个实施例中步骤S2中生成数据处理任务的流程图;
图4为本发明一个实施例中步骤S2中任务放入消息队列的流程图;
图5为本发明一个实施例中的基于大数据的异步数据处理方法的交互图;
图6为本发明一个实施例中基于大数据的异步数据处理装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本发明一个实施例中的基于大数据的异步数据处理方法的流程图,如图1所示,一种基于大数据的异步数据处理方法,包括以下步骤:
步骤S1,接收及通讯:与前端页面建立通讯,接收前端页面发送的数据处理请求。
本步骤中的前端页面为客户端的前端浏览器,通过前端页面接收用户请求,前端页面采用websocket技术与后端服务器进行通讯,websocket技术是一种在单个TCP连接上进行全双工通信的协议,采用websocket技术后,后端服务器能主动向前端页面推送数据,前端页面和后端服务器之间只需完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输,并且此连接会持续存在直到前端页面或者后端服务器端的某一方主动的关闭连接。
在一个实施例中,步骤S1,如图2所示,包括:
步骤S101,接收通讯请求:接收前端页面发起的超文本传输协议HTTP请求,HTTP请求中包含附加头信息。
为了建立一个websocket连接,客户端的前端页面首先要向后端服务器发起请求,此请求与普通的HTTP请求不同,包含了一些附加头信息,其中附加头信息"Upgrade:WebSocket"表明这是一个申请协议升级的HTTP请求。
步骤S102,应答及返回:解析HTTP请求,得到请求数据,判断所述请求数据中是否包含敏感数据,若不包含敏感数据,则继续判断所述请求数据中是否存在所述附加头信息,若存在附加头信息,则产生应答信息,并将应答信息返回给前端页面,若包含所述敏感数据且存在所述附加头信息,则产生应答信息后,将所述应答信息进行加密后返回给所述前端页面,若不存在所述附加头信息,则向所述前端页面返回错误提示。
后端服务器接收到此HTTP请求后,通过正则表达式等解析方法进行解析,得到请求数据后,还对该请求数据判断是否含有敏感数据,该敏感数据通常为绝密数据,比较重要的涉及重大机密或者重大利益的数据,这类数据的保密性非常高,不能随意公开及发送,必须严格保密。敏感数据例如支付、证书、密码、key等,需要根据预设判断方法来判断请求数据是否敏感数据,若含有则需要将产生的应答信息加密后才能返回,加密时,可以采用预设的加解密算法对应答信息进行加密。若不包含敏感数据,则应答信息无需加密,直接返回。
在对应答信息返回之前,还需要进一步判断请数据中是否存在附加头信息"Upgrade:WebSocket",若存在,则认为可以建立安全连接,返回与前端页面预先确定好的应答信息,此时前端页面和后端服务器之间建立了websocket连接通道。若不存在附加头信息,则认为前端页面发送的请求并不是预先确定好的HTTP请求,后端服务器发送错误提示。
步骤S103,接收数据处理请求:接收前端页面接收到应答信息后发送的数据处理请求。
若前端页面发送的HTTP请求中包含有敏感数据情况下,后端服务器返回的应答信息是加密后的密文,此时,前端页面需要根据预先确定好的加解密算法对密文进行解密后,确定后端服务器也是安全的,前端页面和后端服务器建立websocket连接通道。当前端页面和后端服务器之间建立了websocket连接通道后,双方通过此连接通道自由且自主推送和交互信息。前端页面可以通过Socket.send()实时将接收到的数据处理任务以数据处理请求的方式发送给后端服务器。
本实施例通过websocket技术实现前端页面和后端服务器之间的实时通讯,此连接只需一次握手,两者之间就可建立持久性的连接关系,并进行双向数据传输,前端页面和后端服务器之间通讯方式可靠方便。
在一个实施例中,步骤S102,判断请求数据中是否包含敏感数据,包括:
步骤S10201,判断英文类敏感数据:判断请求数据是英文或中文,若是英文,则以请求数据的空格切分成多个英文单词,依次将英文单词与预设的英文敏感词库进行比对,判断在英文敏感词库中是否含有英文单词,若含有,则判断为请求数据中包含有敏感数据,否则,判断为请求数据中不包含敏感数据。
请求数据包含有英文和中文两种,因此首先先判断请求数据是英文或中文,在判断时可以随机提取请求数据中的若干字符,根据字符的byte数值确定,若都为1,则为英文,否则为中文。英文类的请求数据的每个英文单词都存在空格,本步骤基于此格式特征,以空格切分请求数据,将其切分成多个英文单词来进行判断。英文敏感词库是在判断前预设在后端服务器中,将多个英文单词逐个与英文敏感词库进行比对,若任一英文单词存在于英文敏感词库中,则认为请求数据中包含敏感数据。在本步骤中,还可以计算多个英文单词存在于英文敏感词库中的个数,以便于为后续采用何种加密方式给出数据。
步骤S10202,判断中文类敏感参数:若是中文,则将请求数据定义为观测序列,调用预设的隐马尔可夫模型,将观测序列输入隐马尔可夫模型中,得到状态序列,根据状态序列的序列规则将状态序列切分成多个中文词语,依次将中文词语与预设的中文敏感词库进行比对,判断在中文敏感词库中是否含有中文词语,若含有,则判断为请求数据中包含有敏感数据,否则,判断为请求数据中不包含敏感数据。
本步骤通过预设的隐马尔可夫模型对中文类的请求数据实现分词,其中隐马尔可夫模型对每组观测序列X,均能得到对应的状态序列Y,且状态序列Y采用{B,E,M,S}合集表示。B表示汉字是词语中的起始字,M表示汉字是词语中的中间字,E表示汉字是词语中的结束字,S表示汉字是单字成词。例如:请求数据中包含字符串“请求获取最新的证书”,则将此字符串定义为观测序列X:
X={请,求,获,取,最,新,的,证,书}
输入隐马尔可夫模型中,得到的状态序列Y:
Y={B,E,B,E,S,S,S,B,E}
在对状态序列分成多个中文词语时,序列规则为中文词语的词尾只可能是E或S,根据此序列规则将状态序列切分。例如将上状态序列Y,切分为:请求/获取/最/新/的/证书,包括“请求”、“获取”、“最”、“新”、“的”、“证书”这几个中文词语。
在本步骤中,还可以计算多个中文词语存在于中文敏感词库中的个数,以便于为后续采用何种加密方式给出数据。
本步骤在调用预设的隐马尔可夫模型前,通过现有的词库进行训练,词库例如搜狗词库、百度词库等,训练方式包括:
获取预设的词库,将词库中的词语逐个统计每个汉字在词库中为词首的次数,计算汉字在词库中的为词首的概率。非词语的汉字,则词首的概率为0。为了避免概率计算时出现后续无法比较问题,对概率进行自然对数运算后在于阈值进行比较。将概率小于等于第一概率阈值的汉字定义为单字成词S,将概率大于第一概率阈值的汉字继续进行统计汉字在词库中后面出现的另一汉字的次数,并计算汉字组成的词语在词库中的概率,将概率大于第二概率阈值的词语定义词语的首字为B,中间字为M,结束字为E,若只有两个汉字的词语,则无中间字,并对已定义好的词语进行保存;将概率大于第二概率阈值的词语重复上一步继续进行统计词语在词库中后面出现的另一汉字的次数,并计算词语的概率,将概率大于第二概率阈值的词语进行定义,直至概率不大于第二概率阈值,得到多个词语及对应的定义,由BEMS定义组成状态序列。
本实施例通过将请求数据分为英文类和中文类请求数据分别进行判断,能提高判断效率和判断准确性。且对于中文类请求数据在判断时调用预设的隐马尔可夫模型,通过机器学习模型,进一步保证了判断的准确性。
步骤S2,生成任务:将数据处理请求生成数据处理任务,将数据处理任务放入预设的消息队列。
本步骤的后端服务器可采用基于java语言的java后台,后端服务器对每个接收到的数据处理请求进行解析并生成数据处理任务,且不对数据处理任务进行业务逻辑处理,而是将数据处理任务放入消息队列中,由外部独立的数据处理平台作为消息订阅方进行业务逻辑的处理,由于后端服务器无需处理任务,其接收请求,反馈处理结果的效率更高,及时性更好。
在一个实施例中,步骤S2,将数据处理请求生成数据处理任务,如图3所示,包括:
步骤S201,解析请求:接收前端页面发送的数据处理请求,解析数据处理请求,得到特征项。
后端服务器在接收到前端页面发送的数据处理请求后,根据请求的结构,可采用正则表达式、grok表达式或json表达式等解析方式对请求进行解析,得到多个特征项。
步骤S202,生成任务:获取预设的任务模板,将特征项写入任务模板中,生成一项数据处理任务。
在后端服务器中预设任务模板,将得到的多个特征项依次写入任务模板中即可生成一项数据处理任务。
本实施例将数据处理请求转换为一项项数据处理任务,以便于后续将任务分配至消息队列中,由其他数据处理平台对数据处理任务进行处理。
在一个实施例中,步骤S2,将数据处理任务放入预设的消息队列,如图4所示,包括:
步骤S211,指定消息队列:将数据处理任务发送给消息交换机,通过消息交换机根据键值将数据处理任务指定一个或多个消息队列。
在本步骤之前,还包括:建立一个或多个消息通道;声明一个或多个消息交换机,并设置键值,通过消息通道与消息交换机建立连接;声明一个或多个消息队列,并设置键值,使用键值在消息交换机与消息队列之间建立绑定关系。
可以在后端服务器预先集成消息代理软件,后端服务器作为消息生产者,采用消息代理软件中的消息交换机实现与一个或多个消息队列的绑定关系。
步骤S212,判断任务个数:判断指定的消息队列中任务个数,若所有的消息队列中任务个数均大于预设的阈值,则判断为超过阈值,抛弃任务或返回错误界面。
为了保证每个消息队列中的数据处理任务能及时完成,本步骤对消息队列中的数据处理任务个数进行了限制,设置了请求最大值,即阈值,超过阈值时,对此数据处理任务拒绝处理。
步骤S213,任务放入消息队列:否则,将数据处理任务放入未超过阈值的一个或多个消息队列中。
当任一消息队列中的数据处理任务不超过阈值时,将数据处理任务放入此消息队列中。当不超过阈值的消息队列有多个时,可以将数据处理任务随机放入任一消息队列,也可以将数据处理任务放入任务个数最少的消息队列中。
本实施例通过预先与消息队列之间建立好的绑定关系,将数据处理任务放入指定的未超过阈值的消息队列中,此信道通信的方式,可实时将数据处理任务放入消息队列,无需创建握手,可实现大量任务的异步处理。
在一个实施例中,步骤S2,将数据处理任务放入预设的消息队列后,还包括:
步骤S221,发布消息队列:通过预设的消息代理软件将消息队列进行发布。
本步骤可以在数据处理任务放入消息队列前进行,也可以在数据处理任务放入消息队列后进行,且一旦发布消息队列后,后续无需重复发布此消息队列。本步骤的消息代理软件可以采用rabbitMQ软件,rabbitMQ软件采用信道通信,而不是TCP直接通信,一条线程一条信道,多条线程多条信道,不会造成性能瓶颈,本步骤采用rabbitMQ软件用于消息生产者和消息消费者之间的解耦,消息生产者,无需了解消息消费者的存在,后端服务器作为消息生产者,采用rabbitMQ技术将数据处理任务进行异步的消息传递,即在rabbitMQ软件上发布消息队列,后端服务器本身不参与业务逻辑处理,直至大大减轻了后端服务器运行压力。
步骤S222,监听及删除任务:通过消息代理软件对消息队列进行监听,若消息队列分发给了预设的消息订阅方,则通过消息代理软件将数据处理任务从消息队列中删除。
消息订阅方如数据处理平台通过预设的消息代理软件订阅消息队列,对订阅的消息队列进行监听,若消息队列中含有数据处理任务,则获取数据处理任务,对数据处理任务进行业务逻辑的处理。当消息代理软件一旦将数据处理任务分发给了消息订阅方,则自动从内存中将数据处理任务删除。
本步骤在对消息独立进行监听时,采用消息代理软件预设的listener监听器,通过监听器监听消息队列中是否含有数据处理任务。
数据处理平台可以采用基于python语言的数据处理平台,数据处理平台独立于后端服务器,在数据处理平台中预先集成消息代理软件,如rabbitMQ软件,且消息代理软件应与后端服务器预设的软件相同。数据处理平台作为消息消费者,订阅与其业务逻辑对应的一个或多个消息队列,实现与消息队列的绑定。数据处理平台通过监听器实时监听消息代理软件中与其绑定的消息队列。
本实施例通过消息代理软件将消息生产者和消息消费者进行绑定,消息生产者在消息队列中实时放入任务,消息消费者监听并实时获取任务,通过消息代理软件的桥接,任务能及时高效的分配到对应消息订阅方。
步骤S3,处理任务:通过预设的消息订阅方对消息队列中的数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将处理结果存储在数据库中。
消息订阅方如数据处理平台预先存储有大量的业务逻辑脚本,通过业务逻辑脚本处理任务,得到处理结果。且数据处理平台本身不与后端服务器或前端页面进行直接通讯,而是将处理结果存储在预设路径的数据库中。
步骤S4,返回处理结果:从数据库中查询处理结果,若存在处理结果,则将处理结果取出并发送给前端页面,通过前端页面将处理结果进行展示。
本实施例的后端服务器不与数据处理平台直接通讯获取处理结果,而是从数据库中查询处理结果,将处理结果返回给前端页面,通过前端页面将处理结果进行展示。这样后端服务器与数据处理平台无需多次交互,后端服务器主动将查询到的处理结果进行推送。
本实施例基于大数据的异步数据处理方法,如图5所示,前端页面与后端服务器通过websocket连接,只需建立一次连接,即可实现即时通讯功能。后端服务器不进行任务处理,而是通过rabbitMQ软件,采用异步处理的方式将任务发给独立的数据处理平台进行处理。数据处理平台将处理结果直接保存在数据库中,由后端服务器即时查询处理结果,并返回给前端页面。上述设计,将数据计算业务逻辑迁移至数据处理平台,有效提高了大数据查询及计算效率,提高系统性能,增强客户体验。
在一个实施例中,提出了一种基于大数据的异步数据处理装置,如图6所示,包括:
通讯模块,用于与前端页面建立通讯,接收前端页面发送的数据处理请求;
生成任务模块,用于将数据处理请求生成数据处理任务,将数据处理任务放入预设的消息队列;
处理任务模块,用于通过预设的消息订阅方对消息队列中的数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将处理结果存储在数据库中;
返回处理结果模块,用于从所述数据库中查询处理结果,若存在所述处理结果,则将所述处理结果取出并发送给所述前端页面,通过所述前端页面将所述处理结果进行展示。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行计算机可读指令时实现上述各实施例的基于大数据的异步数据处理方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例的基于大数据的异步数据处理方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种基于大数据的异步数据处理方法,其特征在于,包括:
与前端页面建立通讯,接收所述前端页面发送的数据处理请求;
将所述数据处理请求生成数据处理任务,将所述数据处理任务放入预设的消息队列;
通过预设的消息订阅方对所述消息队列中的所述数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将所述处理结果存储在数据库中;
从所述数据库中查询处理结果,若存在所述处理结果,则将所述处理结果取出并发送给所述前端页面,通过所述前端页面将所述处理结果进行展示;
所述与前端页面建立通讯,接收所述前端页面发送的数据处理请求,包括:
接收所述前端页面发起的超文本传输协议HTTP请求,所述HTTP请求中包含附加头信息;
解析所述HTTP请求,得到请求数据,判断所述请求数据中是否包含敏感数据,若不包含敏感数据,则继续判断所述请求数据中是否存在所述附加头信息,若存在所述附加头信息,则产生应答信息,并将所述应答信息返回给所述前端页面,若包含所述敏感数据且存在所述附加头信息,则产生应答信息后,将所述应答信息进行加密后返回给所述前端页面,若不存在所述附加头信息,则向所述前端页面返回错误提示;
接收所述前端页面接收到所述应答信息后发送的所述数据处理请求。
2.根据权利要求1所述的基于大数据的异步数据处理方法,其特征在于,所述判断所述请求数据中是否包含敏感数据,包括:
判断所述请求数据是英文或中文,若是英文,则以请求数据的空格切分成多个英文单词,依次将所述英文单词与预设的英文敏感词库进行比对,判断在所述英文敏感词库中是否含有所述英文单词,若含有,则判断为所述请求数据中包含有所述敏感数据,否则,判断为所述请求数据中不包含所述敏感数据;
若是中文,则将请求数据定义为观测序列,调用预设的隐马尔可夫模型,将所述观测序列输入所述隐马尔可夫模型中,得到状态序列,根据所述状态序列的序列规则将所述状态序列切分成多个中文词语,依次将所述中文词语与预设的中文敏感词库进行比对,判断在所述中文敏感词库中是否含有所述中文词语,若含有,则判断为所述请求数据中包含有敏感数据,否则,判断为所述请求数据中不包含敏感数据。
3.根据权利要求1所述的基于大数据的异步数据处理方法,其特征在于,所述将所述数据处理请求生成数据处理任务,包括:
接收所述前端页面发送的所述数据处理请求,解析所述数据处理请求,得到特征项;
获取预设的任务模板,将所述特征项写入所述任务模板中,生成一项数据处理任务。
4.根据权利要求1所述的基于大数据的异步数据处理方法,其特征在于,所述将所述数据处理任务放入预设的消息队列,包括:
将所述数据处理任务发送给消息交换机,通过所述消息交换机根据键值将所述数据处理任务指定一个或多个消息队列;
判断指定的消息队列中任务个数,若所有的消息队列中任务个数均大于预设的阈值,则判断为超过阈值,抛弃任务或返回错误界面;
否则,将所述数据处理任务放入未超过阈值的一个或多个消息队列中。
5.根据权利要求4所述的基于大数据的异步数据处理方法,其特征在于,所述将所述数据处理任务放入预设的消息队列前,还包括:
建立一个或多个消息通道;
声明一个或多个消息交换机,并设置键值,通过所述消息通道与所述消息交换机建立连接;
声明一个或多个消息队列,并设置键值,使用所述键值在所述消息交换机与所述消息队列之间建立绑定关系。
6.根据权利要求4所述的基于大数据的异步数据处理方法,其特征在于,所述将所述数据处理任务放入预设的消息队列后,还包括:
通过预设的消息代理软件将消息队列进行发布;
通过所述消息代理软件对消息队列进行监听,若所述消息队列分发给了预设的消息订阅方,则通过所述消息代理软件将所述数据处理任务从所述消息队列中删除。
7.一种基于大数据的异步数据处理装置,其特征在于,包括:
通讯模块,用于与前端页面建立通讯,接收所述前端页面发送的数据处理请求;
生成任务模块,用于将所述数据处理请求生成数据处理任务,将所述数据处理任务放入预设的消息队列;
处理任务模块,用于通过预设的消息订阅方对所述消息队列中的所述数据处理任务通过预设的业务逻辑进行处理,得到处理结果,将所述处理结果存储在数据库中;
返回处理结果模块,用于从所述数据库中查询处理结果,若存在所述处理结果,则将所述处理结果取出并发送给所述前端页面,通过所述前端页面将所述处理结果进行展示;
通讯模块,还用于接收所述前端页面发起的超文本传输协议HTTP请求,所述HTTP请求中包含附加头信息;解析所述HTTP请求,得到请求数据,判断所述请求数据中是否包含敏感数据,若不包含敏感数据,则继续判断所述请求数据中是否存在所述附加头信息,若存在所述附加头信息,则产生应答信息,并将所述应答信息返回给所述前端页面,若包含所述敏感数据且存在所述附加头信息,则产生应答信息后,将所述应答信息进行加密后返回给所述前端页面,若不存在所述附加头信息,则向所述前端页面返回错误提示;接收所述前端页面接收到所述应答信息后发送的所述数据处理请求。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项权利要求所述基于大数据的异步数据处理方法的步骤。
9.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至6中任一项权利要求所述基于大数据的异步数据处理方法的步骤。
CN201911043173.0A 2019-10-30 2019-10-30 基于大数据的异步数据处理方法、装置、设备和存储介质 Active CN111061804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911043173.0A CN111061804B (zh) 2019-10-30 2019-10-30 基于大数据的异步数据处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911043173.0A CN111061804B (zh) 2019-10-30 2019-10-30 基于大数据的异步数据处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111061804A CN111061804A (zh) 2020-04-24
CN111061804B true CN111061804B (zh) 2023-09-29

Family

ID=70297582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911043173.0A Active CN111061804B (zh) 2019-10-30 2019-10-30 基于大数据的异步数据处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111061804B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568761B (zh) * 2020-04-28 2023-06-27 中国联合网络通信集团有限公司 数据处理方法、装置、设备及存储介质
CN111580993B (zh) * 2020-05-11 2024-05-17 广州虎牙信息科技有限公司 数据处理方法和装置、电子设备及存储介质
CN111782996A (zh) * 2020-05-29 2020-10-16 厦门市美亚柏科信息股份有限公司 异步请求处理方法和装置
CN111831458B (zh) * 2020-06-11 2024-04-26 武汉烽火技术服务有限公司 一种高并发高解耦数据处理方法及数据中台系统
CN111897653A (zh) * 2020-07-30 2020-11-06 云知声智能科技股份有限公司 一种协同计算方法、装置、系统及介质
WO2022104611A1 (zh) * 2020-11-18 2022-05-27 京东方科技集团股份有限公司 数据分发系统及数据分发方法
CN112671849A (zh) * 2020-12-08 2021-04-16 北京健康之家科技有限公司 基于实时流量分析的敏感数据处理方法及装置
CN112506978A (zh) * 2020-12-15 2021-03-16 中国联合网络通信集团有限公司 大数据实时处理方法、装置和设备
CN113590253B (zh) * 2021-10-08 2022-02-15 深圳市信润富联数字科技有限公司 基于服务器端的通信交互方法、设备及存储介质
CN115103002A (zh) * 2022-06-20 2022-09-23 中国银行股份有限公司 数据交互方法、装置及系统
CN115396533A (zh) * 2022-08-25 2022-11-25 深圳市雁联计算系统有限公司 整合多种通讯协议的数据处理方法及服务系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636346A (zh) * 2013-11-07 2015-05-20 腾讯科技(深圳)有限公司 网页数据查询方法及装置
CN106330994A (zh) * 2015-06-18 2017-01-11 天脉聚源(北京)科技有限公司 一种用户消息发布方法及系统
CN107679931A (zh) * 2017-08-17 2018-02-09 平安科技(深圳)有限公司 订单异步处理的方法、装置、存储介质及终端
CN108134830A (zh) * 2017-12-20 2018-06-08 马上消费金融股份有限公司 基于消息队列的负载均衡方法、系统、装置及存储介质
CN110224933A (zh) * 2019-06-18 2019-09-10 成都品果科技有限公司 一种消息分发系统
CN110347757A (zh) * 2019-07-12 2019-10-18 北京熵简科技有限公司 一种智能投研知识图谱系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636346A (zh) * 2013-11-07 2015-05-20 腾讯科技(深圳)有限公司 网页数据查询方法及装置
CN106330994A (zh) * 2015-06-18 2017-01-11 天脉聚源(北京)科技有限公司 一种用户消息发布方法及系统
CN107679931A (zh) * 2017-08-17 2018-02-09 平安科技(深圳)有限公司 订单异步处理的方法、装置、存储介质及终端
CN108134830A (zh) * 2017-12-20 2018-06-08 马上消费金融股份有限公司 基于消息队列的负载均衡方法、系统、装置及存储介质
CN110224933A (zh) * 2019-06-18 2019-09-10 成都品果科技有限公司 一种消息分发系统
CN110347757A (zh) * 2019-07-12 2019-10-18 北京熵简科技有限公司 一种智能投研知识图谱系统

Also Published As

Publication number Publication date
CN111061804A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN111061804B (zh) 基于大数据的异步数据处理方法、装置、设备和存储介质
US10601940B2 (en) Push notification delivery system with feedback analysis
KR20190114023A (ko) 패킷 기반 데이터 통신의 디바이스 식별자 의존적 오퍼레이션 프로세싱
US11546348B2 (en) Data service system
CN109450777B (zh) 会话信息提取方法、装置、设备和介质
US11151311B2 (en) Systems and methods for autofill field classification
CN108768837A (zh) 消息处理方法及相关装置
CN108681676A (zh) 数据管理方法和装置、系统、电子设备、程序和存储介质
CN112437060B (zh) 一种数据传输方法、装置、计算机设备及存储介质
US20230006819A1 (en) Systems and methods for homomorphic encryption-based triggering
CN108399333A (zh) 用于执行网页的防病毒扫描的系统和方法
CN106992940A (zh) 报文处理方法、装置、系统及终端
US20180005152A1 (en) Technologies for correlation based data selection
CN110310192A (zh) 基于数据分析的交易处理方法、装置、设备和存储介质
CN113342503B (zh) 实时进度反馈方法、装置、设备及存储介质
CN108076149A (zh) 会话保持方法和装置
KR20140013892A (ko) 복수의 정보 시스템에서의 출력 비교 방법
CN114238585A (zh) 基于5g消息的查询方法、装置、计算机设备和存储介质
CN114186046A (zh) 信息处理方法、装置、服务器及存储介质
CN112434619A (zh) 病例信息提取方法、装置、设备和计算机可读介质
CN116846689B (zh) 金融业务数据传输方法、装置、计算机设备和存储介质
CN112615712B (zh) 数据的处理方法、相关装置及计算机程序产品
CN116861455B (zh) 事件数据处理方法、系统、电子设备及存储介质
CN113783835B (zh) 一种口令分享方法、装置、设备及存储介质
CN113707346B (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