CN106161519B - 一种信息获取方法和装置 - Google Patents

一种信息获取方法和装置 Download PDF

Info

Publication number
CN106161519B
CN106161519B CN201510152929.0A CN201510152929A CN106161519B CN 106161519 B CN106161519 B CN 106161519B CN 201510152929 A CN201510152929 A CN 201510152929A CN 106161519 B CN106161519 B CN 106161519B
Authority
CN
China
Prior art keywords
result data
local
request
information
stored
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
CN201510152929.0A
Other languages
English (en)
Other versions
CN106161519A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510152929.0A priority Critical patent/CN106161519B/zh
Publication of CN106161519A publication Critical patent/CN106161519A/zh
Application granted granted Critical
Publication of CN106161519B publication Critical patent/CN106161519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种信息获取方法和装置,其中方法包括:接收对目标方法的远程调用请求,所述请求包括:所述目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;在确定本地存储有所述方法信息时,由本地获取与所述方法信息对应的结果数据,所述结果数据是目标方法先前调用时获取并存储。本发明提高了信息获取效率且节省处理资源。

Description

一种信息获取方法和装置
技术领域
本发明涉及网络技术,特别涉及一种信息获取方法和装置。
背景技术
分布式系统架构的数据平台,可以接收到多个数据请求,数据平台可以根据该请求去外部系统获取需要的数据。在实际的业务执行中,有可能平台接收到的多个请求都是要获取相同的数据,则平台要执行多次调用,即执行多次向外部系部获取数据的过程。这种方式对于平台和外部系统来说,都比较消耗处理资源,网络传输次数多,也降低了对数据请求的响应速度。
发明内容
有鉴于此,本发明提供一种信息获取方法和装置,以提高信息获取效率且节省处理资源。
具体地,本发明是通过如下技术方案实现的:
第一方面,提供一种信息获取方法,包括:
接收对目标方法的远程调用请求,所述请求包括:所述目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;
在确定本地存储有所述方法信息时,由本地获取与所述方法信息对应的结果数据,所述结果数据是目标方法先前调用时获取并存储。
第二方面,提供一种信息获取装置,包括:
请求接收模块,用于接收对目标方法的远程调用请求,所述请求包括:所述目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;
调用处理模块,用于在确定本地存储有所述方法信息时,由本地获取与所述方法信息对应的结果数据,所述结果数据是目标方法先前调用时获取并存储。
本发明提供的信息获取方法和装置,通过在方法调用请求中携带注解标识,并据此确定本地存储方法信息时,由本地获取结果数据,从而提高了信息获取效率且节省处理资源。
附图说明
图1是一个例子中数据计算平台所在的系统架构图;
图2是一个例子中数据计算平台的处理原理图;
图3是一个例子中信息获取方法的流程图;
图4是一个例子中信息获取方法的流程图;
图5是一个例子中信息获取方法的应用效果图。
具体实施方式
一个用于获取数据的平台,可以接收很多的数据请求,平台要根据该请求从平台外部的系统获取数据。图1示例了一个数据计算平台11,该平台可能会接收到分别由业务系统12、业务系统13等多个系统发送的数据请求,图1中仅示例了两个业务系统,实际应用中可以有更多,或者平台接收的多个数据请求也可以是同一个业务系统在不同的业务处理阶段发送的,本实施例并不限制该多个数据请求的发送设备或者发送时间。
本实施例中,假设数据计算平台11接收到多个数据请求,均是请求相同的数据。例如,业务系统12是用于处理支付业务的,需要使用涉及到目标群体的客户名称、所属地区等客户信息;而业务系统13是用于处理结算业务的,也同样需要使用上述目标群体的客户信息。如果该客户信息由数据系统14提供,那么在传统方式中,平台需要分别根据各个数据请求向数据系统14请求获取客户信息,比如在接收到业务系统12的请求时从数据系统14获取客户信息,在接收到业务系统13的请求时,再执行一次从数据系统14获取客户信息的过程,且获得的都是目标群体的客户信息,即获得的数据相同。很显然,上述的多次数据获取过程是重复性的处理,尤其是在平台要通过网络15进行远程获取数据时,多次的网络传输降低了响应数据请求的效率,也重复消耗了平台和数据系统双方的处理资源和性能。基于此,本实施例的信息获取方法,目的是减少重复性的数据获取,以提高信息获取效率且节省处理资源。
为了实现上述目的,本实施例的数据计算平台11中设置了请求接收模块21和调用处理模块22,并且通过设置这些模块平台可以执行图3所示的流程:
301、接收对目标方法的远程调用请求,请求包括:目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;
302、在确定本地存储有所述方法信息时,由本地获取与所述方法信息对应的结果数据,所述结果数据是目标方法先前调用时获取并存储。
在步骤301中,请求接收模块21可以接收上述业务系统的数据请求,具体实施中,平台向数据系统获取数据,可以采用远程方法调用的方式实现。
举例如下:仍以上述的客户信息的获取为例,假设要获取客户id=001、002、005的这几个客户的客户信息(例如,客户名称、所在地区等),数据计算平台11要向数据系统14发送对于方法x()的调用请求,即要调用方法x()。方法x()可以是一个函数,为该函数提供方法参数(如,上述客户id),该函数就可以返回结果数据(即,对应客户id的客户名称、所在地区等客户信息)。因此,只要数据计算平台将方法名称x,方法参数携带在调用请求中发送至数据系统14,该系统就可以使用方法x()和方法参数,得到结果数据返回给平台。
本实施例中,平台接收到数据请求,也可以称为接收到对目标方法的远程调用请求,目标方法例如是上述的方法x(),并且业务系统在发送该请求时会携带方法参数,以根据该方法参数告知数据系统返回何种数据;并且,上述的远程调用请求中包括的方法名称和方法参数可以称为方法信息。需要说明的是,本实施例的远程调用请求中还携带注解标识,该注解标识的作用是用于表示调用目标方法的结果数据是否需要存储在本地;本实施例并不限制注解标识的具体形式,只要能起到上述作用即可。
关于上述的注解标识的作用进一步解释如下:注解标识可以作为目标方法的一部分,例如可以是设置在目标方法的方法头部信息中;当平台接收到对某个方法的调用请求时,将查看该方法中是否包括注解标识,如果包括注解标识则表示调用该方法后数据系统返回的结果数据需要平台存储在平台本地;如果方法中不包括注解标识,则表示结果数据不需要平台存储在本地。是否存储在本地,取决于该方法调用是否会重复性的多次进行,如果平台会多次接收到对于某个相同方法(包括方法名称和方法参数的相同,对应的结果数据也相同)的调用,则可以为该方法增加注解标识,相当于通知平台将结果数据存储在本地,以避免后续的重复调用。因此,通过注解标识,用户也可以灵活的配置需要本地存储结果数据的方法。
对于数据计算平台11来说,也只有当被请求调用的方法包含该注解标识时,平台才需要执行步骤302,即才可能本地存储结果数据;否则,如果被请求调用的方法不包含注解标识,本地通常并未存储其结果数据,也就不需要本地查找了。其中,本地存储的结果数据是先前该方法调用时获取的,这里的先前调用的时间是在本次调用之前,例如是在首次接收到对于该方法的调用时就将结果数据存储在本地,能够最大程度地避免后续的重复调用。
在步骤302中,平台将判断本地是否存储有请求调用的方法对应的结果数据,例如,平台在本地可以是以如下表1的形式来存储结果数据:
表1方法对应的结果数据
如上的表1所示,结果数据例如可以存储在平台的结果数据库中,并且,以键值对key-value的形式存储调用方法与结果数据之间的对应关系,其中的key可以包括方法名称、方法参数,结果数据可以是与方法参数对应的返回信息,即只要调用的是同一方法且方法参数相同,返回的结果数据就是相同的。
如果步骤301中接收到的远程调用请求携带注解标识,则有可能该方法的结果数据在之前已经存储在本地了,因此平台要判断下本地是否已经存储上述结果数据。比如,平台可以查找结果数据库,看key中是否有与调用请求携带的方法信息相同的信息,如果有则表示已经存储,平台获取对应的结果数据;否则表示平台未存储,可能是该方法的首次调用,则平台进行常规的方法调用流程,即开始通过网络15远程调用方法,并接收结果数据,然后将方法信息与对应的结果数据存储在本地,以备后续该方法再次调用时本地获取。
在一个实施例中,结合图2所示,平台在接收到对于目标方法的远程调用请求后,对该方法进行判断是否本地存储有结果数据,可以是按照如下方法执行:平台中设置的调用处理模块22可以是一个方法拦截器(Method Interceptor),该拦截器可以将平台向外部的数据系统发送的远程方法调用请求拦截下来,参见图4所示。如果请求中的方法不携带注解标识,拦截器可以继续执行常规流程,进行远程调用即可。如果携带注解标识,拦截器可以判断本地是否存储有该方法对应的结果数据,例如,拦截器获取key,即获取请求中携带的方法名称、方法参数等信息,并查看本地结果数据库是否有与该key匹配的信息。
如果本地存储有方法信息,方法拦截器Method Interceptor将从本地获取结果数据返回给请求接收模块,这是步骤401-405的流程。而如果拦截器在403中发现本地未存储方法信息,则可能本次是该方法的首次调用,则拦截器将向外部数据系统进行远程方法调用,获取结果数据,并将结果数据存储在本地,以供下次该方法调用时直接从本地获取结果即可,即步骤406-409的流程。结合图2来看,相当于调用处理模块在方法执行前,就将对方法的远程调用拦截下来,并转到本地的存储获取该方法对应的结果数据,从而相对于多次重复的远程调用来说,减少了网络传输的次数,简化了数据获取的步骤,节省了处理资源的消耗,也提高了业务数据获取的效率。
本实施例中,结果数据在本地存储的结果数据库,可以是本地的事件上下文23,并且存储形式也不限制于表1的形式;事件上下文即线程上下文(Thread Context),可以理解为用于存储与该线程执行的相关信息的容器,线程即平台中的上述方法调用和数据获取的实际执行者。通过存储在事件上下文中,节省本地数据库的空间,并且数据获取的速度较快。
在另一个实施例中,平台的调用处理模块,还用于在接收对目标方法的远程调用请求之后,由本地获取与方法信息对应的结果数据之前,查看该请求对应的请求时间,并判断该请求时间距离目标方法先前调用时的时间是否在预设时间范围内,如果在预设时间范围,才继续获取结果数据。
举例如下:要请求的数据系统的数据,有些数据是比较稳定的,即长时间不会变化,平台将这些稳定数据一直存储在本地是可以的;但是有些数据是不稳定的,是动态变化的,比如在当前时间客户所在地区是北京,也可能30个小时以后客户所在地区变更为上海;对于这种动态数据,如果平台一直存储,也一直从本地获取,将导致数据获取错误。基于此,平台的调用处理模块可以记录某些数据的有效时长(即预设时间范围),比如30小时,并且记录首次获取到该数据的时间,与本次调用时间进行比较,如果超出30小时,可能数据已经无效了,则平台将重新进行远程调用获取最新的数据,而本地存储的数据,平台可以删除,包括删除结果数据及其对应的方法信息。
上述的记录时间,例如可以是接收到调用请求的时间、或者获取到数据系统返回数据的时间、或者将返回的结果数据记录在本地的时间等,只要是大致的时间范围,基本符合上述的检测目的即可。此外,本实施例还以某一项业务为例,将该业务应用了本实施例的信息获取方法,该业务的执行过程中涉及到多次重复的方法调用,采用本实施例的信息获取方法后,经过统计,参见图5,业务执行中的远程调用次数有了明显的减少,采用该方法后的调用次数相对于优化前大大减少,节省了处理资源,提高了数据平台的性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种信息获取方法,其特征在于,包括:
接收对目标方法的远程调用请求,所述请求包括:所述目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;
若所述远程调用请求包含所述注解标识,判断本地是否存储有请求调用的方法对应的结果数据;
在确定本地存储有所述方法信息时,由本地获取与所述方法信息对应的结果数据,所述结果数据是目标方法先前调用时获取并存储。
2.根据权利要求1所述的方法,其特征在于,所述目标方法先前调用时获取并存储,包括:
接收对目标方法的远程调用请求,所述请求包括:所述目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;
远程调用所述目标方法,并接收调用目标方法的所述结果数据;
将所述目标方法的方法信息与结果数据,对应存储在本地。
3.根据权利要求1所述的方法,其特征在于,所述方法信息包括:方法名称、以及用于得到所述结果数据的方法参数;
所述确定本地存储有所述方法信息,包括:本地的结果数据库中存储有相同的所述方法名称和方法参数,所述结果数据库用于存储所述方法信息与对应的所述结果数据。
4.根据权利要求1所述的方法,其特征在于,所述接收对目标方法的远程调用请求之后,由本地获取与所述方法信息对应的结果数据之前,还包括:
获取所述远程调用请求对应的请求时间,并确定所述请求时间距离目标方法先前调用时的时间在预设时间范围内。
5.根据权利要求1~4任一所述的方法,其特征在于,所述由本地获取与方法信息对应的结果数据,包括:由本地的事件上下文中获取所述结果数据。
6.一种信息获取装置,其特征在于,包括:
请求接收模块,用于接收对目标方法的远程调用请求,所述请求包括:所述目标方法的方法信息、以及注解标识,所述注解标识用于表示调用目标方法的结果数据需要存储;若所述远程调用请求包含所述注解标识,判断本地是否存储有请求调用的方法对应的结果数据;
调用处理模块,用于在确定本地存储有所述方法信息时,由本地获取与所述方法信息对应的结果数据,所述结果数据是目标方法先前调用时获取并存储。
7.根据权利要求6所述的装置,其特征在于,
所述调用处理模块,还用于远程调用所述目标方法,并接收调用目标方法的所述结果数据;并将所述目标方法的方法信息与结果数据,对应存储在本地。
8.根据权利要求6所述的装置,其特征在于,所述方法信息包括:方法名称、以及用于得到所述结果数据的方法参数;
所述调用处理模块,在确定本地存储有所述方法信息时,具体用于确定本地的结果数据库中存储有相同的所述方法名称和方法参数,所述结果数据库用于存储所述方法信息与对应的所述结果数据。
9.根据权利要求6所述的装置,其特征在于,
所述调用处理模块,还用于获取所述远程调用请求对应的请求时间,并在确定所述请求时间距离目标方法先前调用时的时间在预设时间范围内时,由本地获取与所述方法信息对应的结果数据。
10.根据权利要求6~9任一所述的装置,其特征在于,所述结果数据存储在本地的事件上下文中。
CN201510152929.0A 2015-04-01 2015-04-01 一种信息获取方法和装置 Active CN106161519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510152929.0A CN106161519B (zh) 2015-04-01 2015-04-01 一种信息获取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510152929.0A CN106161519B (zh) 2015-04-01 2015-04-01 一种信息获取方法和装置

Publications (2)

Publication Number Publication Date
CN106161519A CN106161519A (zh) 2016-11-23
CN106161519B true CN106161519B (zh) 2019-06-21

Family

ID=57338899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510152929.0A Active CN106161519B (zh) 2015-04-01 2015-04-01 一种信息获取方法和装置

Country Status (1)

Country Link
CN (1) CN106161519B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399223B (zh) * 2018-02-12 2022-06-03 北京奇艺世纪科技有限公司 一种数据获取方法、装置及电子设备
CN110717130B (zh) * 2018-06-27 2022-11-11 武汉斗鱼网络科技有限公司 打点方法、装置、终端及存储介质
CN109710431A (zh) * 2018-12-28 2019-05-03 四川新网银行股份有限公司 一种降低大型分布式系统接口和服务计算调用次数的方法
CN110290212B (zh) * 2019-06-28 2020-06-23 浙江大搜车软件技术有限公司 服务调用记录方法、装置、计算机设备和存储介质
CN111104187A (zh) * 2019-10-28 2020-05-05 广州朗国电子科技有限公司 一种基于接口聚合服务器的接口聚合方法及装置
CN111813583B (zh) * 2020-07-28 2023-06-20 厦门市易联众易惠科技有限公司 微服务架构下的事务管理方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825321A (zh) * 2006-03-31 2006-08-30 北京金山软件有限公司 词典类数据的检索方法、保存方法及检索系统
CN101222347A (zh) * 2008-01-22 2008-07-16 华为技术有限公司 一种实现用户获取网络数据的方法及设备
CN101267441A (zh) * 2008-04-23 2008-09-17 北京航空航天大学 一种c/s和b/s混合架构模式实现方法和平台
CN102291432A (zh) * 2011-07-05 2011-12-21 广东威创视讯科技股份有限公司 网络信息共享方法、装置及客户端
CN104468833A (zh) * 2014-12-26 2015-03-25 北京奇虎科技有限公司 请求信息统一处理的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825321A (zh) * 2006-03-31 2006-08-30 北京金山软件有限公司 词典类数据的检索方法、保存方法及检索系统
CN101222347A (zh) * 2008-01-22 2008-07-16 华为技术有限公司 一种实现用户获取网络数据的方法及设备
CN101267441A (zh) * 2008-04-23 2008-09-17 北京航空航天大学 一种c/s和b/s混合架构模式实现方法和平台
CN102291432A (zh) * 2011-07-05 2011-12-21 广东威创视讯科技股份有限公司 网络信息共享方法、装置及客户端
CN104468833A (zh) * 2014-12-26 2015-03-25 北京奇虎科技有限公司 请求信息统一处理的方法和装置

Also Published As

Publication number Publication date
CN106161519A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106161519B (zh) 一种信息获取方法和装置
CN106899680B (zh) 多区块链的分片处理方法和装置
US9807192B1 (en) Centralized coordination of data collection tasks from multiple sources
US10506043B2 (en) Rapid client-side component processing based on component relationships
US20160277515A1 (en) Server side data cache system
KR100906262B1 (ko) 원자적으로 갱신되는 중앙 캐시 메모리를 위한 방법 및시스템
EP2989543B1 (en) Method and device for updating client
US8775397B2 (en) Database access acceleration
CN109117275B (zh) 基于数据分片的对账方法、装置、计算机设备及存储介质
CN102333130A (zh) 一种访问缓存服务器的方法、系统及缓存智能调度器
US11379539B2 (en) Efficient freshness crawl scheduling
CN106372266A (zh) 一种基于切面和配置文件的云操作系统缓存及访问方法
CN110473097A (zh) 交易监控方法、终端和计算机可读存储介质
CN109842621A (zh) 一种减少token存储数量的方法及终端
CN110019444B (zh) 一种操作请求处理方法、装置、设备及系统
US20070033233A1 (en) Log management system and method of using the same
US20170286440A1 (en) Method, business processing server and data processing server for storing and searching transaction history data
US7873715B1 (en) Optimized instrumentation of web pages for performance management
CN102594787A (zh) 数据抓取方法、系统和路由服务器
CN112217849B (zh) Sd-wan系统中的任务调度方法、系统和计算机设备
US20150134671A1 (en) Method and apparatus for data distribution and concurrence
CN112905354A (zh) 共享内存的业务处理方法和系统
CN112131070A (zh) 调用关系跟踪方法、装置、设备及计算机可读存储介质
US10313438B1 (en) Partitioned key-value store with one-sided communications for secondary global key lookup by range-knowledgeable clients
CN111737298B (zh) 基于分布式存储的缓存数据管控方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right