CN109819005B - 一种信息获取方法及其设备、系统、终端、服务器 - Google Patents
一种信息获取方法及其设备、系统、终端、服务器 Download PDFInfo
- Publication number
- CN109819005B CN109819005B CN201711176348.6A CN201711176348A CN109819005B CN 109819005 B CN109819005 B CN 109819005B CN 201711176348 A CN201711176348 A CN 201711176348A CN 109819005 B CN109819005 B CN 109819005B
- Authority
- CN
- China
- Prior art keywords
- information acquisition
- information
- time
- parameters
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开一种信息获取方法及其设备、系统、终端、服务器,其中方法包括:终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器;服务器接收终端发送的信息获取请求,获取信息获取请求中的信息获取参数,并基于信息获取参数在数据库中获取目标信息集合;服务器设置信息反馈参数,并将目标信息集合以及信息反馈参数发送至所述终端;终端接收并保存目标信息集合以及信息反馈参数,基于信息反馈参数并执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤。采用本发明,可以节省终端的网络流量、降低服务器的压力并保证获取数据的实时性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种信息获取方法及其设备、系统、终端、服务器。
背景技术
随着网络技术的发展,互联网已经深入到广大网络用户心中。在众多的互联网应用中,通过消息客户端进行信息传播与分享已经成为广大网络用户的生活工作及休闲中不可或缺的一部分。通常,在基于消息客户端的通信过程中,有大批量的数据需要获取或更新。常用的信息获取方法是通过由消息客户端从消息服务器获取更新的数据来实现的。
而对于大批量数据的获取,常用的方式包括:1)如图1所示的一条协议全量获取的方法,也就是服务器存储更新数据,终端向服务器发送一次CS请求获取全部数据,这种数据获取方式使得服务器对于所有终端的每一次请求都要发送全量的数据,处理时间长,对服务器压力过大;2)如图2所示的使用索引号列表做分批获取,终端向服务器发送的第一次请求获取需要更新的索引号列表,后续带上索引号列表逐个获取数据,每次请求都需要传输索引号列表,消耗过多的上行流量,一旦失败,则需要全量重试,从而导致消耗过多的网络流量;3)如图3所示的打包下载,服务器在闲时将所有更新数据进行打包,以便终端在必要时下载数据,但不能保证所下载的更新数据的实时性。
发明内容
本发明实施例提供一种信息获取方法及其设备、系统、终端、服务器,通过采用分批获取数据的方式,可以节省终端的网络流量,降低服务器的压力,同时,能够保证获取数据的实时性。
本发明实施例第一方面提供了一种信息获取方法,可包括:
终端设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器;
所述服务器接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的信息获取参数,并基于所述信息获取参数在数据库中获取目标信息集合;
所述服务器设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;
所述终端接收并保存所述目标信息集合以及所述信息反馈参数,基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述服务器基于所述信息获取参数在数据库中获取目标信息集合,包括:
所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可选的,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;
所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合之前,还包括:
当所述服务器检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
可选的,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,包括:
所述服务器遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
当所述信息更新时间位于所述起始时间与所述结束时间之间时,所述服务器获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
当所述信息更新时间位于所述起始时间与所述结束时间之外时,所述服务器执行遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间的步骤。
可选的,所述服务器设置信息反馈参数,包括:
在所述服务器检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
所述服务器将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
可选的,所述终端基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤,包括:
在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作;
在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
本发明实施例第二方面提供了一种信息获取方法,可包括:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合,包括:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述起始索引号并在数据库中获取所述信息获取数量指示的目标索引号集合,以使所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可选的,所述信息反馈参数包括所述目标索引号集合中的最后一个索引号以及信息获取结束标识;
所述基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤,包括:
在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作;
在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
本发明实施例第三方面提供了一种信息获取方法,可包括:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
基于所述信息获取参数在数据库中获取目标信息集合;
设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述基于所述信息获取参数在数据库中获取目标信息集合,包括:
基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可选的,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;
所述基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合之前,还包括:
当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
可选的,所述基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,包括:
遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
当所述信息更新时间位于所述起始时间与所述结束时间之间时,获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
当所述信息更新时间位于所述起始时间与所述结束时间之外时,执行遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间的步骤。
可选的,所述设置信息反馈参数,包括:
在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
本发明实施例第四方面提供了一种信息获取系统,包括终端以及服务器,其中:
所述终端,用于设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器;
所述服务器,用于接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的信息获取参数,并基于所述信息获取参数在数据库中获取目标信息集合;
所述服务器,还用于设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;
所述终端,还用于接收并保存所述目标信息集合以及所述信息反馈参数,基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述服务器,还用于基于所述信息获取参数在数据库中获取目标信息集合,具体用于:
基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可选的,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;
所述服务器,还用于基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合之前,还用于:
当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
可选的,所述服务器用于基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,具体用于:
所述服务器遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
当所述信息更新时间位于所述起始时间与所述结束时间之间时,所述服务器获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
当所述信息更新时间位于所述起始时间与所述结束时间之外时,所述服务器继续遍历所述数据库。
可选的,所述服务器用于设置信息反馈参数,具体用于:
在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
可选的,所述终端用于基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤,具体用于:
在所述信息获取结束标识为第一标识时,结束信息获取操作;
在所述信息获取结束标识为第二标识时,将所述起始索引号设置为所述最后一个索引号,将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
本发明实施例第五方面提供了一种信息获取设备,可包括:
请求发送单元,用于设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
信息接收单元,用于接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
所述请求发送单元,还用于基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述请求发送单元具体用于:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述起始索引号并在数据库中获取所述信息获取数量指示的目标索引号集合,以使所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可选的,所述信息反馈参数包括所述目标索引号集合中的最后一个索引号以及信息获取结束标识;
所述请求发送单元具体用于:
在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作;
在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
本发明实施例第六方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
本发明实施例第七方面提供了一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
本发明实施例第八方面提供了一种信息获取设备,可包括:
参数获取单元,用于接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
信息获取单元,用于基于所述信息获取参数在数据库中获取目标信息集合;
信息发送单元,用于设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述信息获取单元,包括:
索引号集合获取子单元,用于基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
信息集合获取子单元,用于在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可选的,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;
所述设备还包括:
时间设置单元,用于当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
可选的,所述索引号集合获取子单元,具体用于:
遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
当所述信息更新时间位于所述起始时间与所述结束时间之间时,获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
当所述信息更新时间位于所述起始时间与所述结束时间之外时,继续遍历所述数据库。
可选的,所述信息发送单元,包括:
标识设置子单元,用于在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
所述标识设置子单元,还用于在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
参数生成子单元,用于将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
本发明实施例第九方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
基于所述信息获取参数在数据库中获取目标信息集合;
设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
本发明实施例第十方面提供了一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
基于所述信息获取参数在数据库中获取目标信息集合;
设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取信息的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率;对于服务器而言,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种一次全量获取方法的结构示意图;
图2是本发明实施例提供的一种key列表分批获取方法的结构示意图;
图3是本发明实施例提供的一种信息打包获取方法的结构示意图;
图4是本发明实施例提供的一种信息获取方法的流程示意图;
图5是本发明实施例提供的另一种信息获取方法的流程示意图;
图6是本发明实施例提供的另一种信息获取方法的流程示意图;
图7是本发明实施例提供的另一种信息获取方法的流程示意图;
图8是本发明实施例提供的另一种信息获取方法的流程示意图;
图9是本发明实施例提供的另一种信息获取方法的流程示意图;
图10是本发明实施例提供的另一种信息获取方法的流程示意图;
图11是本发明实施例提供的一种信息获取系统的架构图;
图12是本发明实施例提供的一种信息获取设备的结构示意图;
图13是本发明实施例提供的另一种信息获取设备的结构示意图;
图14是本发明实施例提供的另一种信息获取设备的结构示意图;
图15是本发明实施例提供的一种信息获取设备的信息获取单元的结构示意图;
图16是本发明实施例提供的一种信息获取设备的信息发送单元的结构示意图;
图17是本发明实施例提供的一种终端的结构示意图;
图18是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的信息获取方法可以应用于大批量数据的获取或更新的场景,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率;对于服务器而言,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
本发明实施例涉及的信息获取方法的执行依赖于计算机程序,可基于信息获取系统运行于冯若依曼体系的计算机系统之上。该信息获取系统包括具有存储以及计算等功能的服务器以及具有发送、接收、处理等功能的终端,所述终端可以包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等终端设备。其可以通过互联网、无线网络等方式与本发明实施例中的服务器进行通信。
下面将结合附图4-附图10,对本发明实施例提供的信息获取方法进行详细介绍。
请参见图4,为本发明实施例提供了一种信息获取方法的流程示意图,以服务器和终端两侧进行描述,如图4所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S104。
S101,终端设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至服务器,由服务器对请求进行处理。
S102,所述服务器接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的信息获取参数,并基于所述信息获取参数在数据库中获取目标信息集合;
可以理解的是,服务器在接收到请求后,对包进行解析,并提取包中的信息获取参数。若检测到所述起始时间BeginTS等于所述结束时间EndTS时,确定为本次的第一批信息获取,则记录当前时间,将所述结束时间EndTS设置为所述当前时间并保存,若检测到所述起始时间BeginTS不等于所述结束时间EndTS时,确定非第一批信息获取,无需记录当前时间。
表1
表2
具体的,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,然后在所述数据库中获取所述目标索引号集合对应的目标信息集合。
例如,在服务器的数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。若表1和表2均按照索引号大小顺序依次排列,如按照从小到大的顺序,所述服务器从上往下依次遍历所述表1中的索引号,将遍历到的索引号Key与BeginKey进行匹配,在Key与BeginKey相同时,获取Key对应的信息更新时间TS,判断TS是否位于所述起始时间BeginTS与所述结束时间EndTS之间,若是,则将Key作为本批信息拉起的第一个索引号,并查表2获取所述Key对应的目标信息,将所述目标信息添加至目标信息集合中,或者直接将Key作为本批信息获取的第一个索引号添加至目标索引号集合中,并在目标索引号集合中的元素确定完整后,基于目标索引号集合在表2中获取目标信息集合;若否,表明Key不属于本次信息获取范围,则再继续往下遍历表1并判断。需要说明的是,若遍历到的索引号Key与BeginKey不匹配,则继续遍历表1,并再次与BeginKey进行匹配。采用上述方式依次获取信息获取数量指示的目标信息,从而获取本批获取的目标信息集合。
进一步的,在信息获取结束时,记录本批信息获取的最后一个索引号,以确定下一批信息获取时的起始位置。
S103,所述服务器设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;
可以理解的是,所述信息反馈参数包括信息获取结束标识EndFlag、服务器执行本批信息获取的起始时间(即设置后的EndTS)以及本批信息获取的最后一个索引号。所述EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。
具体的,在所述服务器检测到所述数据库(如表1和/或表2)遍历结束时,将所述信息获取结束标识设置为第一标识,在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识,将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数,并将生成的信息反馈参数反馈至终端。
S104,所述终端接收并保存所述目标信息集合以及所述信息反馈参数,基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
具体的,在终端所接收到的信息反馈参数中,在所述信息获取结束标识为第一标识时,表明信息获取完成,此时所述终端结束信息获取操作,在所述信息获取结束标识为第二标识时,表明信息获取未结束,所述终端将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以启动下一批信息获取。
也就是说,将BeginKey设置为服务器上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器返回的EndTS,Number保持不变。
可选的,在数据量很大(例如超过10万个员工)、网速受限的情况下,一次全量分批获取时间过长,中间可能会有新的员工资料变更,为保证数据更新的实时性,在一次全量分批获取之后,再执行变更资料对应的增量信息获取,从而保证数据的实时性。若在增量数据量较大时,也可采用上述方法分批获取增量信息。
进一步的,在终端获取到所有待展示的数据后,在用户界面以设定的展示方式展示获取的信息。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率;对于服务器而言,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率。
请参见图5,为本发明实施例提供了另一种信息获取方法的流程示意图,以服务器和终端两侧进行描述,如图5所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S210。
S201,终端设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至服务器,由服务器对请求进行处理。
例如,终端设置的信息获取参数为BeginTS=0,EndTS=0,Number=50,BeginKey=Key0,并将参数封装为包后,发包至服务器即可。
S202,所述服务器接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的信息获取参数。
具体的,服务器在接收到终端发送的信息获取请求后,对包进行解析,并提取包中的信息获取参数,如BeginTS=0,EndTS=0,Number=50,BeginKey=Key0。
S203,当所述服务器检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间;
具体的,对所提取的信息获取参数中的BeginTS和EndTS进行判断,若所述BeginTS等于所述EndTS时,确定为本次信息获取的第一批信息获取,则记录当前时间,将所述EndTS设置为所述当前时间。若当前时间为2017年10月10日10:00,则将信息获取参数中的EndTS设置为2017年10月10日10:00并保存。若检测到所述BeginTS不等于所述EndTS时,也就是BeginTS=0,而EndTS>0,确定非第一批信息获取,无需记录当前时间。
S204,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
可以理解的是,在服务器的数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。
在一种可行的实现方式中,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,包括:
所述服务器遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
例如,如表1所示,若遍历到的当前索引号为Key1,则对应的信息更新时间为TS1。
当所述信息更新时间位于所述起始时间与所述结束时间之间时,所述服务器获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
例如,若BeginTS<=TS1<=EndTS,确定Key1为目标索引号,则查找表2,以获取Key1、Name1、Account1、Male、18818818188、0212121211以及TS1等信息,并将所获取的信息添加至目标信息集合中。所述目标信息集合也可以为表2所示格式的列表。
当所述信息更新时间位于所述起始时间与所述结束时间之外时,所述服务器执行遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间的步骤。
例如,若TS1不在BeginTS以及EndTS之间时,确定Key1不是目标索引号,则继续遍历表1中的Key2,然后将Key2对应的时间TS2继续与BeginTS以及EndTS进行比较。
S205,所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
具体的,服务器通过遍历表2中的索引号,查找到与索引号集合相同的索引号,然后提取查找到的索引号对应的信息集合。
例如,采用S204匹配到的索引号包括Key1、Key2、Key5…Key10,则表2中将Key1、Key2、Key5…Key10对应的详细信息作为目标信息集合。
S206,在所述服务器检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
可以理解的是,所述信息获取结束标识EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。
S207,在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
可以理解的是,当所述服务器检测到所述数据库遍历未结束时,表明还需要继续执行下一批的信息获取,则将信息获取结束标识设置为未结束标识,也就是第二标识,以使终端在接收到该指示信息后,启动下一批信息获取操作。
S208,所述服务器将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;
例如,若本批信息获取的信息获取结束标识为False,最后一个索引号为Key10,EndTS为2017年10月10日10:00,则将这些信息封装,如封装为数据包后发送至终端,以使终端确定是否继续执行下一批信息获取以及下一批信息获取参数设置。
S209,所述终端接收并保存所述目标信息集合以及所述信息反馈参数,在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作,在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号;
也就是说,将BeginKey设置为服务器上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器返回的EndTS,Number保持不变。若接收到的信息反馈参数如S208所示,那么启动下一批信息获取前,将BeginKey设置为Key10,BeginTS=0,EndTS设置为2017年10月10日10:00。
S210,所述终端将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
具体的,终端将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以采用上述方式启动下一批信息获取,直到信息获取结束标识为第一标识时,本次信息获取结束,从而实现对全量信息的分批获取。
需要说明的是,在数据量很大(例如超过10万个员工)、网速受限的情况下,一次全量分批获取时间过长,中间可能会增加有增量信息,为保证数据更新的实时性,也可采用上述方法实现对增量信息的分批获取。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率;对于服务器而言,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
请参见图6,为本发明实施例提供了另一种信息获取方法的流程示意图,以终端侧进行描述,如图6所示,本发明实施例的所述方法可以包括以下步骤S301-步骤S303。
S301,设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至服务器,以使所述服务器基于所述起始索引号并在数据库中获取所述信息获取数量指示的目标索引号集合,以使所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
S302,接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
可以理解的是,所述信息反馈参数包括信息获取结束标识EndFlag、服务器执行本批信息获取的起始时间(即设置后的EndTS)以及本批信息获取的最后一个索引号。所述EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。其中,在所述服务器检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识,在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识。
具体的,所述服务在接收到所述终端发送的信息查找请求后,获取请求携带的信息获取参数,并基于起始索引号在数据库中找到信息获取数量所指示的目标信息集合,同时设置信息反馈参数,再将设置后的信息反馈参数以及查找到的目标信息集合返回至终端,终端接收并保存所述目标信息集合以及信息反馈参数。
S303,基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
可以理解的是,在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作,在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
具体的,在终端所接收到的信息反馈参数中,在所述信息获取结束标识为第一标识时,表明信息获取完成,此时所述终端结束信息获取操作,在所述信息获取结束标识为第二标识时,表明信息获取未结束,所述终端将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以启动下一批信息获取。
也就是说,将BeginKey设置为服务器上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器返回的EndTS,Number保持不变。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,以使服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率。
请参见图7,为本发明实施例提供了另一种信息获取方法的流程示意图,以服务器侧进行描述,如图7所示,本发明实施例的所述方法可以包括以下步骤S401-步骤S403。
S401,接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,并进行封装,如封装成包,然后将携带该包的请求发送至服务器,服务器在接收到终端发送的信息获取请求后,对包进行解析,并提取包中的信息获取参数。
S402,基于所述信息获取参数在数据库中获取目标信息集合;
可以理解的是,服务器提取包中的信息获取参数后,首先检测BeginTS是否等于EndTS,若检测到所述BeginTS等于所述EndTS时,确定为本次的第一批信息获取,则记录当前时间,将所述结束时间EndTS设置为所述当前时间并保存,若检测到所述起始时间BeginTS不等于所述结束时间EndTS时,确定非第一批信息获取,无需记录当前时间。
具体的,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,然后在所述数据库中获取所述目标索引号集合对应的目标信息集合。
例如,在服务器的数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。若表1和表2均按照索引号大小顺序依次排列,如按照从小到大的顺序,所述服务器从上往下依次遍历所述表1中的索引号,将遍历到的索引号Key与BeginKey进行匹配,在Key与BeginKey相同时,获取Key对应的信息更新时间TS,判断TS是否位于所述起始时间BeginTS与所述结束时间EndTS之间,若是,则将Key作为本批信息拉起的第一个索引号,并查表2获取所述Key对应的目标信息,将所述目标信息添加至目标信息集合中,或者直接将Key作为本批信息获取的第一个索引号添加至目标索引号集合中,并在目标索引号集合中的元素确定完整后,基于目标索引号集合在表2中获取目标信息集合;若否,表明Key不属于本次信息获取范围,则再继续往下遍历表1并判断。需要说明的是,若遍历到的索引号Key与BeginKey不匹配,则继续遍历表1,并再次与BeginKey进行匹配。采用上述方式依次获取信息获取数量指示的目标信息,从而获取本批获取的目标信息集合。
进一步的,在信息获取结束时,记录本批信息获取的最后一个索引号,以确定下一批信息获取时的起始位置。
S403,设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
可以理解的是,所述信息反馈参数包括信息获取结束标识EndFlag、服务器执行本批信息获取的起始时间(即设置后的EndTS)以及本批信息获取的最后一个索引号。所述EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。
具体的,在所述服务器检测到所述数据库(如表1和/或表2)遍历结束时,将所述信息获取结束标识设置为第一标识,在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识,将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数,并将生成的信息反馈参数反馈至终端,以使终端在接收到的信息反馈参数后,在所述信息获取结束标识为第一标识时,表明信息获取完成,此时所述终端结束信息获取操作,在所述信息获取结束标识为第二标识时,表明信息获取未结束,所述终端将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以启动下一批信息获取。
在本发明实施例中,当服务器接收到发送的携带信息获取参数的信息获取请求时,基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,以使终端基于信息反馈参数并继续执行设置信息获取参数并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过利用数据库记录的索引号做索引,记录修改时间并排序,并分批接收终端发送的信息获取请求时,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率。
请参见图8,为本发明实施例提供了另一种信息获取方法的流程示意图,以服务器侧进行描述,如图8所示,本发明实施例的所述方法可以包括以下步骤S501-步骤S505。
S501,接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至服务器,服务器在接收到终端发送的信息获取请求后,对包进行解析,并提取包中的信息获取参数,如BeginTS=0,EndTS=0,Number=50,BeginKey=Key0。
S502,基于所述信息获取参数在数据库中获取目标信息集合;
在一种具体的实现方式中,所述信息获取参数包括本批信息获取需求指示的起始时间、结束时间、所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
如图9所示,所述基于所述信息获取参数在数据库中获取目标信息集合,包括:
S601,当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间;
具体的,对所提取的信息获取参数中的BeginTS和EndTS进行判断,若所述BeginTS等于所述EndTS时,确定为本次信息获取的第一批信息获取,则记录当前时间,将所述EndTS设置为所述当前时间。若当前时间为2017年10月10日10:00,则将信息获取参数中的EndTS设置为2017年10月10日10:00并保存。若检测到所述BeginTS不等于所述EndTS时,也就是BeginTS=0,而EndTS>0,确定非第一批信息获取,无需记录当前时间。
S602,基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
可以理解的是,在服务器的数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。
具体的,服务器通过遍历表2中的索引号,查找到与索引号集合相同的索引号,然后提取查找到的索引号对应的信息集合。
例如,采用S204匹配到的索引号包括Key1、Key2、Key5…Key10,则表2中将Key1、Key2、Key5…Key10对应的员工资料信息作为目标信息集合。
在一种具体的实现方式中,如图10所示,所述基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,包括:
S6021,遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
例如,如表1所示,若遍历到的当前索引号为Key1,则对应的信息更新时间为TS1。
S6022,当所述信息更新时间位于所述起始时间与所述结束时间之间时,获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
例如,若BeginTS<=TS1<=EndTS,确定Key1为目标索引号,则查找表2,以获取Key1、Name1、Account1、Male、18818818188、0212121211以及TS1等信息,并将所获取的信息添加至目标信息集合中。所述目标信息集合也可以为表2所示格式的列表。
S6023,当所述信息更新时间位于所述起始时间与所述结束时间之外时,执行遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间的步骤。
例如,若TS1不在BeginTS以及EndTS之间时,确定Key1不是目标索引号,则继续遍历表1中的Key2,然后将Key2对应的时间TS2继续与BeginTS以及EndTS进行比较。
S603,在所述数据库中获取所述目标索引号集合对应的目标信息集合。
具体的,服务器通过遍历表2中的索引号,查找到与索引号集合相同的索引号,然后提取查找到的索引号对应的信息集合。
例如,采用S204匹配到的索引号包括Key1、Key2、Key5…Key10,则表2中将Key1、Key2、Key5…Key10对应的详细信息作为目标信息集合。
S503,在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识,在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
可以理解的是,所述信息获取结束标识EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。当所述服务器检测到所述数据库遍历未结束时,表明还需要继续执行下一批的信息获取,则将信息获取结束标识设置为未结束标识,也就是第二标识,以使终端在接收到该指示信息后,启动下一批信息获取操作。
S504,将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数;
例如,若本批信息获取的信息获取结束标识为False,最后一个索引号为Key10,EndTS为2017年10月10日10:00,则将这些信息封装,如封装为数据包后发送至终端。
S505,将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
也就是说,终端在接收到服务器发包后,将BeginKey设置为服务器上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器返回的EndTS,Number保持不变。若接收到的信息反馈参数如S208所示,那么启动下一批信息获取前,将BeginKey设置为Key10,BeginTS=0,EndTS设置为2017年10月10日10:00。
具体的,服务器将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以采用上述方式启动下一批信息获取,直到信息获取结束标识为第一标识时,本次信息获取结束,从而实现对全量信息的分批获取。
在本发明实施例中,当服务器接收到发送的携带信息获取参数的信息获取请求时,基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,以使终端基于信息反馈参数并继续执行设置信息获取参数并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过利用数据库记录的索引号做索引,记录修改时间并排序,并分批接收终端发送的信息获取请求时,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
下面将结合附图11,对本发明实施例提供的信息获取系统及其设备进行详细介绍。需要说明的是,附图11所示的信息获取系统,用于执行本发明图4-图10所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图4-图10所示的实施例。
请参见图11,为本发明实施例提供了一种信息获取系统的结构示意图。如图11所示,本发明实施例的所述信息获取系统可以包括:终端1和服务器2。
所述终端1,用于设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器2;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器2端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端1在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端1上。而每批信息获取都需要先进行参数配置,在终端1依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至服务器2,由服务器2对请求进行处理。
所述服务器2,用于接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的信息获取参数,并基于所述信息获取参数在数据库中获取目标信息集合;
可以理解的是,服务器2在接收到请求后,对包进行解析,并提取包中的信息获取参数。若检测到所述起始时间BeginTS等于所述结束时间EndTS时,确定为本次的第一批信息获取,则记录当前时间,将所述结束时间EndTS设置为所述当前时间并保存,若检测到所述起始时间BeginTS不等于所述结束时间EndTS时,确定非第一批信息获取,无需记录当前时间。
具体的,所述服务器2基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,然后在所述数据库中获取所述目标索引号集合对应的目标信息集合。
例如,在服务器2的数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。若表1和表2均按照索引号大小顺序依次排列,如按照从小到大的顺序,所述服务器2从上往下依次遍历所述表1中的索引号,将遍历到的索引号Key与BeginKey进行匹配,在Key与BeginKey相同时,获取Key对应的信息更新时间TS,判断TS是否位于所述起始时间BeginTS与所述结束时间EndTS之间,若是,则将Key作为本批信息拉起的第一个索引号,并查表2获取所述Key对应的目标信息,将所述目标信息添加至目标信息集合中,或者直接将Key作为本批信息获取的第一个索引号添加至目标索引号集合中,并在目标索引号集合中的元素确定完整后,基于目标索引号集合在表2中获取目标信息集合;若否,表明Key不属于本次信息获取范围,则再继续往下遍历表1并判断。需要说明的是,若遍历到的索引号Key与BeginKey不匹配,则继续遍历表1,并再次与BeginKey进行匹配。采用上述方式依次获取信息获取数量指示的目标信息,从而获取本批获取的目标信息集合。
进一步的,在信息获取结束时,记录本批信息获取的最后一个索引号,以确定下一批信息获取时的起始位置。
所述服务器2,还用于设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;
可以理解的是,所述信息反馈参数包括信息获取结束标识EndFlag、服务器执行本批信息获取的起始时间(即设置后的EndTS)以及本批信息获取的最后一个索引号。所述EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。
具体的,在所述服务器2检测到所述数据库(如表1和/或表2)遍历结束时,将所述信息获取结束标识设置为第一标识,在所述服务器2检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识,将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数,并将生成的信息反馈参数反馈至终端1。
所述终端1,还用于接收并保存所述目标信息集合以及所述信息反馈参数,基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器2的步骤。
具体的,在终端1所接收到的信息反馈参数中,在所述信息获取结束标识为第一标识时,表明信息获取完成,此时所述终端1结束信息获取操作,在所述信息获取结束标识为第二标识时,表明信息获取未结束,所述终端1将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器2,以启动下一批信息获取。
也就是说,将BeginKey设置为服务器2上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器2返回的EndTS,Number保持不变。
可选的,在数据量很大(例如超过10万个员工)、网速受限的情况下,一次全量分批获取时间过长,中间可能会有新的员工资料变更,为保证数据更新的实时性,在一次全量分批获取之后,再执行变更资料对应的增量信息获取,从而保证数据的实时性。若在增量数据量较大时,也可采用上述方法分批获取增量信息。
进一步的,在终端1获取到所有待展示的数据后,在用户界面以设定的展示方式展示获取的信息。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
所述服务器2,还用于基于所述信息获取参数在数据库中获取目标信息集合,具体用于:
基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
在所述数据库中获取所述目标索引号集合对应的目标信息集合。
可以理解的是,在服务器2的数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。
可选的,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;
所述服务器2,还用于基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合之前,还用于:
当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
具体的,对所提取的信息获取参数中的BeginTS和EndTS进行判断,若所述BeginTS等于所述EndTS时,确定为本次信息获取的第一批信息获取,则记录当前时间,将所述EndTS设置为所述当前时间。若当前时间为2017年10月10日10:00,则将信息获取参数中的EndTS设置为2017年10月10日10:00并保存。若检测到所述BeginTS不等于所述EndTS时,也就是BeginTS=0,而EndTS>0,确定非第一批信息获取,无需记录当前时间。
进一步的,所述服务器用于基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,具体用于:
所述服务器2遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
例如,如表1所示,若遍历到的当前索引号为Key1,则对应的信息更新时间为TS1。
当所述信息更新时间位于所述起始时间与所述结束时间之间时,所述服务器2获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
例如,若BeginTS<=TS1<=EndTS,确定Key1为目标索引号,则查找表2,以获取Key1、Name1、Account1、Male、18818818188、0212121211以及TS1等信息,并将所获取的信息添加至目标信息集合中。所述目标信息集合也可以为表2所示格式的列表。
当所述信息更新时间位于所述起始时间与所述结束时间之外时,所述服务器2继续遍历所述数据库。
例如,若TS1不在BeginTS以及EndTS之间时,确定Key1不是目标索引号,则继续遍历表1中的Key2,然后将Key2对应的时间TS2继续与BeginTS以及EndTS进行比较。
可选的,所述服务器2用于设置信息反馈参数,具体用于:
在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
可以理解的是,所述信息获取结束标识EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。
在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
可以理解的是,当所述服务器检测到所述数据库遍历未结束时,表明还需要继续执行下一批的信息获取,则将信息获取结束标识设置为未结束标识,也就是第二标识,以使终端在接收到该指示信息后,启动下一批信息获取操作。
将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
例如,若本批信息获取的信息获取结束标识为False,最后一个索引号为Key10,EndTS为2017年10月10日10:00,则将这些信息封装,如封装为数据包后发送至终端,以使终端确定是否继续执行下一批信息获取以及下一批信息获取参数设置。
可选的,所述终端1用于基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤,具体用于:
在所述信息获取结束标识为第一标识时,结束信息获取操作;
在所述信息获取结束标识为第二标识时,将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器2。
也就是说,将BeginKey设置为服务器2上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器2返回的EndTS,Number保持不变。若接收到的信息反馈参数如上所示,那么启动下一批信息获取前,将BeginKey设置为Key10,BeginTS=0,EndTS设置为2017年10月10日10:00。
具体的,终端1将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器2,以采用上述方式启动下一批信息获取,直到信息获取结束标识为第一标识时,本次信息获取结束,从而实现对全量信息的分批获取。
需要说明的是,在数据量很大(例如超过10万个员工)、网速受限的情况下,一次全量分批获取时间过长,中间可能会增加有增量信息,为保证数据更新的实时性,也可采用上述方法实现对增量信息的分批获取。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率;对于服务器而言,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
请参见图12,为本发明实施例提供了一种信息获取设备的结构示意图。如图12所示,本发明实施例的所述信息获取设备可以包括:请求发送单元11和信息接收单元12。
请求发送单元11,用于设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在请求发送单元11依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至服务器,由服务器对请求进行处理。
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;所述请求发送单元11具体用于:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述起始索引号并在数据库中获取所述信息获取数量指示的目标索引号集合,以使所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
信息接收单元12,用于接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
可以理解的是,所述信息反馈参数包括信息获取结束标识EndFlag、服务器执行本批信息获取的起始时间(即设置后的EndTS)以及本批信息获取的最后一个索引号。所述EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。其中,在所述服务器检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识,在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识。
具体的,所述服务在接收到所述请求发送单元11发送的信息查找请求后,信息接收单元12获取请求携带的信息获取参数,并基于起始索引号在数据库中找到信息获取数量所指示的目标信息集合,同时设置信息反馈参数,再将设置后的信息反馈参数以及查找到的目标信息集合返回至信息接收单元12,信息接收单元12接收并保存所述目标信息集合以及信息反馈参数。
所述请求发送单元11,还用于基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
可选的,所述信息反馈参数包括本批信息获取需求指示的起始索引号、信息获取结束标识以及信息获取数量;
所述请求发送单元11具体用于:
在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作;
在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
具体的,在请求发送单元11所接收到的信息反馈参数中,在所述信息获取结束标识为第一标识时,表明信息获取完成,此时所述请求发送单元11结束信息获取操作,在所述信息获取结束标识为第二标识时,表明信息获取未结束,所述请求发送单元11将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以启动下一批信息获取。
也就是说,将BeginKey设置为服务器上一批返回的BeginKey,BeginTS保持不变,EndTS设置为服务器返回的EndTS,Number保持不变。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,以使服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率。
请参见图13,为本发明实施例提供了另一种信息获取设备的结构示意图。如图13所示,本发明实施例的所述信息获取设备可以包括:参数获取单元21、信息获取单元22和信息发送单元23。
参数获取单元21,用于接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为服务器端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,并进行封装,如封装成包,然后将携带该包的请求发送至参数获取单元21,参数获取单元21在接收到终端发送的信息获取请求后,对包进行解析,并提取包中的信息获取参数。
信息获取单元22,用于基于所述信息获取参数在数据库中获取目标信息集合;
可以理解的是,信息获取单元22提取包中的信息获取参数后,首先检测BeginTS是否等于EndTS,若检测到所述BeginTS等于所述EndTS时,确定为本次的第一批信息获取,则记录当前时间,将所述结束时间EndTS设置为所述当前时间并保存,若检测到所述起始时间BeginTS不等于所述结束时间EndTS时,确定非第一批信息获取,无需记录当前时间。
具体的,所述信息获取单元22基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,然后在所述数据库中获取所述目标索引号集合对应的目标信息集合。
例如,在数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。若表1和表2均按照索引号大小顺序依次排列,如按照从小到大的顺序,所述信息获取单元22从上往下依次遍历所述表1中的索引号,将遍历到的索引号Key与BeginKey进行匹配,在Key与BeginKey相同时,获取Key对应的信息更新时间TS,判断TS是否位于所述起始时间BeginTS与所述结束时间EndTS之间,若是,则将Key作为本批信息拉起的第一个索引号,并查表2获取所述Key对应的目标信息,将所述目标信息添加至目标信息集合中,或者直接将Key作为本批信息获取的第一个索引号添加至目标索引号集合中,并在目标索引号集合中的元素确定完整后,基于目标索引号集合在表2中获取目标信息集合;若否,表明Key不属于本次信息获取范围,则再继续往下遍历表1并判断。需要说明的是,若遍历到的索引号Key与BeginKey不匹配,则继续遍历表1,并再次与BeginKey进行匹配。采用上述方式依次获取信息获取数量指示的目标信息,从而获取本批获取的目标信息集合。
进一步的,在信息获取结束时,记录本批信息获取的最后一个索引号,以确定下一批信息获取时的起始位置。
信息发送单元23,用于设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并将携带所述信息获取参数的信息获取请求发送至服务器。
可以理解的是,所述信息反馈参数包括信息获取结束标识EndFlag、服务器执行本批信息获取的起始时间(即设置后的EndTS)以及本批信息获取的最后一个索引号。所述EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。
具体的,在所述信息发送单元23检测到所述数据库(如表1和/或表2)遍历结束时,将所述信息获取结束标识设置为第一标识,在所述信息发送单元23检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识,将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数,并将生成的信息反馈参数反馈至终端,以使终端在接收到的信息反馈参数后,在所述信息获取结束标识为第一标识时,表明信息获取完成,此时所述终端结束信息获取操作,在所述信息获取结束标识为第二标识时,表明信息获取未结束,所述终端将所述起始索引号设置为所述最后一个索引号,将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述参数获取单元21,以启动下一批信息获取。
在本发明实施例中,当服务器接收到发送的携带信息获取参数的信息获取请求时,基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,以使终端基于信息反馈参数并继续执行设置信息获取参数并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过利用数据库记录的索引号做索引,记录修改时间并排序,并分批接收终端发送的信息获取请求时,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率。
请参见图14,为本发明实施例提供了另一种信息获取设备的结构示意图。如图14所示,本发明实施例的所述信息获取设备可以包括:参数获取单元21、信息获取单元22、信息发送单元23和时间设置单元24。
参数获取单元21,用于接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
可以理解的是,所述信息获取参数可以包括本批信息获取需求指示的起始索引号BeginKey、信息获取数量Number、本批信息获取需求指示的起始时间BeginTS以及结束时间EndTS等。其中,所述BeginTS以及EndTS可通过时间戳标识。所述时间戳是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,可以唯一地标识某一刻的时间。
需要说明的是,在本批所获取的信息为全量更新时,BeginTS设置为0,EndTS则为参数获取单元21端接收到上一批信息获取请求时的当前时间,若为第一批信息获取,则EndTS=BeginTS=0。所述信息获取数量Number可以依据网络通道容量进行设置,每批信息获取时,所述Number可以相同,也可以不同。可选的,为了信息获取的便利,通常可将每批信息获取时的Number设为相同。
具体的,在即时通讯的组织架构、员工资料等信息批量获取场景下,终端在登录系统后,需要展示这些批量数据,则首先需要采用分批获取的方式将数据同步到终端上。而每批信息获取都需要先进行参数配置,在终端依据本批信息获取需求对信息获取参数进行配置后,进行封装,如封装成包,然后将携带该包的请求发送至参数获取单元21,参数获取单元21在接收到终端发送的信息获取请求后,对包进行解析,并提取包中的信息获取参数,如BeginTS=0,EndTS=0,Number=50,BeginKey=Key0。
信息获取单元22,用于基于所述信息获取参数在数据库中获取目标信息集合;
可选的,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;
如图15所示,所述信息获取单元22,包括:
索引号集合获取子单元211,用于基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
可以理解的是,在数据库中存储有信息索引号与信息更新时间的映射关系表,如表1所示,以及基于索引号的详细信息表,如表2所示。
具体的,索引号集合获取子单元211通过遍历表2中的索引号,查找到与索引号集合相同的索引号,然后提取查找到的索引号对应的信息集合。
例如,采用S204匹配到的索引号包括Key1、Key2、Key5…Key10,则表2中将Key1、Key2、Key5…Key10对应的员工资料信息作为目标信息集合。
进一步的,所述索引号集合获取子单元211,具体用于:
遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
例如,如表1所示,若遍历到的当前索引号为Key1,则对应的信息更新时间为TS1。
当所述信息更新时间位于所述起始时间与所述结束时间之间时,获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
例如,若BeginTS<=TS1<=EndTS,确定Key1为目标索引号,则查找表2,以获取Key1、Name1、Account1、Male、18818818188、0212121211以及TS1等信息,并将所获取的信息添加至目标信息集合中。所述目标信息集合也可以为表2所示格式的列表。
当所述信息更新时间位于所述起始时间与所述结束时间之外时,继续遍历所述数据库。
例如,若TS1不在BeginTS以及EndTS之间时,确定Key1不是目标索引号,则继续遍历表1中的Key2,然后将Key2对应的时间TS2继续与BeginTS以及EndTS进行比较。
信息集合获取子单元212,用于在所述数据库中获取所述目标索引号集合对应的目标信息集合。
具体的,信息集合获取子单元212通过遍历表2中的索引号,查找到与索引号集合相同的索引号,然后提取查找到的索引号对应的信息集合。
例如,采用S204匹配到的索引号包括Key1、Key2、Key5…Key10,则表2中将Key1、Key2、Key5…Key10对应的详细信息作为目标信息集合。
信息发送单元23,用于设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并将携带所述信息获取参数的信息获取请求发送至服务器。
也就是说,终端在接收到信息发送单元23发包后,将BeginKey设置为信息发送单元23上一批返回的BeginKey,BeginTS保持不变,EndTS设置为信息发送单元23返回的EndTS,Number保持不变。若接收到的信息反馈参数如S208所示,那么启动下一批信息获取前,将BeginKey设置为Key10,BeginTS=0,EndTS设置为2017年10月10日10:00。
具体的,信息发送单元23将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端将携带设置后的所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器,以采用上述方式启动下一批信息获取,直到信息获取结束标识为第一标识时,本次信息获取结束,从而实现对全量信息的分批获取。
可选的,如图16所示,所述信息发送单元23,包括:
标识设置子单元231,用于在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
所述标识设置子单元231,还用于在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
可以理解的是,所述信息获取结束标识EndFlag用于标识数据库中的索引表是否遍历完成,若是,则信息获取完成,否则,还需要继续执行下一批信息获取。当所述标识设置子单元231检测到所述数据库遍历未结束时,表明还需要继续执行下一批的信息获取,则将信息获取结束标识设置为未结束标识,也就是第二标识,以使终端在接收到该指示信息后,启动下一批信息获取操作。
参数生成子单元232,用于将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
例如,若本批信息获取的信息获取结束标识为False,最后一个索引号为Key10,EndTS为2017年10月10日10:00,则将这些信息封装,如封装为数据包后发送至终端。
可选的,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;
如图14所示,所述设备1还包括:
时间设置单元24,用于当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
具体的,对所提取的信息获取参数中的BeginTS和EndTS进行判断,若所述BeginTS等于所述EndTS时,确定为本次信息获取的第一批信息获取,则记录当前时间,将所述EndTS设置为所述当前时间。若当前时间为2017年10月10日10:00,则将信息获取参数中的EndTS设置为2017年10月10日10:00并保存。若检测到所述BeginTS不等于所述EndTS时,也就是BeginTS=0,而EndTS>0,确定非第一批信息获取,无需记录当前时间。
在本发明实施例中,当服务器接收到发送的携带信息获取参数的信息获取请求时,基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,以使终端基于信息反馈参数并继续执行设置信息获取参数并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过利用数据库记录的索引号做索引,记录修改时间并排序,并分批接收终端发送的信息获取请求时,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图4-图10所示实施例的方法步骤,具体执行过程可以参见图4-图10所示实施例的具体说明,在此不进行赘述。
请参见图17,为本发明实施例提供了一种终端的结构示意图。如图17所示,所述终端1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图17所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及信息获取应用程序。
在图17所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口1004主要用于与用户终端进行数据通信;而处理器1001可以用于调用存储器1005中存储的信息获取应用程序,并具体执行以下操作:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;
基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
在一个实施例中,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;所述处理器1001在执行设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述信息获取参数在数据库中获取目标信息集合时,具体执行以下操作:
设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于所述起始索引号并在数据库中获取所述信息获取数量指示的目标索引号集合,以使所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
在一个实施例中,所述信息反馈参数包括所述目标索引号集合中的最后一个索引号以及信息获取结束标识;所述处理器1001在执行基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤时,具体执行以下操作:
在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作;
在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
在本发明实施例中,通过终端设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器,以使服务器基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,终端基于信息反馈参数并继续执行设置信息获取参数,并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过终端采用分批获取数据的方式,可以正确的获取到所有数据,保证获取数据的一致性与完整性,既可以节省终端的网络流量,又能够提升发包的成功率。
请参见图18,为本发明实施例提供了一种服务器的结构示意图。如图18所示,所述服务器2000可以包括:至少一个处理器2001,例如CPU,至少一个网络接口2004,用户接口2003,存储器2005,至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图18所示,作为一种计算机存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及信息获取应用程序。
在图18所示的服务器2000中,用户接口2003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口2004主要用于与用户终端进行数据通信;而处理器2001可以用于调用存储器2005中存储的信息获取应用程序,并具体执行以下操作:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;
基于所述信息获取参数在数据库中获取目标信息集合;
设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
在一个实施例中,所述信息获取参数包括本批信息获取需求指示的起始索引号以及信息获取数量;所述处理器2001在执行基于所述信息获取参数在数据库中获取目标信息集合时,具体执行以下步骤:
基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;
在所述数据库中获取所述目标索引号集合对应的目标信息集合。
在一个实施例中,所述信息获取参数还包括本批信息获取需求指示的起始时间以及结束时间;所述处理器2001在执行基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合之前,还执行以下操作:
当检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
在一个实施例中,所述处理器2001在执行基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合时,具体执行以下操作:
遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
当所述信息更新时间位于所述起始时间与所述结束时间之间时,获取所述当前索引号对应的目标信息,并将所述目标信息添加至目标信息集合中;
当所述信息更新时间位于所述起始时间与所述结束时间之外时,执行遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间的步骤。
在一个实施例中,所述处理器2001在执行设置信息反馈参数时,具体执行以下操作:
在检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
在检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
在本发明实施例中,当服务器接收到发送的携带信息获取参数的信息获取请求时,基于信息获取参数在数据库中获取目标信息集合并设置信息反馈参数,然后将所获取的目标信息集合以及信息反馈参数发送至终端,以使终端基于信息反馈参数并继续执行设置信息获取参数并将携带信息获取参数的信息获取请求发送至服务器的步骤,直到信息获取完成。通过利用数据库记录的索引号做索引,记录修改时间并排序,并分批接收终端发送的信息获取请求时,每次请求只处理部分数据而非全量数据,降低服务器的压力,提升了回包的成功率;并且,服务器可以无需仅在闲时对数据进行打包,能够保证获取数据的实时性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种信息获取方法,其特征在于,包括:
终端设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指所述服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
所述服务器接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的起始索引号、信息获取数量、起始时间以及结束时间,并基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
所述服务器设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;所述信息反馈参数包括信息获取结束标识;
所述终端接收并保存所述目标信息集合以及所述信息反馈参数,基于所述信息反馈参数中的所述信息获取结束标识并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
2.根据权利要求1所述的方法,其特征在于,所述基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合,包括:
所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合;所述目标索引号集合中每个索引号对应的信息更新时间,均处于所述起始时间与所述结束时间之间;
所述服务器在所述数据库中获取所述目标索引号集合对应的目标信息集合。
3.根据权利要求2所述的方法,其特征在于,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合之前,还包括:
当所述服务器检测到所述起始时间等于所述结束时间时,记录当前时间,将所述结束时间设置为所述当前时间。
4.根据权利要求3所述的方法,其特征在于,所述服务器基于所述起始索引号,在数据库中获取所述信息获取数量指示的目标索引号集合,包括:
所述服务器遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间;
当所述当前索引号对应的信息更新时间位于所述起始时间与所述结束时间之间时,将所述当前索引号添加至目标索引号集合中;
当所述当前索引号对应的信息更新时间位于所述起始时间与所述结束时间之外时,所述服务器执行遍历所述数据库,获取遍历到的当前索引号对应的信息更新时间的步骤。
5.根据权利要求3所述的方法,其特征在于,所述服务器设置信息反馈参数,包括:
在所述服务器检测到所述数据库遍历结束时,将所述信息获取结束标识设置为第一标识;
在所述服务器检测到所述数据库遍历未结束时,将所述信息获取结束标识设置为第二标识;
所述服务器将所述信息获取结束标识、所述结束时间以及所述目标索引号集合中的最后一个索引号进行封装,以生成所述信息反馈参数。
6.根据权利要求5所述的方法,其特征在于,所述终端基于所述信息反馈参数并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤,包括:
在所述信息获取结束标识为第一标识时,所述终端结束信息获取操作;
在所述信息获取结束标识为第二标识时,所述终端将所述起始索引号设置为所述最后一个索引号,将携带所述起始索引号以及所述信息获取数量的信息获取请求发送至所述服务器。
7.一种信息获取方法,其特征在于,包括:
设置信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
根据所述信息获取参数生成信息获取请求,并将携带所述信息获取参数的信息获取请求发送至所述服务器,以使所述服务器基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;所述信息反馈参数包括信息获取结束标识;
基于所述信息反馈参数中的所述信息获取结束标识并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
8.一种信息获取方法,其特征在于,包括:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
设置信息反馈参数;所述信息反馈参数包括信息获取结束标识;
将所述目标信息集合以及包含所述信息获取结束标识的所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数中的所述信息获取结束标识设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
9.一种信息获取系统,其特征在于,包括终端以及服务器,其中:
所述终端,用于设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至所述服务器;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指所述服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
所述服务器,用于接收所述终端发送的所述信息获取请求,获取所述信息获取请求中的起始索引号、信息获取数量、起始时间以及结束时间,并基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;所述目标信息集合中的每个目标信息的信息更新时间处于所述起始时间与所述结束时间之间;
所述服务器,还用于设置信息反馈参数,并将所述目标信息集合以及所述信息反馈参数发送至所述终端;所述信息反馈参数包括信息获取结束标识;
所述终端,还用于接收并保存所述目标信息集合以及所述信息反馈参数,基于所述信息反馈参数中的所述信息获取结束标识并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
10.一种信息获取设备,其特征在于,包括:
请求发送单元,用于设置信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
请求发送单元,还用于将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
信息接收单元,用于接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;所述信息反馈参数包括信息获取结束标识;
所述请求发送单元,还用于基于所述信息反馈参数中的所述信息获取结束标识并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
设置信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
将携带所述信息获取参数的信息获取请求发送至服务器,以使所述服务器基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;所述目标信息集合中的每个目标信息的信息更新时间处于所述起始时间与所述结束时间之间;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;所述信息反馈参数包括信息获取结束标识;
基于所述信息反馈参数中的所述信息获取结束标识并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
12.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
设置信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
将携带所述信息获取参数的信息获取请求发送至所述服务器,以使所述服务器基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
接收并保存所述服务器发送的所述目标信息集合以及信息反馈参数;所述信息反馈参数包括信息获取结束标识;
基于所述信息反馈参数中的所述信息获取结束标识并执行所述设置信息获取参数,并将携带所述信息获取参数的信息获取请求发送至服务器的步骤。
13.一种信息获取设备,其特征在于,包括:
参数获取单元,用于接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
信息获取单元,用于基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
信息发送单元,用于设置信息反馈参数;所述信息反馈参数包括信息获取结束标识;
信息发送单元,还用于将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数中的所述信息获取结束标识设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
设置信息反馈参数;所述信息反馈参数包括信息获取结束标识;
将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数中的所述信息获取结束标识设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
15.一种服务器,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
接收终端发送的信息获取请求,获取所述信息获取请求中的信息获取参数;所述信息获取参数包括本批信息获取需求指示的起始索引号、信息获取数量、起始时间以及结束时间;所述信息获取请求基于所述本批信息获取需求所产生;所述结束时间是指所述服务器接收到第一批信息获取的请求时的时间;每批信息获取的请求对应的起始时间相同;所述起始时间小于所述结束时间;
基于数据库中每个信息的信息更新时间、所述起始索引号、所述信息获取数量、所述起始时间以及所述结束时间,在数据库中获取信息更新时间处于所述起始时间与所述结束时间之间的目标信息集合;
设置信息反馈参数;所述信息反馈参数包括信息获取结束标识;
将所述目标信息集合以及所述信息反馈参数发送至所述终端,以使所述终端基于所述信息反馈参数中的所述信息获取结束标识设置信息获取参数并发送携带所述信息获取参数的信息获取请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711176348.6A CN109819005B (zh) | 2017-11-22 | 2017-11-22 | 一种信息获取方法及其设备、系统、终端、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711176348.6A CN109819005B (zh) | 2017-11-22 | 2017-11-22 | 一种信息获取方法及其设备、系统、终端、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109819005A CN109819005A (zh) | 2019-05-28 |
CN109819005B true CN109819005B (zh) | 2021-12-10 |
Family
ID=66600243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711176348.6A Active CN109819005B (zh) | 2017-11-22 | 2017-11-22 | 一种信息获取方法及其设备、系统、终端、服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109819005B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905441A (zh) * | 2014-03-28 | 2014-07-02 | 广州华多网络科技有限公司 | 数据获取方法及装置 |
CN105426483A (zh) * | 2015-11-19 | 2016-03-23 | 华为技术有限公司 | 一种基于分布式系统的文件读取方法及装置 |
CN106161593A (zh) * | 2016-06-21 | 2016-11-23 | 北京奇虎科技有限公司 | 消息轮询方法和服务器、通信系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2122482B1 (en) * | 2007-01-05 | 2018-11-14 | Sonic IP, Inc. | Video distribution system including progressive playback |
US20150067138A1 (en) * | 2013-08-27 | 2015-03-05 | International Business Machines Corporation | Optimize data exchange for mvc-based web applications |
-
2017
- 2017-11-22 CN CN201711176348.6A patent/CN109819005B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905441A (zh) * | 2014-03-28 | 2014-07-02 | 广州华多网络科技有限公司 | 数据获取方法及装置 |
CN105426483A (zh) * | 2015-11-19 | 2016-03-23 | 华为技术有限公司 | 一种基于分布式系统的文件读取方法及装置 |
CN106161593A (zh) * | 2016-06-21 | 2016-11-23 | 北京奇虎科技有限公司 | 消息轮询方法和服务器、通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109819005A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176976B (zh) | 测试数据的生成方法和装置、存储介质及电子装置 | |
CN103970793B (zh) | 信息查询方法、客户端及服务器 | |
US9219808B2 (en) | Contact information synchronization system and method | |
CN109729386B (zh) | 一种视频文件启播方法、系统及电子设备和存储介质 | |
CN107329976B (zh) | 网页分页方法、装置、计算机设备及计算机可读存储介质 | |
CN102420843A (zh) | 一种基于云压缩链接的压缩和解压缩方法、装置及系统 | |
WO2017114190A1 (zh) | 一种文件上传处理方法及装置 | |
US9357020B2 (en) | Information source selection system, information source selection method, and program | |
EP3651421A1 (en) | Multimedia display method, apparatus, and device | |
JP5753946B2 (ja) | フォントファイルをダウンロードする方法およびシステム | |
US7302427B2 (en) | Text mining server and program | |
CN108228770A (zh) | 一种应用文件来源查询的方法及装置 | |
CN108959278B (zh) | 一种数据同步方法、装置、电子设备以及存储介质 | |
US11163827B2 (en) | Video processing method, device, terminal and storage medium | |
CN103078782A (zh) | 一种好友备注的推荐备注实现方法及系统 | |
CN109246280B (zh) | 通讯录云处理方法、装置、计算机设备及可读存储介质 | |
CN109819005B (zh) | 一种信息获取方法及其设备、系统、终端、服务器 | |
CN112689170A (zh) | 显示终端的内容播放方法、显示终端及可读存储介质 | |
CN110865973B (zh) | 一种数据处理方法及设备和相关装置 | |
CN109213955B (zh) | 数据处理方法及相关设备 | |
CN112351420B (zh) | 终端设备的组网身份创建方法、设备及可读存储介质 | |
WO2021244548A1 (zh) | 即时消息处理方法和装置 | |
CN105991417B (zh) | 网络社交内的好友动态信息接收方法和装置 | |
CN112800303B (zh) | 一种浏览器数据的存储、读取方法及相关装置 | |
CN106021589B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |