CN110413918B - 数据发送方法、装置、设备及存储介质 - Google Patents

数据发送方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110413918B
CN110413918B CN201910707799.0A CN201910707799A CN110413918B CN 110413918 B CN110413918 B CN 110413918B CN 201910707799 A CN201910707799 A CN 201910707799A CN 110413918 B CN110413918 B CN 110413918B
Authority
CN
China
Prior art keywords
data
party system
terminal
target user
server
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
CN201910707799.0A
Other languages
English (en)
Other versions
CN110413918A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910707799.0A priority Critical patent/CN110413918B/zh
Publication of CN110413918A publication Critical patent/CN110413918A/zh
Application granted granted Critical
Publication of CN110413918B publication Critical patent/CN110413918B/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Abstract

本申请公开了一种数据发送方法,属于数据处理技术领域。所述方法由服务器执行,所述方法包括:接收终端发送的数据查询请求,向第三方系统发送用于获取第一用户数据的第一获取请求,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据;将查询到的目标用户账号的缓存数据发送给终端。本申请在当服务器在第一时长内未接收到第三方系统返回的数据时,通过在服务器本地中查询目标用户账号的缓存数据,将从服务器本地查询的缓存数据发送给终端,避免了将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题,提高了终端的数据查询效率。

Description

数据发送方法、装置、设备及存储介质
技术领域
本申请涉及数据处理技术领域,特别涉及一种数据发送方法、装置、设备及存储介质。
背景技术
随着互联网技术领域的发展,人们在日常生活中常常需要通过互联网访问大量的数据,而这些数据往往会存储在第三方系统中,当第三方系统的访问量较大时,第三方系统之间的响应效率就会降低。
例如,第三方系统可以是社保系统、住房公积金系统、银行系统等,以第三方系统是社保系统为例,当用户需要通过终端中的客户端展示社保数据时,终端可以直接向社保系统发送数据请求,社保系统在接收到终端发送的数据请求后,可以在自身内部进行查询,将查询到的社保数据返回给终端,使得终端中的客户端可以展示相应的数据。为了防止第三方系统由于当前访问量较大,使得第三方系统获取数据时所需要的时长较长,导致终端展示数据失败的问题,终端中的客户端可以在上次展示该数据时,对接收到的数据进行存储,当用户再次需要展示该数据,而在长时间内接收不到第三方系统返回的数据时,终端可以直接获取自身存储的数据进行展示。
相关技术中,由于客户端处于终端侧,在终端中进行存储的数据往往容易被其他程序或者用户自己清除,导致客户端不能及时获取到需要展示的数据,降低终端的数据查询效率。
发明内容
本申请实施例提供了一种数据发送方法、装置、设备以及存储介质,可以解决避免将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题。所述技术方案如下:
一方面,本申请实施例提供了一种数据发送方法,所述方法由服务器执行,所述方法包括:
接收终端发送的数据查询请求,所述数据查询请求用于查询第一用户数据,所述第一用户数据是目标用户账号在第三方系统上的用户数据;
向所述第三方系统发送用于获取所述第一用户数据的第一获取请求;
若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则从所述服务器本地查询所述目标用户账号的缓存数据;所述缓存数据是所述服务器最近一次从所述第三方系统获取的,对应所述目标用户账号的用户数据;
将查询到的所述目标用户账号的缓存数据发送给所述终端。
另一方面,本申请实施例提供了一种数据发送装置,所述装置用于服务器中,所述装置包括:
请求接收模块,用于接收终端发送的数据查询请求,所述数据查询请求用于查询第一用户数据,所述第一用户数据是目标用户账号在第三方系统上的用户数据;
第一请求发送模块,用于向所述第三方系统发送用于获取所述第一用户数据的第一获取请求;
数据查询模块,用于若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则从所述服务器本地查询所述目标用户账号的缓存数据;所述缓存数据是所述服务器最近一次从所述第三方系统获取的,对应所述目标用户账号的用户数据;
第一数据发送模块,用于将查询到的所述目标用户账号的缓存数据发送给所述终端。
可选的,所述装置还包括:第二请求发送模块和数据缓存模块;
所述第二请求发送模块,用于若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则向所述第三方系统发送用于获取所述第一用户数据的第二获取请求;
所述数据缓存模块,用于若在发送所述第二获取请求之后的第二时长内接收到所述第三方系统返回的所述第一用户数据,则将所述目标用户账号的缓存数据更新为所述第一用户数据,所述第二时长大于所述第一时长。
可选的,所述装置还包括:
第一时间点获取模块,用于在所述第一请求发送模块在向所述第三方系统发送用于获取所述第一用户数据的第一获取请求之前,获取所述目标用户账号的缓存数据的最近更新时间点;
所述第一请求发送模块,用于若所述最近更新时间点不处于当前时刻之前的第一预设长度时间段内,则向所述第三方系统发送所述第一获取请求。
可选的,所述装置还包括:
第二数据发送模块,用于若所述最近更新时间点处于所述第一预设长度时间段内,则将所述目标用户账号的缓存数据发送给所述终端。
可选的,所述目标用户账号是所述终端对应的用户在所述第三方系统上注册的账号,所述装置还包括:第三数据获取模块和存储模块;
所述第三数据获取模块,用于在所述数据查询模块从所述服务器本地查询所述目标用户账号的缓存数据之前,在建立所述目标用户账号与目标平台账号之间的对应关系时,向所述第三方系统获取所述目标用户账号在所述第三方系统上的第二用户数据;所述目标平台账号是所述终端对应的用户在所述服务器中注册的账号;
所述存储模块,用于在所述服务器本地将所述第二用户数据存储为所述目标用户账号的缓存数据。
可选的,所述装置还包括:第二时间点获取模块,第四数据获取模块和更新模块;
所述第二时间点获取模块,用于在所述数据查询模块从所述服务器本地查询所述目标用户账号的缓存数据之前,在指定时间点到达时,获取所述目标用户账号的缓存数据的最近更新时间点;
所述第四数据获取模块,用于若所述最近更新时间点不处于当前时刻之前的第二预设长度时间段内,则向所述第三方系统获取所述目标用户账号在所述第三方系统上的第三用户数据;
所述更新模块,用于将所述目标用户账号的缓存数据更新为所述第三用户数据。
可选的,所述方法还包括:请求获取模块和设置模块;
所述请求获取模块,用于在所述第二时间点获取模块在指定时间点到达时,获取所述目标用户账号的缓存数据的最近更新时间点之前,接收所述终端发送的更新时间设置请求,所述更新时间设置请求是所述终端接收到设置所述指定时间点的设置操作时发送的请求;
所述设置模块,用于根据所述更新时间设置请求设置所述指定时间点。
又一方面,本申请实施例还提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的数据发送方法。
又一方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的数据发送方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请通过服务器接收终端发送的数据查询请求,向第三方系统发送用于获取第一用户数据的第一获取请求,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据;将查询到的目标用户账号的缓存数据发送给终端。本申请在当服务器在第一时长内未接收到第三方系统返回的数据时,通过在服务器本地中查询目标用户账号的缓存数据,将从服务器本地查询的缓存数据发送给终端,避免了将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题,提高了终端的数据查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种终端获取第三方系统中数据的系统场景示意图;
图2是本申请实施例涉及的一种数据发送方法的方法流程图;
图3是本申请实施例涉及的一种数据发送方法的方法流程图;
图4是本申请实施例涉及的一种绑定目标用户账号的界面示意图;
图5是本申请实施例涉及的一种更新时间设置的界面示意图;
图6是本申请实施例涉及的一种数据查询界面的界面示意图;
图7是本申请实施例涉及图6的一种第一用户数据展示界面的界面示意图;
图8是本申请实施例涉及图7的一种数据展示界面的界面示意图;
图9是本申请实施例提供的一种数据发送方法的方法流程图;
图10是本申请实施例涉及的一种社保数据查询的加载过程示意图;
图11是本申请实施例涉及图10的一种社保数据的展示界面示意图;
图12是本申请一示例性实施例示出的一种数据发送装置的结构方框图;
图13是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着互联网技术领域的发展,人们在日常生活中,使用终端进行娱乐或者工作的现象已经非常普遍,随着用户使用终端的次数越来越多,终端和网络中存储的用户数据也越来越多。终端中的各个应用程序都对应有自己的服务器和数据库,数据库可以存储用户数据,当用户需要查看这些数据时,可以通过终端向服务器发起数据获取请求,从而通过服务器获取到用户想要查询的数据。
针对向服务器查询数据的场景,本申请提供一种通过服务器向其他独立的系统(后称第三方系统)查询数据的方案,例如,用户A在应用程序A的服务器中注册有第一账号,在第三方系统中注册有第二账号,并且应用程序A的服务器与第三方系统之间拥有对应的数据查询接口时,用户便可以通过终端中的应用程序A,向应用程序A的服务器发送第二账号的数据查询请求,应用程序A的服务器根据该数据查询请求,通过自身与第三方系统之间的数据查询接口获取存储在第三方系统中的数据,并将获取到的数据返回给终端,相应的,第三方系统也可以通过自身与应用程序A的服务器之间的数据查询接口向应用程序A的服务器返回第二账号的数据。通过该方案,用户可以通过一个应用程序A查询多个不同的第三方系统中的数据,从而极大的提高了用户向多个第三方系统查询数据的便利性。
请参考图1,其示出了本申请实施例提供的一种终端获取第三方系统中数据的系统场景示意图。如图1所示,该系统包括:若干个终端110,服务器120以及第三方系统130。
可选的,终端110可以是安装有服务器120对应的客户端的终端设备,比如,该终端可以是手机、平板电脑、电子书阅读器、智能眼镜、智能手表、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑、膝上型便携计算机和台式计算机等等。
服务器120可以是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。可选的,服务器120可以是云服务平台的服务器、即时通信应用平台的服务器、聊天应用平台的服务器、游戏平台的服务器、公众平台的服务器等。
终端110与服务器120之间可以通过通信网络相连。可选的,该通信网络可以是有线网络或无线网络。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
第三方系统130可以是独立于服务器120之外的一个数据存储系统,或者,第三方系统130也可以是与服务器120相同的虚拟化平台等,第三方系统130中需要有存储数据的数据库。比如,第三方系统130可以是社保系统、公积金系统、银行系统、水电燃气公司系统以及其它各类商业公司(比如游戏公司)系统等等。
可选的,第三方系统130可以与服务器120之间通过数据查询接口相连,该数据查询接口需要传输的数据较多时,第三方系统和服务器之间的交互效率可能降低。可选的,终端110中也可以安装有第三方系统对应的客户端,终端也可以通过通信网络连接从第三方系统中获取数据。
可选的,用户可以在上述终端打开服务器120对应的客户端时,可以通过一系列操作,在终端中展示某一界面,该界面中包含需要展示该用户在第三方系统中存储的数据,此时,终端可以先向服务器发送数据查询请求,由于当前需要展示的数据是存在第三方系统中的,因此,服务器需要根据该数据查询请求向第三方系统发送数据获取请求,通过上述的数据查询接口从第三方系统中获取相应的数据,然后再返回给终端,使得终端可以展示相应的应用程序界面。可选的,在同一时间段内,当多个终端向服务器发送数据查询请求时,或者,当第三方系统对外提供的数据查询接口在同一时间段内接收到密集的访问请求时,服务器通过数据查询接口从第三方系统中获取数据的等待时间较长,导致请求超时,以至于服务器无法及时向各个终端反馈数据,从而影响通过服务器查询第三方系统中的数据的效率。
本申请实施例提供了一种数据发送方法,可以避免上述终端在请求展示第三方系统中的数据时,由于服务器与第三方系统之间请求超时而导致服务器无法及时向终端反馈数据,从而影响数据查询效率的问题。请参考图2,其示出了本申请实施例涉及的一种数据发送方法的方法流程图,该方法可以应用于上述图1所示的系统场景中,由该系统中的服务器执行。如图2所示,该数据发送方法可以包括如下几个步骤。
步骤201,接收终端发送的数据查询请求。
其中,数据查询请求用于查询第一用户数据,第一用户数据是目标用户账号在第三方系统上的用户数据。
其中,终端中可以安装有服务器对应的客户端,用户可以通过打开客户端并进入数据查询界面,通过该界面向服务器发送数据查询请求。
例如,上述服务器可以是公众平台对应的服务器,终端中安装的客户端是公众平台客户端,第三方系统在该公众平台注册有公众号,用户通过公众平台客户端关注该公众号之后,可以通过第三方系统的公众号入口进入上述数据查询界面。
其中,公众平台:是指用于与用户账号的关注者进行线上线下互动的开放平台。公众平台通常基于社交类应用实现。
或者,用户也可以通过服务器提供的网页,在终端中展示相同的数据查询界面,此时,终端也可以与服务器建立网络连接,并且向服务器发送数据查询请求。
可选的,该数据查询请求中可以包含目标用户账号,目标请求参数等。
可选的,第一用户数据是目标用户账号对应的账号数据。例如目标用户账号可以是用户在第三方系统中注册的一个账号,该账号拥有对应的用户数据。例如,该第三方系统是用户社保系统,该用户社保系统中存储有用户各自的社保数据,目标用户账号可以是用户的社保账号,该用户社保系统中可以存储用户的社保余额,历史使用账单等数据,相应的,目标请求参数可以是社保余额、账单明细等参数。或者,该第三方系统是某一银行系统,该银行系统中存储有用户各自的银行账户数据。目标用户账号可以是用户的银行账号,该银行系统中可以存储目标用户账号的账号余额,卡券使用情况等数据,相应的,目标请求参数可以是账户余额、卡券剩余等参数。或者,该第三方系统是某一游戏系统,该游戏系统中存储有用户各自的游戏数据等等。目标用户账号可以是用户的游戏账号,该游戏系统中可以存储用户游戏历史数据,游戏充值数据等,相应的,目标请求参数可以是伤害值、充值明细等参数。
其中,该数据查询请求是用于终端请求用户在第三方系统中存储的第一用户数据。类似的,如果第三方系统是用户社保系统,数据查询请求所查询的用户数据可以是该用户的社保余额、社保消费账单等数据;如果第三方系统是银行系统,数据查询请求所查询的用户数据可以是该用户的银行账户余额、账户历史消费账单等数据;如果第三方系统是游戏系统,数据查询请求所查询的用户数据可以是该用户的游戏消费数据、游戏角色等数据。
步骤202,向第三方系统发送用于获取第一用户数据的第一获取请求。
服务器接收到终端发送的数据查询请求之后,可以根据数据查询请求中包含的目标用户账号生成第一获取请求,该第一获取请求是用于请求第一用户数据的。可选的,该第一获取请求中也可以包含上述目标请求参数,服务器可以请求目标用户账号对应的目标请求参数的数据。服务器将生成的第一获取请求发送给第三方系统,相应的,第三方系统接收服务器发送的第一获取请求。其中,服务器发送第一获取请求,以及第三方系统接收第一获取请求,可以是通过服务器与第三方系统之间的数据查询接口进行发送和接收的。
步骤203,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据。
其中,缓存数据是服务器最近一次从第三方系统获取的,对应该目标用户账号的用户数据。
可选的,服务器在上述步骤202向第三方系统发送第一获取请求后,可以开启一个计时器,该计时器可以从发送第一获取请求之后开始计时,如果在第一时长内,未接收到第三方系统返回的第一用户数据,服务器可以从自身本地查询目标用户账号的缓存数据。可选的,第一时长可以预先在服务器中设置,服务器本地也可以预先创建一个记录缓存,该记录缓存中可以存储有服务器最近一次从第三方系统查询到的,该目标用户账号对应的用户数据。
其中,当服务器在第一时长内未获取到第三方系统返回的第一用户数据,此时说明服务器与第三方系统之间的数据查询接口可能发生异常,或者,数据查询接口较为繁忙,不能及时返回第一用户数据给服务器。
可选的,第三方系统接收到各个请求端通过数据查询接口发送的请求之后,将接收到的各个请求输入一个或多个处理队列,并对各个处理队列中的请求依次进行处理,当短时间内接收到的请求数量过多时,第三方系统从接收到服务器发送的第一获取请求,到向服务器返回第一用户数据的时间可能会较长,从而导致服务器未能在第一时长内接收到第一用户数据。
步骤204,将查询到的目标用户账号的缓存数据发送给终端。
其中,服务器为了避免终端侧无法及时接收到查询的用户数据而展示网络错误等提示信息,在本申请实施例中,当服务器未能在第一时长内向第三方系统请求到第一用户数据时,服务器可以从服务器本地查询对应目标用户账号的缓存数据,当服务器从服务器本地查询到目标用户账号的缓存数据时,可以直接将查询到的缓存数据发送给终端。
例如,上一次服务器从第三方系统获取过目标用户账号的用户数据时,服务器可以将获取到的用户数据作为目标用户账号的缓存数据存储在服务器本地,当此次从第三方系统获取第一用户数据超时(第三方接口异常),服务器可以从自己的本地查询目标用户账号的缓存数据,当查询到该目标用户账号的缓存数据时,将目标用户账号的缓存数据发送给终端。
可选的,如果上述步骤203中,服务器在第一时长内,接收到第三方系统返回的第一用户数据,服务器可以将此次接收到的第一用户数据返回给终端。可选的,当服务器在本地没有查询到与目标用户账号的缓存数据时,服务器此时还可以向终端发送网络错误等提示信息。
当本申请实施例应用在用户通过客户端查询社保数据的实际场景中时,即,以第三方系统是社保系统,数据查询请求所请求的数据是用户社保数据,服务器是社保公众号平台所在服务商系统的服务器为例,本申请实施例提供的数据发送方法的流程可以如下:
步骤a:接收终端发送的数据查询请求,数据查询请求用于查询第一社保数据,第一社保数据是目标用户账号在社保系统上的用户社保数据;
步骤b:向社保系统发送用于获取第一社保数据的第一获取请求;
步骤c:若在发送第一获取请求之后的第一时长内未接收到社保系统返回的第一社保数据,则从服务器本地查询目标用户账号的缓存社保数据;缓存社保数据是服务器最近一次从社保系统获取的,对应目标用户账号的用户社保数据;
步骤d:将查询到的目标用户账号的缓存社保数据发送给终端。
在各步骤中,服务器与社保系统的交互均可以参照上述步骤201至步骤204中的描述,此处不再赘述。
综上所述,本申请通过服务器接收终端发送的数据查询请求,向第三方系统发送用于获取第一用户数据的第一获取请求,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据;将查询到的目标用户账号的缓存数据发送给终端。本申请在当服务器在第一时长内未接收到第三方系统返回的数据时,通过在服务器本地中查询目标用户账号的缓存数据,将从服务器本地查询的缓存数据发送给终端,避免了将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题,提高了终端的数据查询效率。
以上述服务器是一个公众平台的服务器(后简称公众平台),目标用户账号是用户在公众平台中注册的账号,第三方系统为独立于公众平台之外的系统为例,对上述涉及的数据发送方法进行介绍。请参考图3,其示出了本申请实施例涉及的一种数据发送方法的方法流程图,该方法可以应用于上述图1所示的系统场景中,由该系统中的服务器执行。如图3所示,该数据发送方法可以包括如下几个步骤。
步骤301,在建立目标用户账号与目标平台账号之间的对应关系时,向第三方系统获取目标用户账号在第三方系统上的第二用户数据。
其中,目标平台账号是终端对应的用户在服务器(即公众平台)中注册的账号,第二用户数据也是目标用户账号的用户数据。即,本申请实施例中,用户可以在第三方系统中注册有目标用户账号,在公众平台中注册有目标平台账号,用户可以通过终端将自己的目标用户账号和目标平台账号进行绑定,由公众平台建立两者的对应关系。例如,用户通过终端安装公众平台提供的客户端,通过打开该客户端的指定界面,在该指定界面中绑定目标用户账号。
请参考图4,其示出了本申请实施例涉及的一种绑定目标用户账号的界面示意图。如图4所示,在终端400界面中,包含了目标用户账号输入框401,账号密码输入框402,绑定控件403,取消控件404。用户可以在终端中通过打开公众平台的客户端,通过一系列操作,展示如图4所示的界面,并在目标用户账号输入框401中输入需要绑定的目标用户账号,在账号密码输入框402中输入登录第三方系统的目标用户账号时的登录密码,点击图4中的绑定控件403,从而告知公众平台,用户需要建立目标用户账号与目标平台账号之间的对应关系,公众平台接收到该绑定请求之后,可以为目标用户账号与目标平台账号建立对应关系。
可选的,公众平台的厂商如果提前与第三方系统的厂商设定好两者之间的数据获取协议时,公众平台可以向第三方系统发送相应的数据获取请求,从而获取到与目标平台账号建立过绑定关系的目标用户账号的数据。例如,公众平台的客户端可以展示特定几项的目标用户账号的用户数据,公众平台可以在建立目标平台账号与目标用户账号之间的对应关系之后,根据自身可以展示的目标用户账号的用户数据向第三方系统发送这几项数据的数据获取请求,即,公众平台可以向第三方系统获取目标用户账号在第三方系统上的第二用户数据。
例如,目标用户账号是用户的社保账户时,公众平台的客户端中可以展示“社保卡余额、社保卡当日消费额度、养老保险余额”等几项的用户数据,当目标用户账号与目标平台账号在公众平台中绑定时,公众平台可以先向第三方系统请求获取目标用户账号的这几项用户数据。可选的,此处公众平台与第三方系统之间的交互也可以是通过上述数据查询接口进行的。
步骤302,在服务器本地将第二用户数据存储为目标用户账号的缓存数据。
公众平台通过上述步骤301获取到第三方系统发送的第二用户数据时,可以将该第二用户数据在服务器本地存储为目标用户账号的缓存数据。例如,公众平台可以在本地预先建立一个用于存储目标用户账号的缓存数据的记录缓存,将得到的第二用户数据存储在该记录缓存中。可选的,该存储的形式可以是以表格的形式进行存储。可选的,公众平台在本地预先建立的记录缓存可以是DCache缓存,redis缓存,Memcached缓存中的任意一种。
请参考表1,其示出了本申请实施例涉及的一种缓存数据表。如表1所示,其中包含了目标平台账号与第二用户数据之间的对应关系。
目标平台账号一 第二用户数据一
目标平台账号二 第二用户数据二
目标平台账号三 第二用户数据三
…… ……
表1
公众平台可以在上述任意一种形式的记录缓存中存储上述表1。
可选的,公众平台还可以接收终端发送的更新时间设置请求。其中,该更新时间设置请求是终端接收到设置指定时间点的设置操作时发送的请求。请参考图5,其示出了本申请实施例涉及的一种更新时间设置的界面示意图,如图5所示,在终端500中,包含了更新时间输入框501,确认控件502,取消控件503,用户可以在终端中展示图5所示的设置界面,并在更新时间输入框501中输入时间,并点击确认控件502,此时终端可以向公众平台发送更新时间设置请求,可选的,该更新时间设置请求中可以携带用户在更新时间输入框501中输入的时间,相应的,公众平台也可以接收到终端发送的更新时间设置请求。
可选的,公众平台在接收到终端发送的更新时间设置请求之后,可以根据该更新时间设置请求设置指定时间点。其中,该指定时间点可以用于指示公众平台在该时间点上主动向第三方系统获取目标用户账号的数据。例如,用户在上述图5所述的更新时间输入框中输入了“00:00”,并点击了确认控件,公众平台在接收到终端发送的更新时间设置请求之后,可以获得到更新时间设置请求中携带的用户在更新时间输入框中输入的时间“00:00”,并设置指定时间点。例如,将该指定时间点也设置为“00:00”,或者,也可以设置为“某日00:00”等。
可选的,公众平台可以在指定时间点到达时,获取目标用户账号的缓存数据的最近更新时间点。其中,公众平台设定指定时间点之后,可以每次在指定时间点到来时,获取本地存储的目标用户账号的缓存数据的最近更新时间点,该最近更新时间点即是公众平台最近一次更新存储的上述表1中目标用户账号的缓存数据对应的时间点。若最近更新时间点不处于当前时刻之前的第二预设长度时间段内,公众平台则向第三方系统获取目标用户账号在第三方系统上的第三用户数据。
即,当指定时间点到来时,公众平台获取到的最近更新时间点距离当前时刻的时间长度超过了第二预设长度时间段,公众平台则向第三方系统获取目标用户账号在第三方系统上的第三用户数据。可选的,第二预设长度时间段可以预先在公众平台中设置。
在一种可能实现的方式中,以公众平台设置的指定时间点为每天的晚上12点为例,在每天的晚上12点到达时,公众平台都可以获取该目标用户账号的缓存数据的最近更新时间点,并判断最近更新时间点距离当前时刻的时间长度是否超过了第二预设长度时间段,以第二预设长度时间段为12小时为例,如果公众平台获取到的最近更新时间点距离当前时刻的时间长度超过了12小时,公众平台中更新该目标用户账号的缓存数据的时长已经超过了12小时,此时公众平台可以再次向第三方系统获取该目标用户账号在第三方系统上的第三用户数据。其中,该第三用户数据与第二用户数据对应的目标请求参数相同,即第三用户数据和第二用户数据之间是不同时间上获取到的同一目标用户账号的相同目标请求参数的用户数据。
例如,以目标用户账号是社保账号A,目标请求参数是社保余额参数,社保当日消费参数为例。用户可以在公众平台中绑定社保账号A,公众平台可以根据社保账号A,以及客户端对应的可以展示的社保余额参数,社保当日消费参数,向第三方系统(用户社保系统)发送数据获取请求,从而请求社保账号A的社保余额参数以及社保当日消费参数各自对应的数据。可选的,公众平台发送该数据获取请求可以是在目标用户账号和目标平台账号绑定后发送的,也可以是按照上述指定时间点发送的。相应的,第三方系统可以返回对应的数据。其中,如果公众平台发送该数据获取请求是在目标用户账号的和目标平台账号绑定后发送的,则此处公众平台接收到的便是第二用户数据;如果公众平台发送该数据获取请求是按照上述指定时间点发送的,则此处公众平台接收到的便是第三用户数据。
可选的,公众平台可以将目标用户账号的缓存数据更新为第三用户数据。即,公众平台可以将上述表1中存储对应的目标平台账号的缓存数据更新为此次获取到的第三用户数据。例如,在上述表1中,公众平台中对于目标平台账号一存储有第二用户数据一,在指定时间点到来时,如果目标平台账号一对应的第二用户数据一的最近更新时间不满足上述条件时,公众平台可以再次向第三方系统请求第三用户数据,并将请求到的第三用户数据更新至目标平台账号一对应的第二用户数据一的存储位置。可选的,对于当前指定时间点之前已经存储的缓存数据,公众平台也是将之前已经存储的缓存数据更新为此次获取到的第三用户数据。可选的,对应每次更新的各个目标用户账号对应的数据,公众平台也可以将更新的时间点进行保存记录,从而方便后续获取相应的更新时间点。可选的,公众平台也可以记录最新的更新时间点,将之前记录的更新时间点进行删除或者替换等,本申请实施例对此并不加以限定。
需要说明的,上述步骤301和步骤302可以是可选的步骤,也就是说,服务器在建立目标用户账号与目标平台账号之间的对应关系时,可以不向第三方平台获取和缓存目标用户账号的用户数据,而是在后续接收到终端请求时再向第三方平台获取并缓存该目标用户账号的用户数据。其中,接收到终端请求时向第三方平台获取并缓存该目标用户账号的用户数据的过程可以参考后续步骤。
步骤303,接收终端发送的数据查询请求。
其中,数据查询请求用于查询第一用户数据,第一用户数据是目标用户账号在第三方系统上的用户数据。类似的,第一用户数据可以是与上述第二用户数据、第三用户数据拥有相同的目标请求参数,即,第一用户数据和第三用户数据、第二用户数据之间也是不同时间上获取到的同一目标用户账号的相同目标请求参数的用户数据。
在一种可能实现的方式中,终端中可以展示客户端界面,用户通过一系列操作展示出数据查询界面。请参考图6,其示出了本申请实施例涉及的一种数据查询界面的界面示意图。如图6所示,在终端界面600中,包含了第一控件601,第二控件602,第三控件603,每个控件可以对应各自的查询数据,例如,第一控件601是“基本信息查询”,当用户点击第一控件601时,终端可以向公众平台发送“基本信息查询”的数据查询请求;第二控件602是“缴存明细查询”,当用户点击第二控件602时,终端可以向公众平台发送“缴存明细查询”的数据查询请求等。
其中,数据查询请求中可以携带上述控件对应的目标请求参数,例如,上述基于第一控件发送的数据查询请求对应的目标请求参数可以包括目标用户账号、目标用户姓名、目标用户证件号等参数,上述基于第二控件发送的数据查询请求对应的目标请求参数可以包括每月目标用户账号的收入数据、每月目标用户账号的支出数据等参数。
步骤304,向第三方系统发送用于获取第一用户数据的第一获取请求。
公众平台接收到终端发送的数据查询请求之后,可以根据数据查询请求中携带的目标请求参数以及对应目标用户账号,生成第一获取请求,并通过数据查询接口将该第一获取请求发送给第三方系统,请求在第三方系统中存储的第一用户数据。
可选的,公众平台在向第三方系统发送上述生成的第一获取请求之前,公众平台还可以先获取目标用户账号的缓存数据的最近更新时间点;即,获取上述记录的最近更新时间点,若最近更新时间点不处于当前时刻之前的第一预设长度时间段内,则向第三方系统发送第一获取请求。其中,该第一预设时间长度也可以是预先设置在公众平台中的。可选的,公众平台获取目标用户账号的缓存数据时,可以通过目标平台账号进行获取,即,公众平台可以通过目标平台账号在自身本地中查找该目标平台账号绑定的目标用户账号,从而获取该目标用户账号的缓存数据。
例如,用户通过点击上述图6中的第二控件,由终端向公众平台发送查询第一用户数据的数据查询请求时,公众平台可以根据当前终端中登录的目标平台账号获取目标用户账号的缓存数据对应的最近更新时间点,并判断该最近更新时间点距离当前时刻的时间长度是否在第一预设时间长度之内。比如,该第一预设时间长度是1分钟,如果公众平台获取到的最近更新时间点距离当前时刻是5个小时之前,则公众平台便将该第一获取请求发送给第三方系统,进行请求第三方系统中的目标用户账号的用户数据。可选的,第一获取请求的生成也可以在该判断步骤之后,即,在判断出最近更新时间点距离当前时刻的时间长度与第一预设时间长度的关系之后,确定是否生成第一获取请求。如果最近更新时间点距离当前时刻的时间长度大于第一预设时间长度,则公众平台生成第一获取请求,并发送给第三方系统。
可选的,若最近更新时间点处于第一预设长度时间段内,则将目标用户账号的缓存数据发送给终端。即,按照上述方式判断最近更新时间点距离当前时刻的时间长度不大于第一预设时间长度时,公众平台可以将目标用户账号的缓存数据发送给对应的终端,以便于终端可以直接得到第一用户数据。例如,该第一预设时间长度是1分钟,如果公众平台获取到的最近更新时间点距离当前时刻是10秒,则公众平台便将本地的目标用户账号的缓存数据发送给终端,使得终端可以得到第一用户数据。
步骤305,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据。
其中,缓存数据是服务器最近一次从第三方系统获取的,对应目标用户账号的用户数据。
在一种可能实现的方式中,公众平台在判断上述最近更新时间点处于第一预设长度时间段之外时,可以向第三方系统发送第一获取请求;或者,公众平台可以在接收到终端发送的数据查询请求之后,也可以向第三方系统发送第一获取请求。
对于公众平台向第三方服务器发送了第一获取请求的情况,公众平台可以自行通过计时器进行计时,如果公众平台向第三方系统发送了第一获取请求之后,在第一时长内未接收到第三方系统返回的第一用户数据,公众平台可以从本地查询并获取目标用户账号的缓存数据。可选的,公众平台查询目标用户账号的缓存数据可以是在上述实施例中提供的几种缓存中进行查询,此处不再赘述。可选的,如果公众平台向第三方系统发送了第一获取请求之后,在第一时长内接收到第三方系统返回的第一用户数据,则直接将第三方系统返回的第一用户数据发送给终端,并将该第一用户数据在本地存储为目标用户账号的缓存数据。
在一种可能实现的方式中,若公众平台在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则向第三方系统发送用于获取第一用户数据的第二获取请求。其中,该第二获取请求可以与第一获取请求所请求的数据相同。例如,如果上述第一获取请求用于请求目标用户账号A的账户余额数据,那么,第二获取请求也可以是用于请求目标用户账号A的账户余额数据。
可选的,当公众平台在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,公众平台可以对此次请求的第一用户数据新建一个线程,通过该新建的线程对第三方系统发送用于获取第一用户数据的第二获取请求。例如,公众平台中维持有开源流处理平台,该开源流处理平台可以持续处理获取第一用户数据。例如,该开源流处理平台可以是kafka,可以将此次第一获取请求中携带的请求参数添加至kafka中,该公众平台可以后续通过该开源流处理平台可以继续向第三方系统发起与第一获取请求相同请求参数的获取请求,本申请实施例中,将此处由开源流处理平台通过消费处理向第三方服务器再次发起的获取请求称为第二获取请求。
可选的,若在发送第二获取请求之后的第二时长内接收到第三方系统返回的第一用户数据,则将目标用户账号的缓存数据更新为第一用户数据。其中,第二时长大于第一时长。可选的,公众平台发送第二获取请求之后,也可以开启一个计时器,在第二时长内如果接收到第三方系统返回的第一用户数据,则将第三方系统返回的第一用户数据更新至本地存储目标用户账号的缓存数据中,并将对应的目标用户账号的缓存数据替换为此次接收到的第一用户数据,并记录相应的更新时间点。
其中,第二时长大于第一时长说明,此次公众平台获取第一用户数据时,可以等待第三方系统的数据查询接口响应时间比公众平台按照第一获取请求等待第三方系统的数据查询接口响应时间更久。例如,第一时长可以是5秒,第二时长可以是30秒等。
在一种可能实现的方式中,当用户通过终端向公众平台发送了一次数据查询请求,公众平台也根据此次数据查询请求向第三方系统发送了第一获取请求,并且第三方系统是在上述第二时长内向公众平台返回了第二用户数据,公众平台可以将此时目标用户账号的缓存数据更新为第二用户数据。如果在间隔10秒钟之后,用户再次向公众平台发送数据查询请求(例如,用户点击刷新或者重新进入展示第一用户数据的界面),此时公众平台可以从缓存数据中获取到目标用户账号的缓存数据的最近更新时间点距离当前时刻的时间段是10秒钟,如果该10秒钟处于第一预设长度时间段内,则公众平台可以直接将10秒钟之前更新的目标用户账号的缓存数据返回给终端,可以省略向第三方系统发送第一获取请求的步骤,提高对终端发送的数据查询请求的响应速度。
步骤306,将查询到的目标用户账号的缓存数据发送给终端。
即,当公众平台在第一时长内未获取到第三方系统返回的第一用户数据时,公众平台将从本地查询到的目标用户账号的缓存数据返回给终端,使得终端可以按照该本地的目标用户账号的缓存数据进行展示。其中,在上述步骤304中,公众平台获取的最近更新时间点不处于当前时刻之前的第一预设长度时间段内,公众平台依旧可以将从本地查询到的该最近更新时间点对应的目标用户账号的缓存数据返回给终端。
请参考图7,其示出了本申请实施例涉及图6的一种第一用户数据展示界面的界面示意图,如图7所示,在终端界面700中包含了用户账号701,账号余额702,养老金余额703。图7可以是用户点击图6所示的第一控件601展示的数据界面,当用户在终端中点击第一控件后,即时通讯平台和第三方系统可以执行上述各种步骤,从而通过即时通讯平台将用户账号701,账号余额702,养老金余额703对应的第一用户数据返回给终端,在终端中进行展示。
如果公众平台在上述第一时长内未获取到第三方系统返回的第一用户数据时,可以按照本地查询到的缓存数据发送给终端进行展示,如果本地并未查询到目标用户账号的缓存数据时,可以向终端返回错误信息,相应的,终端也可以展示错误提示信息。请参考图8,其示出了本申请实施例涉及图7的一种数据展示界面的界面示意图。如图8所示,在终端界面800中,包含了错误提示信息801,即,公众平台与第三方系统之间的数据接口可能繁忙,不能即时向终端返回数据,此时公众平台本地中也未存储有该目标用户账号的缓存数据,终端可以展示出图8所示的界面。
需要说明的是,上述实施例仅以服务器是公众平台的服务器为例,如果将公共平台替换为其他平台,例如游戏平台、聊天应用平台等,各种平台的实现方式均可以参照本申请实施例的实现过程,此处不再赘述。
综上所述,本申请通过服务器接收终端发送的数据查询请求,向第三方系统发送用于获取第一用户数据的第一获取请求,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据;将查询到的目标用户账号的缓存数据发送给终端。本申请在当服务器在第一时长内未接收到第三方系统返回的数据时,通过在服务器本地中查询目标用户账号的缓存数据,将从服务器本地查询的缓存数据发送给终端,避免了将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题,提高了终端的数据查询效率。
请参考图9,其示出了本申请实施例提供的一种数据发送方法的方法流程图。该方法可以应用于上述图1所示的系统场景中,由该系统中的服务器执行。如图9所示,该数据发送方法可以包括如下几个步骤。
步骤901,接收终端发送的第一次数据查询请求。
可选的,用户可以按照上述图6的方式向服务器发送一次数据查询请求。下面以用户在终端中通过即时通信平台展示社保数据界面,即第三方系统是社保系统举例,请参考图10,其示出了本申请实施例涉及的一种社保数据查询的加载过程示意图。如图10所示,在终端界面1000中,包含了刷新控件1001,终端请求的目标社保账号栏目1002。终端在向即时通信平台发起数据查询请求后,可以处于如图10所示的等待界面,此时即时通信平台可以执行上述方法实施例提供的各个步骤。
步骤902,服务器判断第三方接口是否异常。
可选的,该异常即是指第三方系统是否通过第三方接口在第一时长内将第一用户数据返回给服务器,如果在第一时长内返回给服务器,则进入步骤903,步骤904,步骤905,如果在第一时长内未返回给服务器,否则进入步骤906。其中,第一用户数据可以是如图10所示的目标社保账号栏目包含的各个数据。
步骤903,服务器向终端返回第一用户数据。
即,服务器通过第三方接口在第一时长内将第一用户数据返回给服务器,服务器可以直接将第一用户数据返回给终端,使得终端可以展示用户想要查询的第一用户数据。可选的,服务器还可以将第一用户数据更新至本地中,作为目标用户账号的缓存数据。
步骤904,服务器在本地存储第一用户数据。
即,服务器将第一用户数据存储为目标用户账号对应的缓存数据。
步骤905,服务器将此次异常添加至请求队列。
可选的,该步骤可以对应上述步骤305中的部分描述,即,服务器可以将异常情况添加至kafka队列,后续继续通过第二获取请求获取第一用户数据,此处不再赘述。
步骤906,服务器查询本地的缓存数据。
如果服务器查询到本地有该目标用户账号的缓存数据,则进入步骤907,否则进入步骤908。
步骤907,服务器将查询到的缓存数据返回给终端。
请参考图11,其示出了本申请实施例涉及图10的一种社保数据的展示界面示意图。如图11所示,其中包含了刷新控件1101,终端请求的目标社保账号栏目1102,第一用户数据1103。用户可以在上述图10的基础上点击刷新控件1001,此时,如果即时通信平台从第三方系统中获取到第一用户数据,或者从即时通信平台本地查询到缓存数据,当终端再次获取时,即时通信平台可以将该目标用户账号对应的用户数据返回给终端,使得终端进行展示。
在上述图3所示实施例中的一种可能实现方式中,即时通信平台可以直接根据终端发送的数据查询请求向第三方系统发送第一获取请求,此时,如果用户在上述图10中刷新时,如果即时通信平台与第三方系统的数据查询接口可以在第一时长内将第一用户数据返回给即时通信平台时,即时通信平台也可以第一用户数据也可以直接将第一用户数据返回给终端,使得终端展示图11的正常显示界面。
步骤908,服务器返回错误提示。
如果终端在第三时长内未接收到即时通信平台返回的数据时,此时说明即时通信平台暂时没有从即时通信平台本地获取到缓存数据,以及,第三方系统也并未在上述第一时长内返回给即时通信平台第一用户数据,此时终端中可以展示上述图8所示的界面。
需要说明的是,上述图10和图11展示的是社保数据界面举例说明,在实际应用中,即时通信平台中可以提供多种目标用户账号的绑定平台,例如,该即时通信平台可以提供某某游戏的公众号,用户可以通过终端在该即时通信平台中绑定自己在该某某游戏系统中的账号,通过即时通信平台查询游戏系统中的游戏数据等,本申请实施例对此并不加以限定。
综上所述,本申请在当服务器在第一时长内未接收到第三方系统返回的数据时,通过在服务器本地中查询目标用户账号的缓存数据,将从服务器本地查询的缓存数据发送给终端,避免了将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题,提高了终端的数据查询效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图12是本申请一示例性实施例示出的一种数据发送装置的结构方框图。该数据发送装置可以用于图1所示的服务器中,以执行图2、图3或者图9对应实施例所示的方法中由服务器执行的全部或者部分步骤。如图12所示,该数据发送装置可以包括如下模块:
请求接收模块1201,用于接收终端发送的数据查询请求,所述数据查询请求用于查询第一用户数据,所述第一用户数据是目标用户账号在第三方系统上的用户数据;
第一请求发送模块1202,用于向所述第三方系统发送用于获取所述第一用户数据的第一获取请求;
数据查询模块1203,用于若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则从所述服务器本地查询所述目标用户账号的缓存数据;所述缓存数据是所述服务器最近一次从所述第三方系统获取的,对应所述目标用户账号的用户数据;
第一数据发送模块1204,用于将查询到的所述目标用户账号的缓存数据发送给所述终端。
可选的,所述装置还包括:第二请求发送模块和数据缓存模块;
所述第二请求发送模块,用于若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则向所述第三方系统发送用于获取所述第一用户数据的第二获取请求;
所述数据缓存模块,用于若在发送所述第二获取请求之后的第二时长内接收到所述第三方系统返回的所述第一用户数据,则将所述目标用户账号的缓存数据更新为所述第一用户数据,所述第二时长大于所述第一时长。
可选的,所述装置还包括:
第一时间点获取模块,用于在所述第一请求发送模块1202在向所述第三方系统发送用于获取所述第一用户数据的第一获取请求之前,获取所述目标用户账号的缓存数据的最近更新时间点;
所述第一请求发送模块1202,用于若所述最近更新时间点不处于当前时刻之前的第一预设长度时间段内,则向所述第三方系统发送所述第一获取请求。
可选的,所述装置还包括:
第二数据发送模块,用于若所述最近更新时间点处于所述第一预设长度时间段内,则将所述目标用户账号的缓存数据发送给所述终端。
可选的,所述目标用户账号是所述终端对应的用户在所述服务器中注册的账号,所述装置还包括:第三数据获取模块和存储模块;
所述第三数据获取模块,用于在所述数据查询模块1203从所述服务器本地查询所述目标用户账号的缓存数据之前,在建立所述目标用户账号与目标系统账号之间的对应关系时,向所述第三方系统获取所述目标用户账号在所述第三方系统上的第二用户数据;所述目标系统账号是所述终端对应的用户在所述第三方系统上注册的账号;
所述存储模块,用于在所述服务器本地将所述第二用户数据存储为所述目标用户账号的缓存数据。
可选的,所述装置还包括:第二时间点获取模块,第四数据获取模块和更新模块;
所述第二时间点获取模块,用于在所述数据查询模块1203从所述服务器本地查询所述目标用户账号的缓存数据之前,在指定时间点到达时,获取所述目标用户账号的缓存数据的最近更新时间点;
所述第四数据获取模块,用于若所述最近更新时间点不处于当前时刻之前的第二预设长度时间段内,则向所述第三方系统获取所述目标用户账号在所述第三方系统上的第三用户数据;
所述更新模块,用于将所述目标用户账号的缓存数据更新为所述第三用户数据。
可选的,所述方法还包括:请求获取模块和设置模块;
所述请求获取模块,用于在所述第二时间点获取模块在指定时间点到达时,获取所述目标用户账号的缓存数据的最近更新时间点之前,接收所述终端发送的更新时间设置请求,所述更新时间设置请求是所述终端接收到设置所述指定时间点的设置操作时发送的请求;
所述设置模块,用于根据所述更新时间设置请求设置所述指定时间点。
综上所述,本申请通过服务器接收终端发送的数据查询请求,向第三方系统发送用于获取第一用户数据的第一获取请求,若在发送第一获取请求之后的第一时长内未接收到第三方系统返回的第一用户数据,则从服务器本地查询目标用户账号的缓存数据;将查询到的目标用户账号的缓存数据发送给终端。本申请在当服务器在第一时长内未接收到第三方系统返回的数据时,通过在服务器本地中查询目标用户账号的缓存数据,将从服务器本地查询的缓存数据发送给终端,避免了将历史查询数据缓存在终端侧被清除时,终端获取不到缓存数据而导致数据展示失败的问题,提高了终端的数据查询效率。
需要说明的是:上述实施例提供的装置在执行上述步骤时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与上述数据发送方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13是本申请一个示例性实施例提供的一种计算机设备的结构示意图。所述计算机设备1300包括中央处理单元(CPU)1301、包括随机存取存储器(RAM)1302和只读存储器(ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1306,和用于存储操作系统1312、应用程序1313和其他程序模块1314的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1311连接到互联网或者其它网络设备。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现本申请上述各个实施例提供的方法中,由服务器执行的全部或者部分步骤。
在一个示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (9)

1.一种数据发送方法,其特征在于,所述方法包括:
接收终端发送的数据查询请求,所述数据查询请求用于查询第一用户数据,所述第一用户数据是目标用户账号在第三方系统上的用户数据;所述终端用于展示一界面,所述界面用于展示所述第一用户数据;所述第三方系统与服务器之间通过数据查询接口相连;
向所述第三方系统发送用于获取所述第一用户数据的第一获取请求;
若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则从所述服务器本地查询所述目标用户账号的缓存数据;所述缓存数据是所述服务器最近一次从所述第三方系统获取的,对应所述目标用户账号的用户数据;
将查询到的所述目标用户账号的缓存数据发送给所述终端;
若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则向所述第三方系统发送用于获取所述第一用户数据的第二获取请求;
若在发送所述第二获取请求之后的第二时长内接收到所述第三方系统返回的所述第一用户数据,则将所述目标用户账号的缓存数据更新为所述第一用户数据,所述第二时长大于所述第一时长。
2.根据权利要求1所述的方法,其特征在于,所述向所述第三方系统发送用于获取所述第一用户数据的第一获取请求之前,还包括:
获取所述目标用户账号的缓存数据的最近更新时间点;
所述向所述第三方系统发送用于获取所述第一用户数据的第一获取请求,包括:
若所述最近更新时间点不处于当前时刻之前的第一预设长度时间段内,则向所述第三方系统发送所述第一获取请求。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述最近更新时间点处于所述第一预设长度时间段内,则将所述目标用户账号的缓存数据发送给所述终端。
4.根据权利要求1所述的方法,其特征在于,所述目标用户账号是所述终端对应的用户在所述第三方系统上注册的账号,所述从所述服务器本地查询所述目标用户账号的缓存数据之前,还包括:
在建立所述目标用户账号与目标平台账号之间的对应关系时,向所述第三方系统获取所述目标用户账号在所述第三方系统上的第二用户数据;所述目标平台账号是所述终端对应的用户在所述服务器中注册的账号;
在所述服务器本地将所述第二用户数据存储为所述目标用户账号的缓存数据。
5.根据权利要求1所述的方法,其特征在于,所述从所述服务器本地查询所述目标用户账号的缓存数据之前,还包括:
在指定时间点到达时,获取所述目标用户账号的缓存数据的最近更新时间点;
若所述最近更新时间点不处于当前时刻之前的第二预设长度时间段内,则向所述第三方系统获取所述目标用户账号在所述第三方系统上的第三用户数据;
将所述目标用户账号的缓存数据更新为所述第三用户数据。
6.根据权利要求5所述的方法,其特征在于,所述在指定时间点到达时,获取所述目标用户账号的缓存数据的最近更新时间点之前,还包括:
接收所述终端发送的更新时间设置请求,所述更新时间设置请求是所述终端接收到设置所述指定时间点的设置操作时发送的请求;
根据所述更新时间设置请求设置所述指定时间点。
7.一种数据发送方法,其特征在于,所述方法包括:
接收终端发送的数据查询请求,所述数据查询请求用于查询第一社保数据,所述第一社保数据是目标用户账号在社保系统上的用户社保数据;所述终端用于展示一界面,所述界面用于展示所述第一社保数据;所述社保系统与服务器之间通过数据查询接口相连;
向所述社保系统发送用于获取所述第一社保数据的第一获取请求;
若在发送所述第一获取请求之后的第一时长内未接收到所述社保系统返回的所述第一社保数据,则从所述服务器本地查询所述目标用户账号的缓存社保数据;所述缓存社保数据是所述服务器最近一次从所述社保系统获取的,对应所述目标用户账号的用户社保数据;
将查询到的所述目标用户账号的缓存社保数据发送给所述终端;
若在发送所述第一获取请求之后的第一时长内未接收到所述社保系统返回的所述第一社保数据,则向所述社保系统发送用于获取所述第一社保数据的第二获取请求;
若在发送所述第二获取请求之后的第二时长内接收到所述社保系统返回的所述第一社保数据,则将所述目标用户账号的缓存数据更新为所述第一社保数据,所述第二时长大于所述第一时长。
8.一种数据发送装置,其特征在于,所述装置包括:
请求接收模块,用于接收终端发送的数据查询请求,所述数据查询请求用于查询第一用户数据,所述第一用户数据是目标用户账号在第三方系统上的用户数据;所述终端用于展示一界面,所述界面用于展示所述第一用户数据;所述第三方系统与服务器之间通过数据查询接口相连;
第一请求发送模块,用于向所述第三方系统发送用于获取所述第一用户数据的第一获取请求;
数据查询模块,用于若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则从所述服务器本地查询所述目标用户账号的缓存数据;所述缓存数据是所述服务器最近一次从所述第三方系统获取的,对应所述目标用户账号的用户数据;
第一数据发送模块,用于将查询到的所述目标用户账号的缓存数据发送给所述终端;
第二请求发送模块,用于若在发送所述第一获取请求之后的第一时长内未接收到所述第三方系统返回的所述第一用户数据,则向所述第三方系统发送用于获取所述第一用户数据的第二获取请求;
数据缓存模块,用于若在发送所述第二获取请求之后的第二时长内接收到所述第三方系统返回的所述第一用户数据,则将所述目标用户账号的缓存数据更新为所述第一用户数据,所述第二时长大于所述第一时长。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的数据发送方法。
CN201910707799.0A 2019-08-01 2019-08-01 数据发送方法、装置、设备及存储介质 Active CN110413918B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910707799.0A CN110413918B (zh) 2019-08-01 2019-08-01 数据发送方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910707799.0A CN110413918B (zh) 2019-08-01 2019-08-01 数据发送方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110413918A CN110413918A (zh) 2019-11-05
CN110413918B true CN110413918B (zh) 2023-09-22

Family

ID=68365225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910707799.0A Active CN110413918B (zh) 2019-08-01 2019-08-01 数据发送方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110413918B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314414B (zh) * 2019-12-17 2021-09-28 聚好看科技股份有限公司 数据传输方法、装置及系统
CN113297218B (zh) * 2021-05-20 2022-01-07 广州光点信息科技有限公司 一种多系统数据交互方法、装置及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678523A (zh) * 2013-11-28 2014-03-26 华为技术有限公司 分布式高速缓存cache数据访问方法和装置
CN104281579A (zh) * 2013-07-02 2015-01-14 腾讯科技(北京)有限公司 进行网站数据查询的方法及服务器
CN104955003A (zh) * 2014-03-31 2015-09-30 金蝶软件(中国)有限公司 业务数据查询系统和方法
CN107590275A (zh) * 2017-09-27 2018-01-16 北京奇虎科技有限公司 一种数据查询方法和装置
WO2018076867A1 (zh) * 2016-10-25 2018-05-03 广东欧珀移动通信有限公司 数据备份的删除方法、装置、系统、存储介质和服务器
CN109284309A (zh) * 2018-10-16 2019-01-29 翟红鹰 数据库缓存方法、终端及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117456A1 (en) * 2015-12-31 2017-07-06 Quixey, Inc. Geo-fence pre-caching systems and methods for providing location-variant results

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281579A (zh) * 2013-07-02 2015-01-14 腾讯科技(北京)有限公司 进行网站数据查询的方法及服务器
CN103678523A (zh) * 2013-11-28 2014-03-26 华为技术有限公司 分布式高速缓存cache数据访问方法和装置
CN104955003A (zh) * 2014-03-31 2015-09-30 金蝶软件(中国)有限公司 业务数据查询系统和方法
WO2018076867A1 (zh) * 2016-10-25 2018-05-03 广东欧珀移动通信有限公司 数据备份的删除方法、装置、系统、存储介质和服务器
CN107590275A (zh) * 2017-09-27 2018-01-16 北京奇虎科技有限公司 一种数据查询方法和装置
CN109284309A (zh) * 2018-10-16 2019-01-29 翟红鹰 数据库缓存方法、终端及计算机可读存储介质

Also Published As

Publication number Publication date
CN110413918A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
US10462138B2 (en) Application programming interface access controls
CN106458110B (zh) 用于促进汽车机修工之间的协作的系统和方法
CN109313572A (zh) 通用自动缩放
US20140100898A1 (en) Order Queue Management in Event Ticket Network Systems
US9311664B2 (en) Systems and methods for automatically collection of performance data in a multi-tenant database system environment
CN110266752B (zh) 区块链信息推送方法、装置、计算机设备和存储介质
CN110443695A (zh) 数据处理方法及其装置、电子设备和介质
CN105900396A (zh) 移动云服务体系架构
CN108400946A (zh) 一种用于减少网络通信量的方法、装置、系统及计算机可读存储介质
JP2019509546A (ja) レイテンシの削減
US9396265B2 (en) Method and apparatus for aquiring dynamic message
CN110413918B (zh) 数据发送方法、装置、设备及存储介质
US20150199774A1 (en) One click on-boarding crowdsourcing information incentivized by a leaderboard
CN106850242A (zh) 一种信息处理方法及装置
US9049164B2 (en) Dynamic message retrieval by subdividing a message queue into sub-queues
CA2961135A1 (en) System, apparatus and method for access and authorization control
US7941483B2 (en) Low latency display methods for thin client devices
CN106533718A (zh) 数据处理方法及装置
JP6815922B2 (ja) 業務連携システムおよび業務連携方法
US20150199773A1 (en) Creating business profiles by third party user on-boarding
JP6714117B1 (ja) 情報処理装置、プログラム、及び制御方法
US20220382775A1 (en) Employee compensation manager
JP2015069533A (ja) データ管理装置及びデータ管理方法
US20230244859A1 (en) System and method for automatically sharing verified user information across remote systems
US20230082711A1 (en) Efficient initiation of automated processes

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