CN111177632A - 数据获取方法及其相关设备、系统及存储装置 - Google Patents
数据获取方法及其相关设备、系统及存储装置 Download PDFInfo
- Publication number
- CN111177632A CN111177632A CN201911416897.5A CN201911416897A CN111177632A CN 111177632 A CN111177632 A CN 111177632A CN 201911416897 A CN201911416897 A CN 201911416897A CN 111177632 A CN111177632 A CN 111177632A
- Authority
- CN
- China
- Prior art keywords
- data
- platform
- user
- data acquisition
- request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Abstract
本申请公开了一种数据获取方法及其相关设备、系统及存储装置。其中,数据获取方法包括:获取数据获取请求,其中,数据获取请求用于请求获取目标数据提供侧的目标数据,且目标数据用于提供给数据请求侧,数据请求侧和目标数据提供侧属于不同的平台;从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式;采用选择的数据获取方式,向目标数据提供侧获取目标数据。上述方案,可实现不同平台之间的数据获取。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据获取方法及其相关设备、系统及存储装置。
背景技术
在信息化时代,越来越多的平台提供给用户进行访问。例如,学校提供的信息化教育平台,学生可以登录该信息化教育平台了解学校的一些信息;又例如一些在线教育平台,学生可登陆该在线教育平台进行远程上课。通常,同一个用户都会使用多个不同的平台,由于不同平台是相互独立的,故用户访问不同的平台的时候,需要分别登陆,且不同平台在用户登录之后,再从自身数据库中获取用户数据,进而为用户提供对应的平台功能。
实际上,对于一些平台,其用户数据如用户的姓名、年龄、班级等这些信息都是相同的,故这些用户数据可以供多个平台使用,然而,不同平台的底层数据模型设计不同,故不同平台之间无法实现数据获取。
基于此,如何实现不同平台之间的数据获取,成为亟待解决的问题。
发明内容
本申请提供一种数据获取方法及其相关设备、系统及存储装置。
本申请第一方面提供了一种数据获取方法,包括:获取数据获取请求,其中,数据获取请求用于请求获取目标数据提供侧的目标数据,且目标数据用于提供给数据请求侧,数据请求侧和目标数据提供侧属于不同的平台;从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式;采用选择的数据获取方式,从目标数据提供侧获取目标数据。
因此,能够为数据请求侧向数据提供侧获取数据,实现不同平台之间的数据获取。而且,在获得数据获取请求后,从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式,使得被获取数据的目标数据提供侧与数据获取方式一一对应,实现向目标数据提供侧获取目标数据,故可为不同数据提供侧配置不同的数据获取方式实现不同数据提供侧的数据获取,即可兼容多种数据获取方式,从而实现为数据请求侧获取多个数据提供侧的数据。
其中,所述多种数据获取方式包括预设通信接口方式、运行SQL脚本方式和运行预存代码方式中的至少一种。
因此,能够兼容预设通信接口方式、运行SQL脚本方式和运行预存代码方式,以实现通过预设通信接口方式、运行SQL脚本方式和运行预存代码方式来实现与不同数据提供侧之间的数据交互。
其中,预设通信接口方式包括HTTP接口方式、RPC接口方式中的至少一种,预存代码包括Java代码、Lua代码、JavaScript代码和Groovy代码中的至少一种。
因此,可进一步兼容HTTP接口方式、RPC接口方式以及运行Java代码、Lua代码、JavaScript代码和Groovy代码方式,以采用更多种化的获取方式来实现与更多的不同的数据提供侧进行数据交互。
其中,所述方法还包括:获取用户输入的一数据提供侧所需的数据获取方式;建立所述数据提供侧与其所需的数据获取方式之间的关联关系,并将数据获取方式和所述关联关系保存作为配置信息;所述从预存的多种数据获取方式中,选择与所述目标数据提供侧关联的数据获取方式,包括:从所述配置信息中,查找出与所述目标数据提供侧具有关联关系的数据获取方式。
因此,能够实现根据用户输入为不同的数据提供侧配置其对应的数据获取方式。
其中,所述获取用户输入的一数据提供侧所需的数据获取方式,包括:在所述数据获取方式为预设通信接口方式的情况下,获取用户输入的一数据提供侧所需的预设通信接口信息;在所述数据获取方式为运行SQL脚本方式的情况下,获取用户输入的一数据提供侧所需的SQL脚本;在所述数据获取方式为运行预存代码方式的情况下,获取用户输入的一数据提供侧所需的代码;所述将数据获取方式和所述关联关系保存作为配置信息,包括:将数据获取方式和所述关联关系作为配置信息保存在预设数据库中。
因此,能够实现基于用户输入信息,而获得预设通信接口信息、SQL脚本和代码,进而实现采用预设通信接口方式、运行SQL脚本方式和运行预存代码方式来实现与不同数据提供侧之间的数据交互。
其中,所述采用所述选择的数据获取方式,从所述目标数据提供侧获取所述目标数据,包括:在所述数据获取方式为预设通信接口方式的情况下,利用预设通信接口,向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果;以及利用预存通信接口模板从所述数据查询结果中识别并提取关键字段内容,得到所述目标数据;在所述数据获取方式为运行SQL脚本方式的情况下,运行SQL脚本以生成数据查询请求;向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果;以及基于所述数据查询结果,获得所述目标数据;在所述数据获取方式为运行预存代码方式的情况下,运行所述预存代码,以实现生成并向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果,对所述数据查询结果进行解析得到目标数据。
因此,能够实现利用预设通信接口向数据提供侧获得数据查询结果,并利用预存通信接口模板从数据查询结果中识别并提取得到目标数据;或者,通过运行SQL脚本或预存代码实现生成并发送数据查询请求并获取目标数据;由此,可实现采用预设通信接口方式、运行SQL脚本方式和运行预存代码方式来实现与不同数据提供侧之间的数据交互。
其中,所述获取数据获取请求,包括:通过预设通信接口接收到所述数据请求侧的数据获取请求;或者,检测到满足预设条件时,生成数据获取请求。
因此,实现了数据获取请求的获取,而且,可通过预设通信接口能实现与数据请求侧进行通信,进而接收数据请求侧的数据获取请求,由此响应于数据请求侧的请求从相应的数据提供侧中获取目标数据,实现不同平台之间的数据获取。
其中,数据请求侧和目标数据提供侧属于不同教育平台,所述目标数据为目标用户的数据。
因此,可实现不同教育平台之间的目标用户数据的获取。
其中,所述方法还包括:将来自所述数据请求侧的验证请求发送给所述数据提供侧,其中,所述验证请求用于请求验证目标用户是否在所述数据提供侧登录;接收所述数据提供侧的验证结果,并反馈给所述数据请求侧。
因此,能够实现数据请求侧和数据提供侧之间对用户登录的验证。
本申请第二方面提供了一种数据获取方法,包括:第一平台检测到存在对目标数据的获取需求;通过数据中转平台从所述第二平台获取所述目标数据。
因此,第一平台在需要获取第二平台的目标数据时,通过数据中转平台从第二平台获取目标数据,故实现不同平台之间的数据获取。
其中,所述检测到存在对目标数据的获取需求,包括:接收用户的访问请求;其中,所述访问请求是在所述用户访问第二平台时生成的;基于所述访问请求验证所述用户是否已在所述第二平台登录;若是,则确定存在对所述目标数据的获取需求,其中,所述目标数据为所述用户的数据。
因此,第一平台在接收到用户的访问请求时,若确定用户已在第二平台登录,则第一平台作为数据请求侧且第二平台作为数据提供侧,第一平台通过数据中转平台直接从第二平台获取所述用户的数据,即第一平台在用户访问时,主动向第二平台查询用户数据,实现获取用户的最新数据,提高数据获取的实时性和准确性。
其中,还包括:若所述用户已在所述第二平台登录,则确定所述用户在所述第一平台登录成功。
因此,在确定用户在第二平台登录后直接确定该用户在第一平台登录成功,无需用户重复登录,提高了平台登录效率。
其中,在所述通过数据中转平台从所述第二平台获取所述目标数据之后,还包括:基于所述用户的数据,确定所述用户在所述第一平台上的可访问内容。
因此,能够为不同用户提供不同的访问内容,实现用户区别化的访问。
其中,所述第一平台和第二平台为不同的两个教育平台,所述用户的数据包括姓名、学校、班级、角色中的至少一种;所述可访问内容包括可上课课程、可授课课程中的至少一种。
因此,能够实现不同教育平台之间用户数据的获取,另外,可针对用户的具体数据内容为该用户提供可上课课程和/或可授课课程。
其中,所述访问请求包括第二平台地址和第一密钥;所述基于所述访问请求验证所述用户是否已在所述第二平台登录,包括:基于所述第二平台地址,向所述第二平台发送包含所述第一密钥的验证请求,以请求验证所述第一密钥与所述第二平台在所述用户成功登录所述第二平台时生成的第二密钥是否匹配;接收所述第二平台反馈对所述第一密钥的验证结果;若所述验证结果为所述第一密钥和所述第二密钥匹配,则确定所述用户已在所述第二平台登录。
因此,通过第二平台对密钥的验证实现了用户在第二平台的登录状态的验证。
其中,所述通过数据中转平台从所述第二平台获取所述目标数据,包括:向所述数据中转平台发送数据获取请求,以使所述数据中转平台采用与所述第二平台关联的数据获取方式,从所述第二平台获取所述目标数据。
因此,数据中转平台能够采用与第二平台关联的数据获取方式实现目标数据的获取,即能够为不同数据获取方式的第二平台选择与之匹配的数据获取方式,故可兼容多种数据获取方式,从而实现为第一平台获取不同的第二平台的数据。
本申请第三方面提供了一种数据获取装置,该装置包括:获取模块,用于获取数据获取请求,其中,所述数据获取请求用于请求获取目标数据提供侧的目标数据,且所述目标数据用于提供给数据请求侧,所述数据请求侧和目标数据提供侧属于不同的平台;选择模块,用于从预存的多种数据获取方式中,选择与所述目标数据提供侧关联的数据获取方式;获取模块,用于采用所述选择的数据获取方式,从所述目标数据提供侧获取所述目标数据。
因此,能够为数据请求侧向数据提供侧获取数据,实现不同平台之间的数据获取。而且,在获得数据获取请求后,从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式,使得被获取数据的目标数据提供侧与数据获取方式一一对应,实现向目标数据提供侧获取目标数据,故可为不同数据提供侧配置不同的数据获取方式实现不同数据提供侧的数据获取,即可兼容多种数据获取方式,从而实现为数据请求侧获取多个数据提供侧的数据。
本申请第四方面提供了一种数据获取装置,应用于第一平台,包括:检测模块,用于检测到存在对目标数据的获取需求;获取模块,用于通过数据中转平台从所述第二平台获取所述目标数据。
因此,第一平台在需要获取第二平台的目标数据时,通过数据中转平台从第二平台获取目标数据,故实现不同平台之间的数据获取。
本申请第五方面提供了一种数据中转设备,包括处理器以及与处理器耦接的通信电路和存储器,其中,处理器用于执行存储器存储的计算机程序以结合通信电路执行上述第一方面的数据获取方法。
因此,能够为数据请求侧向数据提供侧获取数据,实现不同平台之间的数据获取。而且,在获得数据获取请求后,从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式,使得被获取数据的目标数据提供侧与数据获取方式一一对应,实现向目标数据提供侧获取目标数据,故可为不同数据提供侧配置不同的数据获取方式实现不同数据提供侧的数据获取,即可兼容多种数据获取方式,从而实现为数据请求侧获取多个数据提供侧的数据。
为解决上述问题,本申请第六方面提供了一种平台服务器,包括处理器以及与处理器耦接的通信电路和存储器,其中,处理器用于执行存储器存储的计算机程序以结合通信电路执行上述第二方面的数据获取方法。
因此,第一平台在需要获取第二平台的目标数据时,通过数据中转平台从第二平台获取目标数据,故实现不同平台之间的数据获取。
为解决上述问题,本申请第七方面提供了一种数据共享系统,包括数据中转设备以及分别与数据中转设备连接的第一平台服务器和至少一个第二平台服务器;其中,数据中转设备为上述第五方面的设备,第一平台服务器为上述第六方面的服务器,以实现第一平台服务器通过数据中转设备获取第二平台服务器的用户数据。
因此,能够通过数据中转设备为第一平台服务器向第二平台服务器获取数据,实现不同平台之间的数据获取。而且,能够为不同的第二平台服务器配置不同的数据获取方式实现不同第二平台的数据获取,即可兼容多种数据获取方式,从而实现为第一平台服务器获取不同的第二平台服务器的数据。
为解决上述问题,本申请第八方面提供了一种存储装置,存储有能够被处理器运行以实现上述第一方面和/或第二方面的数据获取方法的计算机程序。
因此,作为不同平台的数据请求侧和数据提供侧,数据请求侧可通过数据中转平台获取数据提供侧的数据,故可实现不同平台之间的数据获取。
附图说明
图1是本申请数据获取方法一实施例的流程示意图;
图2是本申请数据获取方法另一实施例的流程示意图;
图3是本申请数据获取方法再一实施例的流程示意图;
图4是本申请数据获取装置一实施例的结构示意图;
图5是本申请数据获取装置另一实施例的结构示意图;
图6是本申请数据中转设备一实施例的框架示意图;
图7是本申请平台服务器一实施例的框架示意图;
图8是本申请数据共享系统一实施例的框架示意图;
图9是本申请存储装置一实施例的框架示意图;
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
请参阅图1,图1是本申请数据获取方法一实施例的流程示意图。具体而言,本公开实施例方法包括以下步骤:
步骤S101:获取数据获取请求。
数据获取请求用于请求获取目标数据提供侧的目标数据,该目标数据用于提供给数据请求侧。其中,目标数据提供侧与数据请求侧属于不同的平台,如不同的教育平台。例如,数据请求侧为一在线教育平台,数据提供侧为一第三方教育平台。
目标数据可以为数据提供侧中的任意数据,在一些实施例中,该目标数据可以是目标用户的数据,目标数据可因目标数据提供侧的平台类型不同而有所差异。平台类型不作任何限定,例如,教育平台、政务平台和法律咨询平台等。在一具体应用中,数据请求侧和目标数据提供侧属于不同教育平台时,目标数据是目标用户的数据可理解为:目标用户可以是学生、老师等,目标用户的数据包括用户名称、课程、班级、学校等。
本公开实施例方法的执行主体为数据中转设备(即用于支持运行数据中转平台的设备),其实现目标数据提供侧与数据请求侧两者之间的交互。具体地,该数据中转设备可以为服务器、终端设备等硬件设备,或者为执行特定计算机程序的处理器等。可以理解的是,本申请的数据中转设备和该数据请求侧可为不同设备,或者由同一设备实现。
该数据获取请求可以为数据中转设备主动生成或由数据请求侧生成。例如,数据中转设备在自身检测到预设条件(如预定时间)时生成数据获取请求,进而执行下述步骤以获得目标数据,数据中转设备保存该目标数据,以后续在数据请求侧需要获取该目标数据时直接向数据中转设备获取该保存的目标数据,由此提前为数据请求侧准备数据,可减少数据请求侧的数据获取时间。又例如,由数据请求侧在需要获取目标数据时生成数据获取请求,数据中转设备获得该数据获取请求后执行下述步骤以获得目标数据,进而将该目标数据反馈给数据请求侧,由此直接在数据请求侧有需求时执行本公开实施例以获得目标数据,数据中转设备不预先获取并保存数据,可减低对数据中转设备的存储空间需求。在由数据请求侧生成数据获取请求的具体应用中,数据中转设备对数据获取请求的获取方式包括预设通信接口等,也即,数据中转设备可通过预设通信接口接收到数据请求侧的数据获取请求。该预设通信接口可以为标准且通用的数据接口,具体可以根据数据请求侧的设备确定。
步骤S102:从预存的多种数据获取方式中,选择与所述目标数据提供侧关联的数据获取方式。
多种数据获取方式包括预设通信接口方式、运行SQL(Structured QueryLanguage,结构化查询语言)脚本方式和运行预存代码方式中的至少一种。其中,预设通信接口方式可以包括HTTP(HyperText Transfer Protocol,超文本传输协议)接口方式、RPC(Remote Procedure Call,远程过程调用)接口方式中的至少一种,当然还可以为其余网络通信接口;预存代码包括但不限于包括Java(一种面向对象编程语言)代码、Lua(一种轻量小巧的脚本语言)代码、JavaScrip(具有函数优先的轻量级,解释型或即时编译型的编程语言)t代码和Groovy(一种基于Java虚拟机的敏捷开发语言)代码中的至少一种。
不同目标数据提供侧对应的数据获取方式不同,因此,数据获取过程中,需选择与目标数据提供侧关联的数据获取方式。例如,在本步骤S102之前获取并保存用户输入的数据提供侧所需的数据获取方式。在一些实施例中,在本步骤S102之前,所述方法还包括:获取用户输入的一数据提供侧所需的数据获取方式;建立该数据提供侧与其所需的数据获取方式之间的关联关系,并将数据获取方式和关联关系保存作为配置信息。若需从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式,则从配置信息中,查找出与目标数据提供侧具有关联关系的数据获取方式即可。当然,在另一公开实施例中,该数据获取方式也可不是由用户输入,而是由其他设备导入,例如,由数据提供侧所在的设备、数据请求侧所在的设备或者为预设用户如管理员在其他终端设备输入后导入至该数据中转设备上的,故在此不作任何限定。
具体地,数据中转设备可提供给管理员输入数据获取方式的接口,例如管理员可在数据中转设备的后台操作界面输入相应数据获取方式。其中,在数据获取方式为预设通信接口方式的情况下,获取用户输入的一数据提供侧所需的预设通信接口信息;在数据获取方式为运行SQL脚本方式的情况下,获取用户输入的一数据提供侧所需的SQL脚本;在数据获取方式为运行预存代码方式的情况下,获取用户输入的一数据提供侧所需的代码。数据中转设备在接收到上述用户输入的数据获取方式,可将上述用户输入的数据获取方式保存作为配置信息。
上述配置信息可以存储于数据中转设备关联的数据库中。例如,该数据库包含至少一个表,以用于存入配置信息。数据库的表可包括目标数据提供侧名称、目标数据提供侧的地址信息和数据获取方式等,在此不作任何限定。
在一具体应用中,与数据中转设备连接的数据库设备(如数据库服务器)预先搭建数据库,并通过初始化SQL脚本,创建数据库的表,以用于存入数据中转设备所需要的配置信息。当然,该数据库也可直接设于数据中转设备中,即直接由数据中转设备进行上述数据库的搭建以及相关表的创建。数据中转设备为了提供数据请求侧与目标数据提供侧之间的数据中转服务,需安装运行环境,并配置数据库参数,以运行数据中转平台,实现数据请求侧和目标数据侧之间的数据获取。其中,若该数据中转平台由Java代码实现,即该运行环境为Java运行环境,例如,为Java语言的软件开发工具包JDK(Java Development Kit,Java开发套件)。数据库参数包括但不限于用于存储配置信息数据库的地址,通过该用于存储配置信息数据库的地址,即可访问存储有配置信息的数据库,进而获取到数据库中的数据提供侧关联的数据获取方式。
上述多种数据获取方式均已预先存储,并且由于不同的目标数据提供侧拥有不同的底层数据模型设计,因而,目标数据提供侧进行数据传输时的数据获取方式不同。为了能够适配于不同的目标数据提供侧,可预先存储数据提供侧与其所需的数据获取方式,当识别数据提供侧后,即可快速获知其对应的数据获取方式,以提高数据获取的效率。
步骤S103:采用所述选择的数据获取方式,从所述目标数据提供侧获取所述目标数据。
针对目标数据提供侧,确定其所需的数据获取方式后,即可从目标数据提供侧获取目标数据。
在数据获取方式为预设通信接口方式的情况下,利用预设通信接口,向目标数据提供侧发送数据查询请求,并接收目标数据提供侧反馈的数据查询结果;以及利用预存通信接口模板从数据查询结果中识别并提取关键字段内容,得到目标数据。
预设通信接口为目标数据提供侧所支持的接口,故可用于数据中转设备与目标数据提供侧的数据交互。数据中转设备通过预设通信接口能够生成目标数据提供侧能够解读的数据查询请求,目标数据提供侧利用其对应的预设通信接口解析并执行数据查询请求,以获得并向数据中转设备发送数据查询结果;数据中转设备通过预设通信接口接收目标数据提供侧反馈的数据查询结果后进行数据解析。
预存通信接口模板用于预先定义对应通信接口接收到的数据查询结果中的关键字段,以实现正确解析数据查询结果得到目标数据,如定义关键字段username表示姓名,定义class表示班级等。例如,在线教育平台向数据中转设备发送数据获取请求,以请求获取第三方教育平台中关于用户ID为12314的用户数据,数据中转设备确定该第三方教育平台对应的数据获取方式为HTTP接口方式,故生成并向第三方教育平台发送HTTP请求,该HTTP请求中包含URL:http://exchange.study.com/userInfo/12314,第三方教育平台查询用户ID为12314的用户数据,并返回包含数据查询结果的响应报文如下:
数据中转平台利用对应的HTTP接口模板,从上述响应报文中提取关键字段“name”的内容“张三”作为用户姓名;关键字段“age”的内容“18”作为用户年龄;关键字段“gradeId”的内容“g123123”作为用户的班级ID;关键字段“gradeName”的内容“高一一班”作为用户班级;关键字段“schoolId”的内容“s3243243”作为用户学校ID;关键字段“schoolId”的内容“幸福中学”作为用户学校名称;关键字段“role”的内容“STUDENT”作为用户角色为学生。由此数据中转设备将上述解析得到的用户数据发送给在线教育平台,在线教育平台即获得用户ID为12314的上述用户数据。
在数据获取方式为运行预存代码方式的情况下,运行预存代码,以实现以下内容:生成并向目标数据提供侧发送数据查询请求,并接收目标数据提供侧反馈的数据查询结果,对数据查询结果进行解析得到目标数据。对于采用一些非标准接口的数据提供侧,数据中转设备无法直接与该数据提供侧进行数据交互。故可通过由用户输入相应代码,并运行该代码实现与数据提供侧进行数据交互。在一些实施例中,数据中转设备可在Java运行环境中,对该预存代码进行编译执行。其中,运行预存代码时,可利用Java运行环境中的预设工具编译并执行预存代码,即针对Java代码、Lua代码、JavaScript代码和Groovy代码等不同代码,可采用对应的工具进行编译执行。具体地,对于Java代码,可采用JavaCompiler进行动态编译代码,实时编译Java代码片段;对于JavaScript和Groovy代码,可采用criptEngineManager类实现编译执行;对于Lua代码,可采用LuaJ工具实现编译执行。
上述运行预存代码方式,可支持在线编辑代码获取目标数据提供侧的目标数据,并且针对不同应用场景和数据查询内容编写具体的业务代码,灵活兼容多种类型的目标数据提供侧。此外,预存代码可采用Java代码、Lua代码、JavaScript代码和Groovy代码等,支持多语言在线编辑的代码生成。即使数据中转设备并无目标数据提供侧对应的接口配置,由于预存代码方式的自定义编码,仍能实现与目标数据提供侧的目标数据获取。
在数据获取方式为运行SQL脚本方式的情况下,运行SQL脚本以生成数据查询请求;向目标数据提供侧发送数据查询请求,并接收目标数据提供侧反馈的数据查询结果;以及基于数据查询结果,获得目标数据。SQL脚本用于创建数据库对象的语句的集合,可对数据库进行访问。上述预设通信接口方式和运行预存代码方式可直接与相应平台进行数据获取,例如,直接与第三方教育平台交互,以由该第三方教育平台从其用户数据库获取对应的用户数据并返回该数据中转设备。在一些实施例中,数据中转设备也可直接向平台的数据库交互,例如,通过运行SQL脚本方式向该第三方教育平台的用户数据库查询对应用户数据并由该用户数据库返回该用户数据。例如,在线教育平台向数据中转设备发送数据获取请求,以请求获取第三方教育平台中关于用户ID为12314的用户数据,数据中转设备确定该数据提供侧为第三方教育平台的用户数据库,故其对应的数据获取方式为运行SQL方式,故运行相应SQL脚本:“select name,age,gradeId,gradeName,schoolId,schoolName,rolefrom user where id=12314”,以生成并向第三方教育平台的用户数据库发送数据查询请求,第三方教育平台的用户数据库查询用户ID为12314的用户数据,并返回数据查询结果如下:“张三,18,g123123,高一一班,s3243243,幸福中学,STUDENT”,由此数据中转设备将上述返回的用户数据发送给在线教育平台,在线教育平台即获得用户ID为12314的上述用户数据。
值得注意的是,上述数据请求侧可以为一平台设备,该平台设备和数据中转设备可为同一设备(如服务器)上,也可属于不同设备;上述数据提供侧可以为另一平台服务器,或者为另一平台的数据库所在的设备,在此不作限定。
通过上述方式,作为不同平台的数据请求侧和数据提供侧,数据请求侧可通过数据中转平台获取数据提供侧的数据,故可实现不同平台之间的数据获取。而且,数据中转平台接收来自数据请求侧的数据获取请求后,从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式,使得被获取数据的目标数据提供侧与数据获取方式一一对应,实现向目标数据提供侧获取目标数据,故可为不同数据提供侧配置不同的数据获取方式实现不同数据提供侧的数据获取,即数据中转平台可兼容多种数据获取方式,从而实现数据请求侧获取多个数据提供侧的数据。
可以理解的是,数据中转设备除了用于实现数据请求侧与数据提供侧之间的目标数据获取外,还可用于进行数据请求侧与数据提供侧之间其他的任意信息交互。如在一公开实施例中,该获取方法除包含执行上述步骤外,还包括将来自所述数据请求侧的验证请求发送给所述数据提供侧,其中,所述验证请求用于请求验证目标用户是否在所述数据提供侧登录;接收所述数据提供侧的验证结果,并反馈给所述数据请求侧。由此,能够实现数据请求侧与数据提供侧之间的用户登录验证。其中,数据中转设备与数据请求侧和数据提供侧之间的交互方式可参考上面描述,例如可获取与数据提供侧关联的获取方式,如为一预设通信接口方式,则利用该通信接口方式将验证请求发送给数据提供侧并接收数据提供侧反馈的验证结果,利用预设通信接口模板对验证结果进行识别得到结果内容,进而反馈给数据请求侧。
另外,数据请求侧在收到该验证结果后,若确定目标用户已在数据提供侧登录,则可以直接确定目标用户在自身平台也完成登录,无需用户重复登录,提高了平台登录效率。上述目标数据可以为该目标用户的数据,在数据请求侧确定目标用户已在数据提供侧登录之后,再执行上述步骤S101至S103以向数据提供侧获取该目标用户的数据,进而可根据该目标用户的数据进行相应处理,例如为目标用户提供与之匹配的可访问内容等。
请参阅图2,图2是本申请数据获取方法另一实施例的流程示意图。具体而言,本公开实施例方法包括以下步骤:
步骤S201:第一平台检测到存在对目标数据的获取需求。
本公开实施例中,第一平台可根据实际情况设定自身何时存在对目标数据的获取需求。例如,第一平台在接收到用户对目标数据的获取指令时,确定当前存在对目标数据的获取需求;又例如,第一平台也存有该目标数据,故检测到自身存储的目标数据出错时,确定当前存在对目标数据的获取需求;又例如,第一平台可定期获取目标数据,故检测到当前已到达预先设定时间时,确定当前存在对目标数据的获取需求。再例如,第一平台需要在用户访问时获取用户数据,故第一平台可在接收到用户的访问请求时,确定当前存在对目标数据的获取需求。故在此不对第一平台检测到存在获取需求的触发事件或触发时间进行具体限定。
步骤S202:通过数据中转平台从所述第二平台获取所述目标数据。
本公开实施例中,第一平台与第二平台为不同的两个平台,但平台类型不作限定,例如教育平台、政务平台等。在一具体应用中,第一平台为一在线编程教育平台,第二平台为第三方教育平台如教育局或学校提供的信息化教育平台。
数据中转平台、第一平台、第二平台为不同的平台,以用于分别实现对应平台的功能。具体地,用于运行数据中转平台、第一平台、第二平台的设备均可以为服务器、终端设备等硬件设备,或者为执行特定计算机程序的处理器等。另外,该数据中转平台和第一平台可由同一设备实现或分别由不同设备实现,在此不做限定。
第一平台检测到当前存在对目标数据的获取需求,则通过数据中转平台从第二平台获取所述目标数据,由此,在第一平台有需求时执行本公开实施例以获得目标数据。具体地,本步骤可具体包括第一平台向数据中转平台发送数据获取请求,以使数据中转平台响应该数据获取请求而从第二平台获取目标数据,或者以使数据中转平台响应数据获取请求从本地获取目标数据,其中,该目标数据为数据中转平台预先从第二平台中获取的。
针对于不同平台可能其获取方式有所不同,为实现第一平台可向不同第二平台获得数据,数据中转平台可预先配置多种获取方式,进而选择与目标数据所在的第二平台匹配的获取方式来获取数据,具体获取过程可参阅上述实施例的描述,在此不做赘述。当然,若第二平台的获取方式统一,则数据中转平台无需配置多种获取方式,直接通过统一方式来向第二平台获取数据。
通过上述方式,第一平台在检测到存在对目标数据的获取需求,通过数据中转平台从第二平台获取目标数据,故实现不同平台之间的数据获取。
请参阅图3,图3是本申请数据获取方法再一实施例的流程示意图。具体而言,本公开实施例方法包括以下步骤:
步骤S301:第一平台接收用户的访问请求;其中,所述访问请求是在所述用户访问第二平台时生成的。
平台访问时,需进行用户首次注册或用户登录。例如,用户访问一平台时,需进行账号和密码认证、人脸识别、指纹识别等登录操作,以使该平台检测到账号与密码均正确、人脸配成成功、指纹匹配成功后完成登录认证,并为该用户提供对应的可访问内容。
本公开实施例中,第一平台与第二平台为不同的两个平台,但平台类型不作限定,例如教育平台、政务平台等。在一具体应用中,第一平台为一在线编程教育平台,第二平台为第三方教育平台如教育局或学校提供的信息化教育平台。触发访问第一平台的路径不作限定,可以为用户在访问第二平台过程中的任意时刻发生的。例如,用户通过其设备登录第二平台后,第二平台提供第一平台的入口链接;用户通过点击设备上显示的第一平台的链接,用户设备即发送访问请求至第一平台。
访问请求是在用户访问第二平台时生成,其包含对应第二平台的标识信息和该用户信息,例如访问请求包括第二平台地址和第二平台为该登录用户生成的第一密钥,以使第一平台可利用第二平台地址确定用户所来自的第二平台,进而向该第二平台验证该用户是否登录并获取该用户信息。
步骤S303:基于所述访问请求验证所述用户是否已在所述第二平台登录。
例如,第一平台基于访问请求向第二平台发送验证请求,而第二平台判断用户是否在第二平台登录,从而反馈验证结果给第一平台。其中,该验证请求可以由第一平台直接发送给第二平台,且第二平台直接将验证结果反馈给第一平台;或者第一平台通过数据中转平台将验证请求转发给第二平台,第二平台通过数据中转平台将验证结果反馈给第一平台,其中数据中转平台与第一平台和第二平台之间的交互方式可参考上述实施例的相关描述,在此不做赘述。
在一实施例中,访问请求包括第二平台地址和第一密钥,本步骤S303可具体包括:基于第二平台地址,向第二平台发送包含第一密钥的验证请求,以请求验证第一密钥与第二平台在用户成功登录第二平台时生成的第二密钥是否匹配;接收第二平台反馈对第一密钥的验证结果;若验证结果为第一密钥和第二密钥匹配,则确定用户已在第二平台登录。也即,第一平台从访问请求中获得第一密钥,第二平台在确认用户成功登录时生成第二密钥。第一平台通过访问请求中的第二平台地址发送第一密钥给第二平台,而第二平台获取第一密钥后匹配第一密钥和第二密钥,检测到两者匹配成功,则确定该用户已在第二平台登录。
上述第二平台反馈的验证结果可包括用于表示该用户是否已登录的结果字段。在一些实施例中,当该用户已在第二平台登录时,第二平台反馈的验证结果除包括上述结果字段以外,还可包括该用户的ID,以使第一平台可利用该ID通过数据中转平台向第二平台查询得到与该ID匹配的用户数据。当然,第二平台反馈的验证结果也可以只包含用户ID,即,若验证结果包含用户ID,则表示用户已登录,否则未登录。
可以理解的是,由第一平台向第二平台请求验证用户是否已在第二平台登录时,第一平台与第二平台之间的交互可以是第一平台与第二平台之间直接进行数据交互,或者,通过数据中转平台实现第一平台与第二平台之间的数据交互,在此不作限定。
步骤S303:若是,则确定存在对所述目标数据的获取需求数据。
其中,目标数据可以为该用户的数据,具体进而包括用户名称、课程、班级、学校等。
在一些实施例中,第一平台还可根据用户在第二平台的登录状态对应完成本平台的登录。例如,若用户已在第二平台登录,第一平台可确定用户在第一平台登录成功。由此,用户仅需在第二平台登录认证成功,在第二平台获取第一平台的访问路径并触发,即可直接登录第一平台,无需再次进行第一平台的登录认证。此外,用户可从第一平台返回第二平台,实现不同平台的来回切换。第一平台和第二平台的访问不会彼此影响,用户可在两平台间自由切换。例如,用户在其设备上的一网页上登录第二平台后,点击该网页上提供的第一平台的入口链接,用户设备显示另一网页来打开并自动登录第一平台,用户可直接点选对应网页来访问对应平台,实现来回切换访问互不影响。
步骤S304:通过数据中转平台从所述第二平台获取目标数据。
本公开实施例中,若用户已在第二平台登录,则确定存在对用户数据的获取需求数据,故第一平台向数据中转平台发送数据获取请求,以使数据中转平台采用与第二平台关联的数据获取方式,从第二平台获取用户的数据。例如,以用户的数据作为目标数据,数据中转平台接收来自第一平台的数据获取请求,其中,数据获取请求用于请求获取第二平台的目标数据,且目标数据用于提供给第一平台;从预存的多种数据获取方式中,选择与第二平台关联的数据获取方式;采用选择的数据获取方式,从第二平台获取目标数据。具体地,第一平台作为上述数据请求侧,第二平台作为上述数据提供侧,数据中转平台可采用上述数据获取方法实施例的步骤来获取得到第二平台的数据。
其中,若上述第二平台反馈的验证结果包括用户ID,则第一平台可将包含用户ID的数据获取请求通过数据中转设备发送至第二平台,以从第二平台获取用户的数据。
第一平台在通过数据中转平台从第二平台获取用户的数据之后,可基于用户的数据,确定用户在第一平台上的可访问内容。例如,第一平台和第二平台为不同的两个教育平台时,用户的数据包括姓名、学校、班级、角色(例如为学生或老师等)中的至少一种;可访问内容包括可上课课程、可授课课程中的至少一种。可以理解的,不同用户的数据,对应的可访问内容可能相同或不同,例如,若第一平台登录用户为初一一班的学生,则仅提供该初一一班的在线上课课程以及初一一班的互动模块,以使学生与同班同学可一起参加该在线上课课程和进行互动;若第一平台的登录用户为初二一班和初二四班的老师,则提供该初二一班和初二四班的在线授课课程和在线答疑模块,以使该老师可对相应班级同学进行授课并进行答疑。由此,可实现班级实时互动、老师在线答疑等功能,在此不作限定。
可以理解的是,上述第一平台与第二平台所执行的步骤可以为相应平台设备所执行的步骤,例如上述方法中第一平台相关步骤由第一平台服务器执行、数据中转平台相关步骤由数据中转设备执行,第二平台相关步骤由第二平台服务器执行。另外,第一平台与数据中转平台可属于同一服务器上,亦可以不在同一服务器上,在此不作限定。当第一平台与数据中转平台分属于不同服务器时,两者可通过通用标准接口连接,第一平台可配置接入数据中转平台的地址和接口号等,以此通过该接口与数据中转平台进行数据交互。为进一步理解本申请的技术方案,以下为一具体应用举例:
第一平台为在线编程教育平台(也可称为在线编程教育系统),该平台内可实现实时在线学习和授课等;第二平台为深圳中学的教育平台;数据中转平台也可称为UserDataExchange,该UserDataExchange为可实现上述数据获取方法的软件产品。用户为学生张三,其登录深圳中学的教育平台后,触发在深圳中学的教育平台中显示的在线编程教育平台的入口链接,从而直接免登录地进入在线编程教育平台。此时,张三所用设备将发送访问请求给在线编程教育平台,该访问请求包括深圳中学的教育平台的地址和第一密钥。在线编程教育平台接收到张三的访问请求后,通过深圳中学的教育平台的地址发送第一密钥给深圳中学的教育平台,以使深圳中学的教育平台匹配第一密钥和张三成功登录深圳中学的教育平台时生成的第二密钥。深圳中学的教育平台确定张三成功登录深圳中学的教育平台后,反馈张三的ID给在线编程教育平台。在线编程教育平台接收到张三的ID,确定张三成功登录深圳中学的教育平台,从而通过数据中转平台向深圳中学的教育平台获取用户的数据。在线编程教育平台通过数据中转平台向深圳中学的教育平台获取用户的数据时,数据中转平台从预存的多种数据获取方式中,选择与深圳中学的教育平台关联的预设通信接口方式为HTTP接口方式,该HTTP接口方式为深圳中学的教育平台关联的数据获取方式,从而利用HTTP接口,向深圳中学的教育平台发送数据查询请求,并接收深圳中学的教育平台反馈的数据查询结果;以及利用对应HTTP接口的预存通信接口模板从数据查询结果中识别并提取关键字段内容,得到张三的姓名、学校、班级等用户的数据,以及可上课课程等可访问内容。
本公开实施例中,第一平台接收用户访问第二平台时生成的访问请求;基于访问请求验证用户是否已在第二平台登录;在确定用户已在第二平台登录后,则确定存在对所述目标数据的获取需求数据,进而通过数据中转平台向第二平台获取用户的数据,从而实现不同平台之间的数据获取。第一平台在接收到用户的访问请求时,若确定用户已在第二平台登录,则第一平台作为数据请求侧且第二平台作为数据提供侧,第一平台通过数据中转平台直接从第二平台获取所述用户的数据,即第一平台在用户访问时,主动向第二平台查询用户数据,实现获取用户的最新数据,相比于线下定时同步数据,本公开实施例方法提高数据获取的实时性和准确性。
为实现不同平台之间的数据获取,本申请第一平台可主动查询第二平台的数据,实时获取用户的最新数据,实时性更高。相较于传统定期同步不同平台之间的数据,且同步方法为拷贝、全量同步、增量同步等,本申请的方法无需平台做任何功能更改,配置简单,且实时主动查询数据,可减少由于数据同步滞后而导致不同平台信息不一致的情况,提高数据获取的准确性和效率。
请参阅图4,图4是本申请数据获取装置一实施例的结构示意图。具体而言,本公开实施例中,数据获取装置40包括:第一获取模块41、选择模块42和第二获取模块43。其中,第一获取模块41,用于接收来自数据请求侧的数据获取请求,其中,数据获取请求用于请求获取目标数据提供侧的目标数据,数据请求侧和目标数据提供侧属于不同的平台;选择模块42,用于从预存的多种数据获取方式中,选择与目标数据提供侧关联的数据获取方式;第二获取模块43,用于采用选择的数据获取方式,向目标数据提供侧获取目标数据。
本公开实施例中,选择模块42所选择的多种数据获取方式包括预设通信接口方式、运行SQL脚本方式和运行预存代码方式中的至少一种。预设通信接口方式包括HTTP接口方式、RPC接口方式中的至少一种,所述预存代码包括Java代码、Lua代码、JavaScript代码和Groovy代码中的至少一种。
第一获取模块41包括获取单元和保存单元。其中,获取单元用于获取用户输入的一数据提供侧所需的数据获取方式;保存单元用于建立所述数据提供侧与其所需的数据获取方式之间的关联关系,并将数据获取方式和所述关联关系保存作为配置信息,并且选择模块42还用于从所述配置信息中,查找出与所述目标数据提供侧具有关联关系的数据获取方式。在一公开实施例中,获取单元用于在所述数据获取方式为预设通信接口方式的情况下,获取用户输入的一数据提供侧所需的预设通信接口信息;用于在所述数据获取方式为运行SQL脚本方式的情况下,获取用户输入的一数据提供侧所需的SQL脚本;还用于在所述数据获取方式为运行预存代码方式的情况下,获取用户输入的一数据提供侧所需的代码。并且保存单元还用于将数据获取方式和所述关联关系作为配置信息保存在预设数据库中。
在一公开实施例中,第二获取模块43还用于在所述数据获取方式为预设通信接口方式的情况下,利用预设通信接口,向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果;以及利用预存通信接口模板从所述数据查询结果中识别并提取关键字段内容,得到所述目标数据;还用于在所述数据获取方式为运行SQL脚本方式的情况下,运行SQL脚本以生成数据查询请求;向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果;以及基于所述数据查询结果,获得所述目标数据;还用于在所述数据获取方式为运行预存代码方式的情况下,运行所述预存代码,以实现生成并向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果,对所述数据查询结果进行解析得到目标数据。
在一公开实施例中,第一获取模块41用于通过预设通信接口接收到所述数据请求侧的数据获取请求。第一获取模块41还用于检测到满足预设条件时,生成数据获取请求。其中,所述数据请求侧和目标数据提供侧属于不同教育平台,所述目标数据为目标用户的数据。
请参阅图5,图5是本申请数据获取装置另一实施例的结构示意图。具体而言,本公开实施例中,数据获取装置50包括:检测模块51、获取模块52。其中,检测模块51用于检测到存在对目标数据的获取需求;获取模块52用于通过数据中转平台从所述第二平台获取所述目标数据。
检测模块51包括接收单元、验证单元和确定单元。其中,接收单元,用于接收用户的访问请求;其中,访问请求是在用户访问第二平台时生成的;验证单元,用于基于访问请求验证用户是否已在第二平台登录;确定单元,用于在验证用户已在第二平台登录时,确定存在对所述目标数据的获取需求。
检测模块51的确定单元还用于在确定存在对所述目标数据的获取需求之后,基于所述用户的数据,确定所述用户在所述第一平台上的可访问内容。
在一公开实施例中,第一平台和第二平台为不同的两个教育平台,所述用户的数据包括姓名、学校、班级、角色中的至少一种;所述可访问内容包括可上课课程、可授课课程中的至少一种。
在一公开实施例中,访问请求包括第二平台地址和第一密钥检测模块51的验证单元还用于基于所述第二平台地址,向所述第二平台发送包含所述第一密钥的验证请求,以请求验证所述第一密钥与所述第二平台在所述用户成功登录所述第二平台时生成的第二密钥是否匹配;接收所述第二平台反馈对所述第一密钥的验证结果;若所述验证结果为所述第一密钥和所述第二密钥匹配,则确定所述用户已在所述第二平台登录。
在一公开实施例中,获取模块52还用于向所述数据中转平台发送数据获取请求,以使所述数据中转平台采用与所述第二平台关联的数据获取方式,从所述第二平台获取所述目标数据。
上述公开实施例中数据获取装置的各模块的功能可参阅上述方法实施例的相关步骤,在此不做赘述。
请参阅图6,图6为本申请数据中转设备一实施例的框架示意图。具体而言,本公开实施例中数据中转设备60包括处理器61以及与处理器61耦接的通信电路62和存储器63,其中,处理器61用于执行存储器63存储的计算机程序以结合通信电路62执行上述数据获取方法任一实施例的步骤。
请参阅图7,图7为本申请平台服务器一实施例的框架示意图。具体而言,本公开实施例中平台服务器70包括处理器71以及与处理器71耦接的通信电路72和存储器73,其中,处理器71用于执行存储器73存储的计算机程序以结合通信电路72执行上述数据获取方法任一实施例的步骤。
上述数据中转设备实施例和平台服务器实施例中的处理器还可以称为CPU(Central Processing Unit,中央处理单元)。处理器可能是一种集成电路芯片,具有信号的处理能力。处理器还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器可以由多个成电路芯片共同实现。
请参阅图8,图8为本申请数据共享系统一实施例的框架示意图。具体而言,本公开实施例中数据共享系统80包括数据中转设备81以及分别与数据中转设备81连接的第一平台服务器82和至少一个第二平台服务器83,如图8所示,本公开实施例包括三个第二平台服务器83;其中,数据中转设备81为上述数据中转设备实施例,第一平台服务器82为上述平台服务器实施例,以实现第一平台服务器82通过数据中转设备81获取第二平台服务器的用户数据。
请参阅图9,图9为本申请存储装置90一实施例的框架示意图。本申请存储装置90存储有能够被处理器运行的程序指令901,程序指令901用于实现上述任一方法实施例中步骤。
该存储装置90具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序指令901的介质,或者也可以为存储有该程序指令901的服务器,该服务器可将存储的程序指令901发送给其他设备运行,或者也可以自运行该存储的程序指令901。
本公开实施例还提供了一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的方法的操作。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (20)
1.一种数据获取方法,其特征在于,包括:
获取数据获取请求,其中,所述数据获取请求用于请求获取目标数据提供侧的目标数据,且所述目标数据用于提供给数据请求侧,所述数据请求侧和目标数据提供侧属于不同的平台;
从预存的多种数据获取方式中,选择与所述目标数据提供侧关联的数据获取方式;
采用所述选择的数据获取方式,从所述目标数据提供侧获取所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述多种数据获取方式包括预设通信接口方式、运行SQL脚本方式和运行预存代码方式中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述预设通信接口方式包括HTTP接口方式、RPC接口方式中的至少一种,所述预存代码包括Java代码、Lua代码、JavaScript代码和Groovy代码中的至少一种。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取用户输入的一数据提供侧所需的数据获取方式;
建立所述数据提供侧与其所需的数据获取方式之间的关联关系,并将数据获取方式和所述关联关系保存作为配置信息;
所述从预存的多种数据获取方式中,选择与所述目标数据提供侧关联的数据获取方式,包括:
从所述配置信息中,查找出与所述目标数据提供侧具有关联关系的数据获取方式。
5.根据权利要求4所述的方法,其特征在于,所述获取用户输入的一数据提供侧所需的数据获取方式,包括:
在所述数据获取方式为预设通信接口方式的情况下,获取用户输入的一数据提供侧所需的预设通信接口信息;
在所述数据获取方式为运行SQL脚本方式的情况下,获取用户输入的一数据提供侧所需的SQL脚本;
在所述数据获取方式为运行预存代码方式的情况下,获取用户输入的一数据提供侧所需的代码;
所述将数据获取方式和所述关联关系保存作为配置信息,包括:
将数据获取方式和所述关联关系作为配置信息保存在预设数据库中。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述采用所述选择的数据获取方式,从所述目标数据提供侧获取所述目标数据,包括:
在所述数据获取方式为预设通信接口方式的情况下,利用预设通信接口,向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果;以及利用预存通信接口模板从所述数据查询结果中识别并提取关键字段内容,得到所述目标数据;
在所述数据获取方式为运行SQL脚本方式的情况下,运行SQL脚本以生成数据查询请求;向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果;以及基于所述数据查询结果,获得所述目标数据;
在所述数据获取方式为运行预存代码方式的情况下,运行所述预存代码,以实现生成并向所述目标数据提供侧发送数据查询请求,并接收所述目标数据提供侧反馈的数据查询结果,对所述数据查询结果进行解析得到目标数据。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述获取数据获取请求,包括:
通过预设通信接口接收到所述数据请求侧的数据获取请求;或者,检测到满足预设条件时,生成数据获取请求。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
将来自所述数据请求侧的验证请求发送给所述数据提供侧,其中,所述验证请求用于请求验证目标用户是否在所述数据提供侧登录;
接收所述数据提供侧的验证结果,并反馈给所述数据请求侧。
9.一种数据获取方法,其特征在于,包括:
第一平台检测到存在对目标数据的获取需求;
通过数据中转平台从所述第二平台获取所述目标数据。
10.根据权利要求9所述的方法,其特征在于,所述检测到存在对目标数据的获取需求,包括:
接收用户的访问请求;其中,所述访问请求是在所述用户访问第二平台时生成的;
基于所述访问请求验证所述用户是否已在所述第二平台登录;
若是,则确定存在对所述目标数据的获取需求,其中,所述目标数据为所述用户的数据。
11.根据权利要求10所述的方法,其特征在于,还包括:
若所述用户已在所述第二平台登录,则确定所述用户在所述第一平台登录成功;
和/或,在所述通过数据中转平台从所述第二平台获取所述目标数据之后,还包括:
基于所述用户的数据,确定所述用户在所述第一平台上的可访问内容。
12.根据权利要求11所述的方法,其特征在于,所述第一平台和第二平台为不同的两个教育平台,所述用户的数据包括姓名、学校、班级、角色中的至少一种;所述可访问内容包括可上课课程、可授课课程中的至少一种。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述访问请求包括第二平台地址和第一密钥;
所述基于所述访问请求验证所述用户是否已在所述第二平台登录,包括:
基于所述第二平台地址,向所述第二平台发送包含所述第一密钥的验证请求,以请求验证所述第一密钥与所述第二平台在所述用户成功登录所述第二平台时生成的第二密钥是否匹配;
接收所述第二平台反馈对所述第一密钥的验证结果;
若所述验证结果为所述第一密钥和所述第二密钥匹配,则确定所述用户已在所述第二平台登录。
14.根据权利要求9-13任一项所述的方法,其特征在于,所述通过数据中转平台从所述第二平台获取所述目标数据,包括:
向所述数据中转平台发送数据获取请求,以使所述数据中转平台采用与所述第二平台关联的数据获取方式,从所述第二平台获取所述目标数据。
15.一种数据获取装置,其特征在于,包括:
获取模块,用于获取数据获取请求,其中,所述数据获取请求用于请求获取目标数据提供侧的目标数据,且所述目标数据用于提供给数据请求侧,所述数据请求侧和目标数据提供侧属于不同的平台;
选择模块,用于从预存的多种数据获取方式中,选择与所述目标数据提供侧关联的数据获取方式;
获取模块,用于采用所述选择的数据获取方式,从所述目标数据提供侧获取所述目标数据。
16.一种数据获取装置,其特征在于,应用于第一平台,包括:
检测模块,用于检测到存在对目标数据的获取需求;
获取模块,用于通过数据中转平台从所述第二平台获取所述目标数据。
17.一种数据中转设备,其特征在于,包括处理器以及与所述处理器耦接的通信电路和存储器,其中,
所述处理器用于执行所述存储器存储的计算机程序以结合所述通信电路执行权利要求1至8任一项所述的方法。
18.一种平台服务器,其特征在于,包括处理器以及与所述处理器耦接的通信电路和存储器,其中,
所述处理器用于执行所述存储器存储的计算机程序以结合所述通信电路执行权利要求9至14任一项所述的方法。
19.一种数据共享系统,其特征在于,包括数据中转设备以及分别与所述数据中转设备连接的第一平台服务器和至少一个第二平台服务器;
其中,所述数据中转设备为权利要求17所述的设备,所述第一平台服务器为权利要求18所述的服务器,以实现所述第一平台服务器通过所述数据中转设备获取所述第二平台服务器的用户数据。
20.一种存储装置,其特征在于,存储有能够被处理器运行以实现如权利要求1-8中任一项所述数据获取方法的计算机程序;和/或,存储有能够被处理器运行以实现如权利要求9-14中任一项所述数据获取方法的计算机程序。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416897.5A CN111177632A (zh) | 2019-12-31 | 2019-12-31 | 数据获取方法及其相关设备、系统及存储装置 |
PCT/CN2020/076809 WO2021134873A1 (zh) | 2019-12-31 | 2020-02-26 | 数据获取方法及其相关设备、系统及存储装置 |
JP2021538376A JP2022518890A (ja) | 2019-12-31 | 2020-02-26 | データ取得方法及びその関連装置、システム、並びに記憶装置 |
KR1020217020202A KR20210113603A (ko) | 2019-12-31 | 2020-02-26 | 데이터 취득 방법 및 그 관련 장치, 시스템, 및 기억 장치 |
TW109113450A TWI819215B (zh) | 2019-12-31 | 2020-04-22 | 數據獲取方法、數據中轉設備、平台伺服器、數據共享系統、儲存裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911416897.5A CN111177632A (zh) | 2019-12-31 | 2019-12-31 | 数据获取方法及其相关设备、系统及存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177632A true CN111177632A (zh) | 2020-05-19 |
Family
ID=70657660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911416897.5A Pending CN111177632A (zh) | 2019-12-31 | 2019-12-31 | 数据获取方法及其相关设备、系统及存储装置 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2022518890A (zh) |
KR (1) | KR20210113603A (zh) |
CN (1) | CN111177632A (zh) |
TW (1) | TWI819215B (zh) |
WO (1) | WO2021134873A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767093A (zh) * | 2020-06-29 | 2020-10-13 | 北京字节跳动网络技术有限公司 | 数据处理方法、设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817300B (zh) * | 2021-12-28 | 2023-10-01 | 博盛半導體股份有限公司 | 金氧半場效電晶體品質管理整合系統及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212603A1 (en) * | 2012-02-10 | 2013-08-15 | Twilio, Inc. | System and method for managing concurrent events |
CN109697215A (zh) * | 2018-12-14 | 2019-04-30 | 安徽同徽网络技术有限公司 | 数据采集方法、数据采集系统和非易失性计算机存储介质 |
CN110196875A (zh) * | 2019-06-03 | 2019-09-03 | 山东浪潮通软信息科技有限公司 | 一种基于配置实现数据交互的方法 |
CN110309636A (zh) * | 2019-07-04 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种身份认证的方法和系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140956A (ja) * | 2001-10-30 | 2003-05-16 | Nec Corp | ファイル共有プロキシシステム及びファイル共有制御方法 |
US8386485B2 (en) * | 2008-07-31 | 2013-02-26 | George Mason Intellectual Properties, Inc. | Case-based framework for collaborative semantic search |
US20110072487A1 (en) * | 2009-09-23 | 2011-03-24 | Computer Associates Think, Inc. | System, Method, and Software for Providing Access Control Enforcement Capabilities in Cloud Computing Systems |
CN101789023A (zh) * | 2010-03-04 | 2010-07-28 | 浙江中医药大学 | 一种基于Web的食材信息发布管理系统及其发布管理方法 |
CN102111410B (zh) * | 2011-01-13 | 2013-07-03 | 中国科学院软件研究所 | 一种基于代理的单点登录方法及系统 |
JP5895415B2 (ja) * | 2011-09-19 | 2016-03-30 | 株式会社リコー | 通信システム、通信装置、プログラム及び割当装置 |
JP2013156713A (ja) * | 2012-01-27 | 2013-08-15 | Hitachi Consumer Electronics Co Ltd | 情報端末及び情報処理方法 |
CN102609657A (zh) * | 2012-02-11 | 2012-07-25 | 林福泉 | 射频识别的用户登录方法和装置 |
US9158785B1 (en) * | 2014-09-22 | 2015-10-13 | Edifire LLC | Managing and synchronizing content between a document sharing platform and an enterprise social platform |
CN107851261A (zh) * | 2015-04-03 | 2018-03-27 | 埃克斯凯利博Ip有限责任公司 | 用于提供相关广告的方法和系统 |
TWI624797B (zh) * | 2015-07-09 | 2018-05-21 | 南臺科技大學 | 跨平台雲端生產履歷查詢方法、系統及程式產品 |
WO2017049207A1 (en) * | 2015-09-17 | 2017-03-23 | Uptake Technologies, Inc. | Computer systems and methods for sharing asset-related information between data platforms over a network |
US20190236154A1 (en) * | 2018-01-26 | 2019-08-01 | Vmware, Inc. | Client side query model extensibility framework |
-
2019
- 2019-12-31 CN CN201911416897.5A patent/CN111177632A/zh active Pending
-
2020
- 2020-02-26 WO PCT/CN2020/076809 patent/WO2021134873A1/zh active Application Filing
- 2020-02-26 JP JP2021538376A patent/JP2022518890A/ja active Pending
- 2020-02-26 KR KR1020217020202A patent/KR20210113603A/ko not_active Application Discontinuation
- 2020-04-22 TW TW109113450A patent/TWI819215B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130212603A1 (en) * | 2012-02-10 | 2013-08-15 | Twilio, Inc. | System and method for managing concurrent events |
CN109697215A (zh) * | 2018-12-14 | 2019-04-30 | 安徽同徽网络技术有限公司 | 数据采集方法、数据采集系统和非易失性计算机存储介质 |
CN110196875A (zh) * | 2019-06-03 | 2019-09-03 | 山东浪潮通软信息科技有限公司 | 一种基于配置实现数据交互的方法 |
CN110309636A (zh) * | 2019-07-04 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种身份认证的方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767093A (zh) * | 2020-06-29 | 2020-10-13 | 北京字节跳动网络技术有限公司 | 数据处理方法、设备和存储介质 |
CN111767093B (zh) * | 2020-06-29 | 2023-08-08 | 抖音视界有限公司 | 数据处理方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
TWI819215B (zh) | 2023-10-21 |
JP2022518890A (ja) | 2022-03-17 |
KR20210113603A (ko) | 2021-09-16 |
TW202127329A (zh) | 2021-07-16 |
WO2021134873A1 (zh) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289275B2 (en) | Standard commands for native commands | |
CN111460356B (zh) | 一种自动登录方法、装置、介质和设备 | |
CN105099811A (zh) | 一种接口测试方法和装置 | |
US8239493B2 (en) | Automated server controlled client-side logging | |
US11363054B2 (en) | Apparatus and method for analyzing security vulnerabilities | |
CN112988599B (zh) | 一种页面调试方法、装置、电子设备和存储介质 | |
US20170017695A1 (en) | Question and answer information providing system, information processing device, and non-transitory computer-readable medium | |
CN112187585A (zh) | 网络协议测试方法及装置 | |
CN111177632A (zh) | 数据获取方法及其相关设备、系统及存储装置 | |
CN113722020A (zh) | 接口调用方法、装置和计算机可读存储介质 | |
CN107844712A (zh) | 一种浏览器共享凭证的方法、装置及计算机可读介质 | |
CN112269562B (zh) | 一种组件化产品中租户隔离的方法及终端 | |
CN106875765B (zh) | 一种基于vdi的电子教室实现方法及装置 | |
CN103577326A (zh) | Debug调试方法和装置 | |
CN110825370A (zh) | 移动端应用开发方法、装置及系统 | |
CN105721251B (zh) | 一种可配置测试桩服务的方法及系统 | |
JP2003058481A (ja) | 多言語チャットシステム | |
JP2023504956A (ja) | 性能検出方法、装置、電子機器及びコンピュータ可読媒体 | |
CN117271482B (zh) | 历史数据迁移方法、装置、电子设备及存储介质 | |
CN116212398B (zh) | 一种基于数据中台的游戏管理方法、装置、设备及介质 | |
KR100581730B1 (ko) | 모바일 콘텐츠 교육 실습 시스템 및 그 제공방법 | |
CN111444103B (zh) | 一种Web页面自动化测试方法及相关设备 | |
CN111143650B (zh) | 获取页面数据的方法、装置、介质及电子设备 | |
CN110035091B (zh) | 修改网络信息系统中的会话信息的方法、装置及服务器 | |
CN115705284A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40019659 Country of ref document: HK |