本发明专利技术公开了一种基于JVM缓存处理追溯数据并发请求的方法,属于互联网行业应用软件技术领域。本发明专利技术的基于JVM缓存处理追溯数据并发请求的方法,包括设定统一的接口协议标准和实现内部处理。该发明专利技术的基于JVM缓存处理追溯数据并发请求的方法能够对外提供方便快捷的接口协议,对内提供稳定而高效的并发存储处理能力,具有很好的推广应用价值。
【技术实现步骤摘要】
一种基于JVM缓存处理追溯数据并发请求的方法
本专利技术涉及互联网行业应用软件
,具体提供一种基于JVM缓存处理追溯数据并发请求的方法。
技术介绍
原肉菜追溯城市平台的数据收集接口服务采用WebService+XML的方式,WebService协议较重型,XML可读性不高,解析规则复杂,传输效率较低。原肉菜追溯城市平台的数据收集接口服务,从接收请求开始处理,到数据存储并返回响应结果,采用同一线程顺序处理的方式,处理速度慢,并发能力不高,无法负载高并发数据的涌入。
技术实现思路
本专利技术的技术任务是针对上述存在的问题,提供一种能够对外提供方便快捷的接口协议,对内提供稳定而高效的并发存储处理能力的基于JVM缓存处理追溯数据并发请求的方法。为实现上述目的,本专利技术提供了如下技术方案:一种基于JVM缓存处理追溯数据并发请求的方法,该方法包括设定统一的接口协议标准和实现内部处理。通过该方法对外提供方便快捷的接口协议,对内提供稳定而高效的并发存储处理能力。作为优选,所述设定统一的接口协议标准具体包括设定传输协议、数据格式、字符集、摘要算法、日期格式、服务器时间、图片格式、请求包头、响应包头和签名。所述传输协议为HTTPPOST。数据格式为application/json。字符集为UTF-8。摘要算法为SHA-256。日期格式为yyyy-MM-ddHH:mm:ss。服务器时间为北京时间,24小时制。与对接方系统时间允许30分钟以内的误差。图片格式为BASE64编码字符串。请求包头包括名称、含义、类型、必填项和说明。响应包头包括名称、含义、类型、必填项和说明。签名算法为SHA256(json+key),key由认证方提供。作为优选,所述签名采用SHA-256对完整的json字符串进行签名,将签名结果附于json字符串的尾部一并发送。作为优选,所述实现内部处理包括接口入口、接口处理、追溯数据组装及写出、线程池管理、数据缓冲和数据批量持久化。作为优选,所述接口入口由CollectServlet类实现,包括获取请求信息、拆分json体与签名部分、解析json体、校验请求编码、校验认证及签名、校验请求时间、调用接口处理类执行接口处理并获得处理结果、写出相应结果。作为优选,所述接口处理根据接口类型,调用接口实现方法,接口实现方法包括业务参数验证、生成追溯码、写出追溯数据及返回响应结果。作为优选,接口实现方法中调用规则校验模块进行业务参数验证、调用追溯码生成模块按照追溯码生成规则生成追溯码、调用追溯数据写出实现类异步写出追溯数据。作为优选,所述线程池管理中,线程池管理器为每一个数据上报单位分配一个线程池,隔离不同的上报单位,使各上报单位之间的并发请求互不影响。作为优选,所述数据缓冲中,数据缓冲池为上报单位的并发数据存储提供公共的缓冲池,化解波峰,批量写入。作为优选,所述数据批量持久化由类TraceDB实现,TraceDB通过构造方法接收缓冲池数据集,并通过内部静态持有的单线程的线程池提交写出任务,实现追溯数据写入数据库。与现有技术相比,本专利技术的基于JVM缓存处理追溯数据并发请求的方法具有以下突出的有益效果:所述基于JVM缓存处理追溯数据并发请求的方法能够有效的解决重要产品追溯平台高并发请求及大数据存储的问题,为重要产品追溯平台数据收集提供稳定而高效的支撑,同时对外提供方便快捷的接口协议,对内提供稳定而高效的并发存储处理能力,具有良好的推广应用价值。具体实施方式下面将结合实施例,对本专利技术的基于JVM缓存处理追溯数据并发请求的方法作进一步详细说明。实施例本专利技术的基于JVM缓存处理追溯数据并发请求的方法,包括设定统一的接口协议标准和实现内部处理。(一)设定统一的接口协议标准具体包括设定传输协议、数据格式、字符集、摘要算法、日期格式、服务器时间、图片格式、请求包头、响应包头和签名。其中传输协议为HTTPPOST。数据格式为application/json。字符集为UTF-8。摘要算法为SHA-256。日期格式为yyyy-MM-ddHH:mm:ss。服务器时间为北京时间,24小时制。与对接方系统时间允许30分钟以内的误差。图片格式为BASE64编码字符串。请求包头包括名称、含义、类型、必填项和说明,具体见表1。表1请求包头接口示例:响应包头包括名称、含义、类型、必填项和说明,具体见表2。表2响应包头名称含义类型必填说明BIZ_TYPE业务类型varchar(32)是如“traceDataResponse”RESP_TIME响应时间char(19)是yyyy-MM-ddHH24:MI:SSRESP_ID响应编码varchar(19)是响应方产生的唯一编码REQ_ID请求编码varchar(32)是请求方产生的唯一编码RESULT响应数据参数clob是请求数据参数接口示例:签名采用SHA-256对完整的json字符串进行签名,将签名结果附于json字符串的尾部一并发送。签名算法为SHA256(json+key),其中key由认证方提供。(二)实现内部处理具体包括接口入口、接口处理、追溯数据组装及写出、线程池管理、数据缓冲和数据批量持久化。(1)接口入口接口入口由CollectServlet类实现,基本逻辑步骤包括:获取请求消息、拆分json体与签名部分、解析json体、校验请求编码、校验认证及签名、校验请求时间、调用接口处理类执行接口处理并获得处理结果、写出响应结果。(2)接口处理根据接口类型BIZ_TYPE,从接口处理工厂获取接口处理类TraceDataCollect的实例,并调用接口实现方法process,接口实现方法的基本逻辑步骤包括:调用规则校验模块进行必要的业务参数验证、调用追溯码生成模块按照追溯码生成规则生成追溯码、调用追溯数据写出实现类异步写出追溯数据、返回响应结果。(3)追溯数据写出追溯数据写出调用代码:newTraceData((String)reqMap.get("REQ_ID"),(String)reqMap.get("AUTH_ID"),paramMap,traceIdList,traceStatus).write();构造方法TraceData接收必要的业务参数。write方法根据认证编码从线程池管理器中获取对应的线程池,并将本对象调用线程池的异步写出:publicvoidwrite(){writeManager.getExecutorService(authId).execute(this);}线程池异步调用本对象的run方法,在run方法中将业务参数组织为要存储的追溯数据对象,并将数据对象添加到缓冲池TraceBuffer中。(4)线程池管理线程池管理中线程池管理器为每一个数据上报单位分配一个线程池,起到隔离上报单位的作用,使各上报单位之间的并发请求互不影响,同时进行;而同一上报单位内的并发请求,当未超过线程池的最大并发线程数时也可以同时进行,当超过最大并发线程数时则需要进入任务队列等待执行,防止因并发过多导致线程挤兑,影响系统稳定。线程池管理器的核心代码如下:(5)数据缓冲数据缓冲中数据缓冲池为所有上报单位的并发数据存储提供公共的缓冲池,起到化解波峰,批量写入的作用。当有数据对象加入到缓冲池之后,判断缓本文档来自技高网...
【技术保护点】
1.一种基于JVM缓存处理追溯数据并发请求的方法,其特征在于:该方法包括设定统一的接口协议标准和实现内部处理。
【技术特征摘要】
1.一种基于JVM缓存处理追溯数据并发请求的方法,其特征在于:该方法包括设定统一的接口协议标准和实现内部处理。2.根据权利要求1所述的基于JVM缓存处理追溯数据并发请求的方法,其特征在于:所述设定统一的接口协议标准具体包括设定传输协议、数据格式、字符集、摘要算法、日期格式、服务器时间、图片格式、请求包头、响应包头和签名。3.根据权利要求2所述的基于JVM缓存处理追溯数据并发请求的方法,其特征在于:所述签名采用SHA-256对完整的json字符串进行签名,将签名结果附于json字符串的尾部一并发送。4.根据权利要求1、2或3所述的基于JVM缓存处理追溯数据并发请求的方法,其特征在于:所述实现内部处理包括接口入口、接口处理、追溯数据组装及写出、线程池管理、数据缓冲和数据批量持久化。5.根据权利要求4所述的基于JVM缓存处理追溯数据并发请求的方法,其特征在于:所述接口入口由CollectServlet类实现,包括获取请求信息、拆分json体与签名部分、解析json体、校验请求编码、校验认证及签名、校验请求时间、调用接口处理类执行接口处理并获得处理结果、写出相应结果。6.根据权利要求5...
【专利技术属性】
技术研发人员:张建,
申请(专利权)人:浪潮软件集团有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。