CN107995301A - 一种快速的基于互联网的数据收发方法 - Google Patents
一种快速的基于互联网的数据收发方法 Download PDFInfo
- Publication number
- CN107995301A CN107995301A CN201711308615.0A CN201711308615A CN107995301A CN 107995301 A CN107995301 A CN 107995301A CN 201711308615 A CN201711308615 A CN 201711308615A CN 107995301 A CN107995301 A CN 107995301A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- method based
- transmitting method
- user
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种快速的基于互联网的数据收发方法,包括以下步骤:步骤1:获取用户的请求数据,并将保存至Map对象中;步骤2:进行用户权限、数据格式和数据真伪的初步预判;步骤3:根据客户不同请求,向数据源请求数据;步骤4:根据不同的数据源要求使用不同的请求方式,接收到数据源返回的数据后,将直接装载到自定义模型中;步骤5:请求得到正确的响应之后,将获取的数据装载到对应的自定义模型中,接着装载好自定义模型数据后,将对数据做最后一次的封装处理;步骤6:定时任务设置,并从Redis队列取出日志并存储。本发明避免了在用户高并发访问情况下请求的响应时间过慢,以至于达不到生产要求的问题,本发明能够得到完全快速的响应。
Description
技术领域
本发明涉及一种数据收发方法,尤其涉及一种快速的基于互联网的数据收发方法,属于大数据技术领域。
背景技术
互联网数据收发的最关键技术就是对响应的时间要求非常高,基本上每一次的数据请求到收到数据都需要在300-500ms时间内完成。鉴于这样的高标准要求,一般选择使用基于HTTP请求的方式进行数据的响应,返回的数据格式为JSON类型。JSON数据格式已经成为目前互联网领域最流行的数据传输与交换格式,而HTTP请求方式也是互联网领域数据请求最流行的方法。但是针对大并发的情况采用上述的处理方式,其效率比较低,导致客户得不到畅快的体验。
有鉴于上述的缺陷,本设计人,积极加以研究创新,以期创设一种新型结构的快速的基于互联网的数据收发方法,使其更具有产业上的利用价值。
发明内容
为解决上述技术问题,本发明的目的是提供一种快速的基于互联网的数据收发方法。
为实现上述目的,本发明采用如下技术方案:
一种快速的基于互联网的数据收发方法,包括以下步骤:
步骤1:获取用户的请求数据,并将保存至Map对象中;
步骤2:进行用户权限、数据格式和数据真伪的初步预判;
步骤3:根据客户不同请求,向数据源请求数据;
步骤4:根据不同的数据源要求使用不同的请求方式,接收到数据源返回的数据后,将直接装载到自定义模型中;
步骤5:请求得到正确的响应之后,将获取的数据装载到对应的自定义模型中,接着装载好自定义模型数据后,将对数据做最后一次的封装处理;
步骤6:定时任务设置,并从Redis队列取出日志并存储。
再更进一步的,所述的快速的基于互联网的数据收发方法,其中,所述步骤1中在获取用户请求数据之后,会对数据进行数据清洗处理,所述数据清洗包含去除前后不可见字符、空字符串。
进一步的,所述的快速的基于互联网的数据收发方法,其中,所述步骤2中初步预判分为两种,一种为符合要求,直接进入步骤3;另一种为不符合要求,则直接返回错误信息,不再进行后续操作,同时将请求数据和错误原因都保存到Rdeis数据库中。
再进一步的,所述的快速的基于互联网的数据收发方法,其中,所述步骤3中向数据源请求数据,其中数据源为第三方数据源。
更进一步的,所述的快速的基于互联网的数据收发方法,其中,所述步骤4自定义模型为根据业务要求定义的用于返回给用户的数据模型,包含了将返回给用户的JSON数据的所有属性名称。
再更进一步的,所述的快速的基于互联网的数据收发方法,其中,所述最后一次的封装处理为将根据不同的数据源返回的数据对应码,生成用于返回给用户的统一返回码,同时将此次操作的日志信息记录到Redis数据库队列中。
再更进一步的,所述的快速的基于互联网的数据收发方法,其中,所述步骤6中从Redis队列取出日志并存储,其中存储如关系型数据库MySQL中。
再更进一步的,所述的快速的基于互联网的数据收发方法,其特征在于:所述第三方数据源返回的数据有设有若干格式,其中包括JSON和XML两种格式。
借由上述方案,本发明至少具有以下优点:
本发明避免了在用户高并发访问情况下请求的响应时间过慢,以至于达不到生产要求的问题,本发明能够达到完全快速的响应,使用户能得到高效的体验效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,一种快速的基于互联网的数据收发方法,包括以下步骤:
步骤1:获取用户的请求数据,并将保存至Map对象中;
步骤2:进行用户权限、数据格式和数据真伪的初步预判;
步骤3:根据客户不同请求,向数据源请求数据;
步骤4:根据不同的数据源要求使用不同的请求方式,接收到数据源返回的数据后,将直接装载到自定义模型中;
步骤5:请求得到正确的响应之后,将获取的数据装载到对应的自定义模型中,接着装载好自定义模型数据后,将对数据做最后一次的封装处理;
步骤6:定时任务设置,并从Redis队列取出日志并存储。
本发明中所述步骤1中在获取用户请求数据之后,会对数据进行数据清洗处理,所述数据清洗包含去除前后不可见字符、空字符串。
本发明中所述步骤2中初步预判分为两种,一种为符合要求,直接进入步骤3并按照上述的步骤依次进行操作即可,在这不再做任何详述依照上述的步骤进行操作。
另一种为不符合要求,则直接返回错误信息,不再进行后续操作,同时将请求数据和错误原因都保存到Rdeis数据库中。
针对步骤2中用户权限初步预判首先做用户权限判断,根据用户请求数据中获取到的APIKey值进行判断,是否与***中分配给用户的一致,APIKey是经过加密的32位字符串,保证了每个用户都是唯一的。
数据格式出不预判,对于不同类型的数据做不同的验证规则判断,例如手机号的字符位数判断、手机号的数字判断、手机号的号段判断和身份证号码的字符位数判断等。
数据真伪出不预判,判断包括了判断身份证号码是否真实可用等根据业务实际需要的一些判断规则。
本发明中所述步骤3中向数据源请求数据,其中数据源为第三方数据源,根据用户请求的不同数据接口,已经数据源方的请求格式要求,***自动拼接出请求参数,通过HTTP方式请求数据源,并等待第三方数据源返回数据。并且第三方数据源返回的数据有设有若干格式,其中包括JSON和XML两种格式。
本发明中所述步骤4自定义模型为根据业务要求定义的用于返回给用户的数据模型,包含了将返回给用户的JSON数据的所有属性名称。
采用定义模型可以屏蔽不同数据源返回的数据不同而造成的对用户的干扰。如请求的是第三方的数据源,需要做好容错措施,由于HTTP请求的不稳定性,以及网络波动造成的延迟,请求数据丢失等问题,都需要有处理措施。遇到上述问题,可以采取重试机制,或者备用源机制来解决。
所述最后一次的封装处理为将根据不同的数据源返回的数据对应码,生成用于返回给用户的统一返回码,同时将此次操作的日志信息记录到Redis数据库队列中。且可以记录本次请求数据源的响应时间、花费的总时间等信息。
所述步骤6中从Redis队列取出日志并存储,其中存储如关系型数据库MySQL中。
其中,定时任务设置可以根据实际业务调用量可以随时进行调整时间任务,将Redis队列中的日志数据等批量转存到关系型数据库MySQL中,以供后续其他应用使用。为了提高MySQL数据库的存储效率,可以采用批量***的方式,否则将大大的降低MySQL数据库的性能。
其中,上述的JSON:是一种轻量级的数据交换格式。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
Redis:是一个支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
MySQL:是一个关系型数据库管理***,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性,所使用的SQL语言是用于访问数据库的最常用标准化语言。
本发明避免了在用户高并发访问情况下请求的响应时间过慢,以至于达不到生产要求的问题,本发明能够达到完全快速的响应,使用户能得到高效的体验效果。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (8)
1.一种快速的基于互联网的数据收发方法,其特征在于,包括以下步骤:
步骤1:获取用户的请求数据,并将保存至Map对象中;
步骤2:进行用户权限、数据格式和数据真伪的初步预判;
步骤3:根据客户不同请求,向数据源请求数据;
步骤4:根据不同的数据源要求使用不同的请求方式,接收到数据源返回的数据后,将直接装载到自定义模型中;
步骤5:请求得到正确的响应之后,将获取的数据装载到对应的自定义模型中,接着装载好自定义模型数据后,将对数据做最后一次的封装处理;
步骤6:定时任务设置,并从Redis队列取出日志并存储。
2.根据权利要求1所述的快速的基于互联网的数据收发方法,其特征在于:所述步骤1中在获取用户请求数据之后,会对数据进行数据清洗处理,所述数据清洗包含去除前后不可见字符、空字符串。
3.根据权利要求1所述的快速的基于互联网的数据收发方法,其特征在于:所述步骤2中初步预判分为两种,一种为符合要求,直接进入步骤3;另一种为不符合要求,则直接返回错误信息,不再进行后续操作,同时将请求数据和错误原因都保存到Rdeis数据库中。
4.根据权利要求1所述的快速的基于互联网的数据收发方法,其特征在于:所述步骤3中向数据源请求数据,其中数据源为第三方数据源。
5.根据权利要求1所述的快速的基于互联网的数据收发方法,其特征在于:所述步骤4自定义模型为根据业务要求定义的用于返回给用户的数据模型,包含了将返回给用户的JSON数据的所有属性名称。
6.根据权利要求1所述的快速的基于互联网的数据收发方法,其特征在于:所述最后一次的封装处理为将根据不同的数据源返回的数据对应码,生成用于返回给用户的统一返回码,同时将此次操作的日志信息记录到Redis数据库队列中。
7.根据权利要求1所述的快速的基于互联网的数据收发方法,其特征在于:所述步骤6中从Redis队列取出日志并存储,其中存储如关系型数据库MySQL中。
8.根据权利要求4所述的快速的基于互联网的数据收发方法,其特征在于:所述第三方数据源返回的数据有设有若干格式,其中包括JSON和XML两种格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711308615.0A CN107995301B (zh) | 2017-12-11 | 2017-12-11 | 一种快速的基于互联网的数据收发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711308615.0A CN107995301B (zh) | 2017-12-11 | 2017-12-11 | 一种快速的基于互联网的数据收发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107995301A true CN107995301A (zh) | 2018-05-04 |
CN107995301B CN107995301B (zh) | 2020-12-29 |
Family
ID=62037517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711308615.0A Active CN107995301B (zh) | 2017-12-11 | 2017-12-11 | 一种快速的基于互联网的数据收发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107995301B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149112A (zh) * | 2020-09-22 | 2020-12-29 | 京东方科技集团股份有限公司 | 一种基于职权分离的企业信息安全管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185779A1 (en) * | 2005-05-04 | 2010-07-22 | Krishna Ramadas | Methods and Apparatus to Increase the Efficiency of Simultaneous Web Object Fetching Over Long-Latency Links |
CN102780768A (zh) * | 2012-06-29 | 2012-11-14 | 北京奇虎科技有限公司 | 一种大并发量请求的处理方法及处理*** |
CN105763619A (zh) * | 2016-03-31 | 2016-07-13 | 广州华多网络科技有限公司 | 客户端与服务端进行通讯的方法及装置 |
CN106204232A (zh) * | 2016-07-18 | 2016-12-07 | 苏州华车网络科技有限公司 | 一种处理高并发交互数据请求的***和方法 |
-
2017
- 2017-12-11 CN CN201711308615.0A patent/CN107995301B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185779A1 (en) * | 2005-05-04 | 2010-07-22 | Krishna Ramadas | Methods and Apparatus to Increase the Efficiency of Simultaneous Web Object Fetching Over Long-Latency Links |
CN102780768A (zh) * | 2012-06-29 | 2012-11-14 | 北京奇虎科技有限公司 | 一种大并发量请求的处理方法及处理*** |
CN105763619A (zh) * | 2016-03-31 | 2016-07-13 | 广州华多网络科技有限公司 | 客户端与服务端进行通讯的方法及装置 |
CN106204232A (zh) * | 2016-07-18 | 2016-12-07 | 苏州华车网络科技有限公司 | 一种处理高并发交互数据请求的***和方法 |
Non-Patent Citations (2)
Title |
---|
JSON1204: ""简单多线程并发操作"", 《HTTPS://BLOG.CSDN.NET/JSON1204/ARTICLE/DETAILS/7322212》 * |
王魁生, 王晓波: ""利用JSON进行网站客户端与服务器数据交互"", 《软件导刊》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149112A (zh) * | 2020-09-22 | 2020-12-29 | 京东方科技集团股份有限公司 | 一种基于职权分离的企业信息安全管理方法 |
CN112149112B (zh) * | 2020-09-22 | 2023-12-05 | 京东方科技集团股份有限公司 | 一种基于职权分离的企业信息安全管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107995301B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123374B (zh) | 分布式数据库中聚合查询的方法及装置 | |
CN108875042B (zh) | 一种混合联机分析处理***及数据查询方法 | |
CN111506621B (zh) | 一种数据统计方法及装置 | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN108038213A (zh) | 一种数据处理的方法、客户端、服务器及*** | |
CN107958048A (zh) | 一种基于财务数据分析的多维数据库***及实现方法 | |
CN102402586A (zh) | 一种分布式数据存储方法 | |
CN111125229A (zh) | 数据血缘生成方法、装置、电子设备 | |
WO2021068689A1 (zh) | 数据处理方法和相关装置 | |
CN108536745A (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN106503008A (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN107577787A (zh) | 关联数据信息入库的方法及*** | |
CN109376192A (zh) | 一种用户留存分析方法、装置、电子设备及存储介质 | |
CN110119396B (zh) | 数据管理方法及相关产品 | |
CN107861965A (zh) | 数据智能识别方法及*** | |
CN111209941A (zh) | 一种产品模块类型识别方法及装置 | |
CN108009195B (zh) | 一种基于大数据的降维转换方法、电子设备、存储介质 | |
CN107995301A (zh) | 一种快速的基于互联网的数据收发方法 | |
CN107276833A (zh) | 一种节点信息管理方法及装置 | |
CN116049193A (zh) | 数据存储方法及装置 | |
CN106776810A (zh) | 一种大数据的数据处理***及方法 | |
CN106383893A (zh) | 时间序列数据管理方法及*** | |
CN110362505A (zh) | 一种使用缓存***进行读写缓存的方法 | |
CN113157692B (zh) | 一种关系型内存数据库*** | |
CN110515993B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 305, Wuluo science and Technology Park, 393 chunshenhu Middle Road, Yuanhe street, Xiangcheng District, Suzhou City, Jiangsu Province Applicant after: SUZHOU 51DAAS DATA TECHNOLOGY Co.,Ltd. Address before: 215000 456 Pu Hui Road, Suzhou Industrial Park, Jiangsu Applicant before: SUZHOU 51DAAS DATA TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |