CN109445795A - 多次异步调用同一数据请求时回调函数中的数据处理方法 - Google Patents

多次异步调用同一数据请求时回调函数中的数据处理方法 Download PDF

Info

Publication number
CN109445795A
CN109445795A CN201811073150.XA CN201811073150A CN109445795A CN 109445795 A CN109445795 A CN 109445795A CN 201811073150 A CN201811073150 A CN 201811073150A CN 109445795 A CN109445795 A CN 109445795A
Authority
CN
China
Prior art keywords
data
comparator
treeset
capsule
ordering rule
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.)
Pending
Application number
CN201811073150.XA
Other languages
English (en)
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.)
XIAMEN TIPRAY TECHNOLOGY Co Ltd
Original Assignee
XIAMEN TIPRAY TECHNOLOGY 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 XIAMEN TIPRAY TECHNOLOGY Co Ltd filed Critical XIAMEN TIPRAY TECHNOLOGY Co Ltd
Priority to CN201811073150.XA priority Critical patent/CN109445795A/zh
Publication of CN109445795A publication Critical patent/CN109445795A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • G06F8/4435Detection or removal of dead or redundant code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种多次异步调用同一数据请求时回调函数中的数据处理方法,包括如下步骤:步骤1,将异步调用数据请求返回的数据转换为数据模型M的类型,并存储在数据容器B中;步骤2,将数据容器B中的数据作为参数传入Comparator比较器,得到Comparator比较器的排序规则;步骤3,将Comparator比较器作为参数传递给TreeSet集合的构造函数,此时TreeSet集合按照Comparator比较器的排序规则排序数据;步骤4,用实现Comparator比较器排序规则的TreeSet集合存储数据容器B,TreeSet按排序规则重新排序数据容器B;步骤5,用数据容器C存储TreeSet集合,此时数据容器C中的数据就是完成去重后的数据。此种方法可快速、低消耗、简洁地实现数据去重。

Description

多次异步调用同一数据请求时回调函数中的数据处理方法
技术领域
本发明涉及一种多次异步调用同一数据请求时造成回调函数中数据重复的处理方法。
背景技术
通常的数据请求方法,在请求数据后,通过回调函数返回请求成功后的数据。当由于业务需求必须多次异步调用该数据请求方法时,每一个请求互不干扰地执行完毕后,把回调函数返回的数据保存进数据容器,由于每一个请求都会执行一次回调函数,所以会重复保存多次数据,从而造成数据重复。
现有去除数据重复的技术是通过双循环的方式,外循环从数据容器的第1个数据开始遍历,内循环从数据容器的最后一个数据开始遍历,在内循环里判断两个数据是否相等,相等则把该数据从数据容器中移除,以达到去除数据容器中的重复数据的目的。
采用双循环的方式进行数据去重,代码臃肿;当数据量非常庞大的时候,循环次数过多,过于消耗设备性能,造成程序卡顿甚至程序崩溃;同时该方法效率低下,耗时较长,有待改进。
发明内容
本发明的目的,在于提供一种多次异步调用同一数据请求时回调函数中的数据处理方法,其可快速、低消耗、简洁地实现数据去重。
为了达成上述目的,本发明的解决方案是:
一种多次异步调用同一数据请求时回调函数中的数据处理方法,包括如下步骤:
步骤1,将异步调用数据请求返回的数据转换为数据模型M的类型,并存储在数据容器B中;
步骤2,将数据容器B中的数据作为参数传入Comparator比较器,得到Comparator比较器的排序规则;
步骤3,将Comparator比较器作为参数传递给TreeSet集合的构造函数,此时TreeSet集合按照Comparator比较器的排序规则排序数据;
步骤4,用实现Comparator比较器排序规则的TreeSet集合存储数据容器B,TreeSet按排序规则重新排序数据容器B;
步骤5,用数据容器C存储TreeSet集合,此时数据容器C中的数据就是完成去重后的数据。
采用上述方案后,本发明通过定义数据模型M及其字段Ma实现比较器Comparator的排序规则,用实现Comparator比较器排序规则的TreeSet来实现数据容器中数据的去重,从而能够快速、低消耗地解决数据去重,简洁地实现数据去重。
附图说明
图1是本发明的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
如图1所示,本发明提供一种多次异步调用同一数据请求时回调函数中的数据处理方法,首先进行如下定义:
1.定义一个数据请求方法A,通过回调函数返回请求成功后的数据;
2.定义一个数据模型M,同时定义数据模型M的一个字段Ma;
3.定义一个数据容器B和一个ArrayList类型的数据容器C;其中,数据容器B的类型不限,可以是安卓开发中的任意数据类型,如List、ArrayList、HashMap等,在本实施例中,为使文档简洁,采用ArrayList类型;
4.定义一个Comparator比较器;
5.定义一个TreeSet集合。
所述数据处理方法包括如下步骤:
步骤1,多次异步调用数据请求方法A;
步骤2,每一次请求都会触发回调函数并返回请求成功后数据,假设这些数据为数据1、数据2、数据3、...,把请求成功后的数据的类型转换为数据模型M的类型,假设转换后为M1、M2、M3、...;
步骤3,用数据容器B存储已经转换为数据模型M后的数据M1、M2、M3、...;
步骤4,把数据模型M作为参数传入Comparator比较器,在Comparator比较器的compare方法内部,任意获取两个数据模型为M的数据,假设为M1和M2,通过比较M1的字段Ma和M2的字段Ma来实现Comparator比较器的排序规则;具体来说,通过M1.Ma>M2.Ma来比较两个数据模型的Ma字段大小,比较结果为真则返回compare的值为1,比较结果为假则返回compare值为-1;Comparator比较器根据compare的值来进行排序规则,为1则该比较器按正序排序数据,为-1则该比较器按倒序排序;
步骤5,把Comparator比较器作为参数传递给TreeSet集合的构造函数,此时TreeSet集合内部会按照Comparator比较器的排序规则排序数据;
步骤6,用实现Comparator比较器排序规则的TreeSet集合存储数据容器B,TreeSet按步骤4的排序规则重新排序数据容器B;当TreeSet集合增加数据容器B时,TreeSet按照排序规则排序数据,如果出现重复数据则只会保存一次,因此,当TreeSet增加完数据容器B中的数据后,TreeSet中不存在重复数据;
步骤7,此时,TreeSet集合中的数据都是数据模型M类型的数据,但由于直接操作TreeSet内数据不方便,因此用数据容器C存储TreeSet集合,此时数据容器C中的数据就是完成去重后的数据。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (2)

1.一种多次异步调用同一数据请求时回调函数中的数据处理方法,其特征在于包括如下步骤:
步骤1,将异步调用数据请求返回的数据转换为数据模型M的类型,并存储在数据容器B中;
步骤2,将数据容器B中的数据作为参数传入Comparator比较器,得到Comparator比较器的排序规则;
步骤3,将Comparator比较器作为参数传递给TreeSet集合的构造函数,此时TreeSet集合按照Comparator比较器的排序规则排序数据;
步骤4,用实现Comparator比较器排序规则的TreeSet集合存储数据容器B,TreeSet按排序规则重新排序数据容器B;
步骤5,用数据容器C存储TreeSet集合,此时数据容器C中的数据就是完成去重后的数据。
2.如权利要求1所述的多次异步调用同一数据请求时回调函数中的数据处理方法,其特征在于:所述步骤2中,得到Comparator比较器的排序规则的方法是:任取数据容器B中的两个数据,通过比较两个数据中的字段Ma来实现Comparator比较器的排序规则。
CN201811073150.XA 2018-09-14 2018-09-14 多次异步调用同一数据请求时回调函数中的数据处理方法 Pending CN109445795A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811073150.XA CN109445795A (zh) 2018-09-14 2018-09-14 多次异步调用同一数据请求时回调函数中的数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811073150.XA CN109445795A (zh) 2018-09-14 2018-09-14 多次异步调用同一数据请求时回调函数中的数据处理方法

Publications (1)

Publication Number Publication Date
CN109445795A true CN109445795A (zh) 2019-03-08

Family

ID=65530316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811073150.XA Pending CN109445795A (zh) 2018-09-14 2018-09-14 多次异步调用同一数据请求时回调函数中的数据处理方法

Country Status (1)

Country Link
CN (1) CN109445795A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419717A (zh) * 2021-06-24 2021-09-21 广州欢网科技有限责任公司 一种java集合快速排序方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387206A (zh) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 一种Web服务并发请求合成方法及系统
CN103617211A (zh) * 2013-11-20 2014-03-05 浪潮电子信息产业股份有限公司 一种HBase加载数据的导入方法
CN106528257A (zh) * 2016-10-31 2017-03-22 国云科技股份有限公司 一种简化和限制并发ajax请求的方法
US20170116262A1 (en) * 2015-10-27 2017-04-27 At&T Mobility Ii Llc Analog Sorter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387206A (zh) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 一种Web服务并发请求合成方法及系统
CN103617211A (zh) * 2013-11-20 2014-03-05 浪潮电子信息产业股份有限公司 一种HBase加载数据的导入方法
US20170116262A1 (en) * 2015-10-27 2017-04-27 At&T Mobility Ii Llc Analog Sorter
CN106528257A (zh) * 2016-10-31 2017-03-22 国云科技股份有限公司 一种简化和限制并发ajax请求的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAVA EXAMPLES: "treeset-Comparator", 《HTTP://WWW.JAVAEXAMPLES4U.COM/2009/04/TREESET-COMPARATOR.HTML》 *
L-_-CZ: "List根据某字段去重,以及compareTo 浅解", 《HTTPS://BLOG.CSDN.NET/QQ_35788725/ARTICLE/DETAILS/82259013》 *
LEONARDO REDMOND: "多次调用异步回调函数(C#)", 《HTTP://CN.VOIDCC.COM/QUESTION/P-PHPOJYRP-SN.HTML》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419717A (zh) * 2021-06-24 2021-09-21 广州欢网科技有限责任公司 一种java集合快速排序方法和设备

Similar Documents

Publication Publication Date Title
US10552133B2 (en) Image deployment method and apparatus
CN109815283B (zh) 一种异构数据源可视化查询方法
CN109886859B (zh) 数据处理方法、系统、电子设备和计算机可读存储介质
CN109697500B (zh) 数据处理方法、装置、电子设备及存储介质
CN108415845A (zh) Ab测试系统指标置信区间的计算方法、装置和服务器
US10027596B1 (en) Hierarchical mapping of applications, services and resources for enhanced orchestration in converged infrastructure
US20160048413A1 (en) Parallel computer system, management apparatus, and control method for parallel computer system
CN109359115B (zh) 基于图数据库的分布式存储方法、装置及系统
US9665612B2 (en) Run-time decision of bulk insert for massive data loading
US20150378861A1 (en) Identification of software phases using machine learning
CN106502720B (zh) 一种数据处理方法和装置
CN102521218B (zh) 文件合成方法及装置
CN110109899B (zh) 物联网数据填补方法、装置及系统
US20210142154A1 (en) Memory pre-allocation for forward calculation in a neural network
CN111324427A (zh) 一种基于dsp的任务调度方法及装置
CN103995191A (zh) 空调器机型的识别方法及装置
WO2015167562A1 (en) Using local memory nodes of a multicore machine to process a search query
WO2016095187A1 (en) Apparatus and method for adding nodes to a computing cluster
CN109445795A (zh) 多次异步调用同一数据请求时回调函数中的数据处理方法
CN108628678B (zh) 内存参数的确定方法、装置及设备
CN112506992A (zh) Kafka数据的模糊查询方法、装置、电子设备和存储介质
CN111159131A (zh) 性能优化方法、装置、设备及计算机可读存储介质
CN113010315A (zh) 资源分配方法及分配装置、计算机可读存储介质
CN117369941A (zh) Pod调度方法和系统
CN107704362A (zh) 一种基于Ambari监控大数据组件的方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308

RJ01 Rejection of invention patent application after publication