CN108287757A - 一种数据获取、数据显示的方法及装置 - Google Patents
一种数据获取、数据显示的方法及装置 Download PDFInfo
- Publication number
- CN108287757A CN108287757A CN201710013609.6A CN201710013609A CN108287757A CN 108287757 A CN108287757 A CN 108287757A CN 201710013609 A CN201710013609 A CN 201710013609A CN 108287757 A CN108287757 A CN 108287757A
- Authority
- CN
- China
- Prior art keywords
- ticketing
- data
- ticketing data
- sent
- thread
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/951—Indexing; Web crawling techniques
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开一种数据获取、数据显示的方法及装置,该方法中第一服务器在接收到终端设备发送的第一票务数据获取请求后,可确定处理该第一票务数据获取请求的资源设备,并向该资源设备发送第二票务数据获取请求,以使资源设备根据该第二票务数据获取请求,向第一服务器发送该第一票务数据获取请求的票务数据,第一服务器在接收到至少一个资源设备发送的票务数据时,可将该票务数据发送给所述终端设备,以使所述终端设备显示该票务数据。利用本申请实施例,可以实现缩短第一服务器向终端设备返回票务数据的时间,提高第一服务器的搜索效率,降低用户获取票务数据的等待时间,从而给用户的票务业务处理带来便利。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据获取、数据显示的方法及装置。
背景技术
为了提高用户处理业务的效率,各服务平台相继推出了各自的应用(Application,App),使得用户可通过这些App随时随地的发起业务处理请求,各服务平台根据接收到的业务处理请求为用户提供各种服务,进而给用户带来了极大的便利。
目前,用户可以通过终端设备(如电脑、手机等)中安装App向该App所属服务平台中的搜索服务器(该搜索服务器用于向该App提供业务数据)发送数据获取请求,搜索服务器对接收到的该数据获取请求进行解析,以确定该数据获取请求所需的业务数据,进而将确定出的业务数据返回给用户。
通常情况下,该数据获取请求所需的业务数据都是由搜索服务器本身来提供,即,该数据获取请求所需的业务数据已存在于该搜索服务器中。而在实际应用中,该数据获取请求所需的业务数据可能并不完全存在于搜索服务器中,这种情况下搜索服务器在接收到数据获取请求时,需要从各其他服务平台的业务服务器中获取该数据获取请求所需的业务数据,进而将从各其他服务平台的业务服务器获取到的业务数据返回给用户,以满足用户需求。
然而,该搜索服务器在向用户返回业务数据的过程中,通常是从其他服务平台的业务服务器中获取到该数据获取请求所需的业务数据,并将获取到的业务数据一并返回至终端设备。由于搜索服务器需要消耗较长的时间,才能从其他服务器平台的业务服务器中获取到该数据获取请求所需的业务数据,因此,终端设备也将需要等待较长的时间,才能获取到用户所需的业务数据,进而使得用户获取业务数据的耗时较长,这就给用户获取业务数据带来了极大的不便。
发明内容
本申请实施例提供一种数据获取、数据显示的方法及装置,用以解决现有技术中第一服务器搜索票务数据时存在的票务搜索效率较低,进而降低用户体验的问题。
本申请实施例提供了一种数据获取的方法,包括:
接收终端设备发送的第一票务数据获取请求;
确定用于响应所述第一票务数据获取请求的资源设备,所述资源设备提供用于响应所述第一票务数据获取请求的票务数据;
为所述资源设备分配线程,并通过所述线程向所述资源设备发送第二票务数据获取请求,所述第二票务数据获取请求用于从所述资源设备获取所述第一票务数据获取请求所请求的票务数据;
每当接收到所述资源设备发送的至少一个所述票务数据时,将所述票务数据发送给所述终端设备,以使所述终端设备显示所述票务数据。
本申请实施例提供了一种数据显示的方法,包括:
终端设备向第一服务器发送第一票务数据获取请求;
当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,所述票务数据是所述第一服务器根据所述终端设备发送的第一票务数据获取请求从能够响应所述第一票务数据获取请求的资源设备中获取的。
本申请实施例提供一种数据获取、数据显示的装置,用以解决现有技术中第一服务器搜索票务数据时存在的票务搜索效率较低,进而降低用户体验的问题。
本申请实施例提供了一种数据获取的装置,包括:
接收请求模块,接收终端设备发送的第一票务数据获取请求;
确定模块,确定用于响应所述第一票务数据获取请求的资源设备,所述资源设备提供用于响应所述第一票务数据获取请求的票务数据;
请求发送模块,为所述资源设备分配线程,并通过所述线程向所述资源设备发送第二票务数据获取请求,所述第二票务数据获取请求用于从所述资源设备获取所述第一票务数据获取请求所请求的票务数据;
数据发送模块,每当接收到所述资源设备发送的至少一个所述票务数据时,将所述票务数据发送给所述终端设备,以使所述终端设备显示所述票务数据。
本申请实施例提供了一种数据显示的装置,包括:
发送请求模块,向第一服务器发送第一票务数据获取请求;
显示模块,当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,所述票务数据是所述第一服务器根据所述装置发送的第一票务数据获取请求从能够响应所述第一票务数据获取请求的资源设备中获取的。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,第一服务器在向终端设备返回票务数据的过程中,并不是在从资源设备获取到全部的票务数据后,再将全部的票务数据发送回终端设备的,而是在接收到资源设备发送的一个票务数据后,即将该票务数据发送至终端设备中,由于第一服务器无需等到获取到全部的票务数据,便可将已接收的票务数据发送至终端设备中,因此极大的缩短了第一服务器向终端设备返回票务数据的时间,从而提高了第一服务器的票务搜索效率,相应的,用户无需经过较长的等待时间,即可获取到所需的票务数据,进而给用户的票务业务处理带来了便利。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的第一服务器从各资源设备获取票务数据的示意图;
图2为本申请实施例提供的数据获取过程的示意图;
图3为本申请实施例提供的数据显示的过程示意图;
图4A、4B为本申请实施例提供的终端设备根据票务数据包含的时间信息显示各票务数据的示意图;
图5为本申请实施例提供的用户订购机票时第一服务器向用户发送航班信息以及用户终端设备显示该航班信息的详细过程示意图;
图6为本申请实施例提供的一种数据获取的装置示意图;
图7为本申请实施例提供的一种数据显示的装置的示意图。
具体实施方式
为了实现本申请的目的,本申请实施例提供了一种数据获取、数据显示的方法及装置,第一服务器在接收到终端设备发送的第一票务数据获取请求后,可确定出处理该第一票务数据获取请求的至少一个资源设备,并利用为该资源设备分配的线程从该资源设备获取第一票务数据获取请求所需的票务数据,而后,第一服务器在接收到至少一个资源设备返回的至少一个票务数据后,即可将该票务数据发送给终端设备,以使终端设备显示该票务数据。由于第一服务器在向终端设备返回票务数据的过程中,并不是从资源设备获取到全部的票务数据后,再将全部的票务数据发送回终端设备的,而是在接收到资源设备发送的一个票务数据后,即将该票务数据发送至终端设备中,因此极大的缩短了第一服务器向终端设备返回票务数据的时间,从而提高了第一服务器的票务搜索效率,相应的,用户无需经过较长的等待时间,即可获取到所需的票务数据,进而给用户的业务处理带来了便利。
在申请实施例中,用户通过终端设备中安装的票务App获取票务数据的过程中,所需的票务数据可能并不是全部由该票务App所属的服务平台的服务器来提供的,一些票务数据可能存在于其他服务平台中的服务器,所以,该票务App所属服务平台的服务器若要向用户的终端设备返回用户所需的票务数据,则需要从其他服务平台中的服务器获取到并不存在于本地的票务数据,而后再将获取到的票务数据发送回终端设备中,以使终端设备将该票务数据进行显示。其中,由于该票务App所属服务平台的服务器并不能向终端设备发送数据获取请求所需的全部票务数据,而是需要从其他服务平台的服务器获取不存在本地的票务数据,即相当于从其他服务平台的服务器搜索该数据获取请求所需的票务数据,所以,在本申请实施例中,该票务App所属服务平台的服务器可以是第一服务器,而由于其他服务平台的服务器可以向该第一服务器提供该数据获取请求所需的票务数据,因此,其他服务平台的服务器可以称之为使该第一服务器获取票务数据的资源设备。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在实际应用中,用户通过诸如电脑、手机等终端设备来进行网上购票、订票等票务业务的处理过程中,通常需要通过终端设备向第一服务器发送数据获取请求,以使第一服务器通过解析该数据获取请求,确定该数据获取请求所需的票务数据,并将确定出的票务数据返回至用户的终端设备中。而第一服务器在向终端设备返回票务数据的过程中,若确定出该数据获取请求的一部分或全部票务数据并不存在于自身本地,则需要从其他服务平台的资源设备中获取到该数据获取请求所需的票务数据,再将获取到的票务数据发送至用户的终端设备,具体的票务数据获取过程如图1所示。
图1为本申请实施例提供的第一服务器从各资源设备获取票务数据的示意图。
在图1中,当用户通过终端设备向第一服务器发送数据获取请求时,该终端设备可将该数据获取请求发送至第一服务器中,其中,该数据获取请求所需的数据总共包含有票务数据a、票务数据b、票务数据c这三条票务数据,但是,这三条票务数据均不在第一服务器中,而是分别位于资源设备a、资源设备b、资源设备c中,这三个资源设备并不是与第一服务器同属于一个服务平台,而是分配属于不同的三个服务平台。第一服务器为了能够向用户返回该数据获取请求所需的票务数据,则需要从这三个资源设备分别获取票务数据a、票务数据b、票务数据c,继而在获取到这全部的三个票务数据后,再将这三个票务数据发送至用户的终端设备中。
在上述过程中,第一服务器通常需要从不同的资源设备获取到全部的票务数据后,才会将全部的票务数据一并发送回终端设备中,而由于第一服务器与不同的资源设备之间的网络状态不同,该第一服务器从不同的资源设备中获取票务数据的时间也存在差异,致使第一服务器搜索票务数据所消耗的时间较长,从而使得用户需要等待较长的时间才能获取到所需的票务数据,进而给用户的票务业务处理造成了不便。
为了有效的解决上述问题,在本申请实施例中,第一服务器无需在从各资源设备获取到全部的票务数据后,再将全部的票务数据一并发送给用户的终端设备,而是在接收到至少一个资源设备发送的至少一个票务数据,即可将该票务数据发送回用户终端设备中,虽然用户起初获取到的并不是全部的票务数据,但是,用户在发送数据获取请求到获取该票务数据的这段时间将极大的缩短,并且用户在查看该票务数据的过程中,该第一服务器还会将用户所需的其余票务数据陆续发送给用户的终端设备中,以供用户进行查看,这样就极大的提高了用户票务业务处理的效率,给用户带来了便利。
在本申请实施例中,第一服务器存在两种情况:第一种,第一服务器可以是能够提供票务搜索服务、代订购票务的服务器,而实际的出票方则并不是该第一服务器所属的服务平台,例如,对于订购飞机票的场景而言,该第一服务器并不是各航空公司的服务器,而是能够向用户提供搜索票务、代订购票务的服务平台的服务器。
而第一服务器的第二种情况则可以是票务服务器,即,能够提供票务搜索、代订购票的务服务,同时该票务服务器所属的服务平台也是实际的出票方,例如,还以订购飞机票的场景为例,该票务服务器可以是航空公司的服务器。对于这两种情况来说,均适用于本申请实施例所提供的数据获、数据显示的方法,下面以第一服务器的第一种情况来对本申请所提供的方案进行说明,具体的过程如图2所示。
图2为本申请实施例提供的数据获取过程的示意图,具体包括以下步骤:
S201:接收终端设备发送的第一票务数据获取请求。
用户在进行诸如网上订票、购票等票务业务处理的过程中,可在终端设备中输入办理票务业务的相关信息,如,用户需要购买机票出行时,可在终端设备中输入出行的始发地、目的地,出发时间等信息,这些信息就构成了用户办理购买机票这项票务业务的相关信息。
而若终端设备监测到用户在该终端设备中执行了指定操作后,则可确定用户输入的办理票务业务的相关信息,继而根据该相关信息,生成与该相关信息相对应的第一票务数据获取请求,并将该第一票务数据获取请求发送至第一服务器中。
例如,针对用户购买机票出行的这项票务业务,当用户在终端设备中将出行的始发地、目的地、出行时间等购票信息(即相关信息)输入完毕后,可点击终端设备向用户显示的搜索控件,以此来获取符合用户输入的相关信息的航班信息(即票务数据)。而终端设备在监测到用户点击了该搜索控件后,即可确定该用户在终端设备中输入的购票信息(即相关信息),并根据确定出的购票信息,生成对应该购票信息的航班获取请求(即第一票务数据获取请求),继而将该航班获取请求发送至第一服务器中,而第一服务器则可接收该航班获取请求,进而在后续过程中,通过该航班获取请求,从各航空公司的服务器(即资源设备)获取该航班获取请求所需的航班信息(即票务数据),并将获取到的航班信息发送回终端设备中。
在本申请实施例中,用户也可在终端设备安装的票务App中输入办理票务业务的相关信息,如,用户通过点击终端设备所安装的某个票务App的图标,来打开该票务App,该票务App可向用户展示票务业务办理的界面,以使用户将办理票务业务的相关信息输入到该界面中。而当用户点击了该界面中的指定控件后(如点击了确定控件),该票务App可确定用户在该界面中输入的办理票务业务的相关信息,并根据该相关信息生成相应的第一票务数据获取请求,进而将该第一票务数据获取请求通过终端设备发送至第一服务器中。
S202:确定用于响应所述第一票务数据获取请求的资源设备,所述资源设备提供用于响应所述第一票务数据获取请求的票务数据。
第一服务器在接收到终端设备发送的第一票务数据获取请求后,需要进一步的确定出能够处理该第一票务数据获取请求的至少一个资源设备,此举的目的在于,由于该第一票务数据获取请求所需的票务数据并不是全部存在于第一服务器中的,第一服务器若将该第一票务数据获取请求所需的全部票务数据发送回终端设备中,则需要借助其他资源设备的帮助,从这些资源设备中获取到该第一票务数据获取请求所需的票务数据,进而将从不同资源设备获取到的票务数据发送回终端设备中,以使终端设备将这些票务数据进行显示。而第一服务器在从各资源设备获取该第一票务数据获取请求所需的票务数据时,需要先确定出哪些资源设备可向第一服务器提供与该第一票务数据获取请求相符的票务数据,才能在后续过程中从确定出的资源设备中获取到这些票务数据。
因此,在本申请实施例中,第一服务器在接收到终端设备发送的第一票务数据获取请求后,可确定出能够处理该第一票务数据获取请求的至少一个资源设备,具体的确定方式可以是:第一服务器可确定出该第一票务数据获取请求中包含的票务类型,并通过确定出的票务类型,进一步的确定出与该票务类型相匹配的至少一个资源设备,即确定出的至少一个资源设备能够用于响应所述第一票务数据获取请求。其中,这里提到的票务类型可以是该第一票务数据获取请求所要获取的票务的种类,这里的票务的种类可以包含交通类票务,酒店类票务,这里需要说明的是,交通类票务可以但不限于包含机票、火车票、公共汽车票等,机票和火车票属于不同的票务类型。
第一服务器在确定该第一票务数据获取请求中所包含的票务类型的过程中,可通过识别该第一票务数据获取请求中所包含的票务类型标识,来确定出该第一票务数据获取请求中所包含的票务类型,如,当第一服务器确定出该第一票务数据获取请求中包含有飞机的字段时(即用户在票务App中填写购票信或订票信息时在出行方式上勾选了飞机的选项),可确定出该第一票务数据获取请求所包含的票务类型为购买机票的票务类型。
第一服务器也可通过识别该第一票务数据获取请求所包含的App标识,来确定出该第一票务数据获取请求所包含的票务类型。具体的,通常情况下,票务App在向第一服务器发送第一票务数据获取请求时,通常会将自身的票务App标识携带在该第一票务数据获取请求中,所以,第一服务器在接收到该票务App发送的第一票务数据获取请求后,可识别出该第一票务数据获取请求中所包含的票务App标识,进而通过该票务App标识,确定出发送该第一票务数据获取请求的票务App。若该票务App是一个专门用于订购指定票务的App,如专门用于购买飞机票的App,则第一服务器在确定出该票务App后,即可进一步的确定出该票务App发送的第一票务数据获取请求所涉及的票务类型,进而确定出该第一票务数据获取请求所对应的票务类型。
除此之外,搜索服务器还可以根据终端设备发送的第一票务数据获取请求中所包含的指定票务字段,确定出与该指定票务字段相对应的至少一个票务类型,这里提到的指定票务资源包括但不限于:目的地、始发地、往返时间等。
例如,用户在票务App中填写购票或订票的相关信息时,若没有在订票或购票的页面中勾选相应的出行方式,则终端设备根据用户在该页面中填写的相关信息而生成的第一票务数据获取请求中则不会包含相应的票务类型。第一服务器在接收到该第一票务数据获取请求后,未在该第一票务数据获取请求中查找到相应的票务类型,则可根据该第一票务数据获取请求中包含的诸如目的地、始发地、往返时间等指定字段,确定出该第一票务数据获取请求所需票务数据的票务类型为所有出行方式的票务类型,如,飞机票、火车票、客车票、船票等,这样,该第一服务器在后续过程中即可从各种出行方式所对应的资源设备获取到第一票务数据获取请求所需的票务数据。
第一服务器在确定出第一票务数据获取请求中包含的票务类型后,可进一步的确定出与该票务类型相符的资源设备。例如,假设第一服务器确定出终端设备发送的第一票务数据获取请求中包含的票务类型为购买机票的票务类型,则可进一步的确定出能够提供该第一票务数据获取请求所需的票务数据的资源设备为NH公司的服务器、DH公司的服务器、ZH公司的服务器等。
S203:为所述资源设备分配线程,并通过所述线程向所述资源设备发送第二票务数据获取请求,所述第二票务数据获取请求用于从所述资源设备获取所述第一票务数据获取请求所请求的票务数据。
第一服务器在确定出处理上述第一票务数据获取请求的至少一个资源设备后,可分别向不同的资源设备发送第二票务数据获取请求,以使各资源设备在接收到来自该第一服务器的该第二票务数据获取请求后,根据该第二票务数据获取请求中的内容,向第一服务器返回该第二票务数据获取请求所需的票务数据。其中,该第二票务数据获取请求中包含有该第一票务数据获取请求所需的票务数据的信息,资源设备接收到该第二票务数据获取请求后,可根据该第二票务数据获取请求中包含的该第一票务数据获取请求所需票务数据的信息,将自身(即资源设备)所能提供的该第一票务数据获取请求所需的票务数据返回给第一服务器。
当然,上述第二票务数据获取请求中也可包含有该第一票务数据获取请求,这样一来,当资源设备接收到该第二票务数据获取请求后,可根据该第二票务数据获取请求中包含的该第一票务数据获取请求,确定出自身(即该资源设备)针对该第一票务数据获取请求所能提供的票务数据,并将确定出的票务数据返回给第一服务器。除此之外,该第二票务数据获取请求也可以就是该第一票务数据获取请求,此时,该第二票务数据获取请求可以理解为第一服务器将终端设备发送的第一票务数据获取请求转发给了所述资源设备。
为了进一步的提高获取票务数据的效率,在本申请实施例中,第一服务器可并行向确定出的各资源设备发送上述第二票务数据获取请求,具体的方式可以是:第一服务器在确定出能够响应该第一票务数据获取请求的各资源设备后,可从预设的线程资源池中为不同的资源设备分配线程,每个线程负责向各自对应的资源设备发送上述第二票务数据获取请求,以使各资源设备向该第一服务器返回该第二票务数据获取请求所需的票务数据。
例如,假设第一服务器确定出处理该第一票务数据获取请求的资源设备为服务器A、服务器B、服务器C,第一服务器可进一步的从预设的线程资源池中为这三个资源设备分别分配一个线程,具体的分配关系如表1所示。
线程 | 资源设备 |
线程r | 服务器A |
线程s | 服务器B |
线程t | 服务器C |
表1
从表1中可以看出,每个线程对应一个资源设备,每个线程负责向各自对应的资源设备发送用于获取该第一票务数据获取请求所需票务数据的第二票务数据获取请求,所以,当第一服务器并行启动各线程时,线程r、线程s、线程t即可分别向各自负责服务器A、服务器B、服务器C发送上述第二票务数据获取请求,以使服务器A、服务器B、服务器C分别向第一服务器返回该第一票务数据获取请求所需的票务数据。
需要说明的是,第一服务器在为确定出的各资源设备分配线程时,可先根据该第一票务数据获取请求中包含的票务类型,以及预设的票务类型与线程资源池之间的映射关系,确定出与该票务类型相匹配的线程资源池。如,当第一服务器确定出第一票务数据获取请求中包含的票务类型为飞机票时,则可确定出用于获取飞机票的线程资源池,而当第一服务器确定出第一票务数据获取请求中包含的票务类型为火车票时,则可确定出用于获取火车票的线程资源池。
第一服务器根据第一票务数据获取请求中包含的票务类型,确定出与该票务类型相对应的线程资源池后,可进一步的确定出该线程资源池中空闲的线程,并根据确定出的资源设备的数量,从这些空闲的线程中选出相应数量的线程分配给与该票务类型相匹配的资源设备。
当然,第一服务器分配给各资源设备的线程也可来自于同一线程资源池,换句话说,所有的票务类型均对应于一个线程资源池。而除此之外,第一服务器也可从用于处理其他业务的线程资源池调取各线程,并将各线程进行分配,以使各线程并行的向不同的资源设备(即确定出的处理该第一票务数据获取请求的各资源设备)发送上述第二票务数据获取请求,当通过各线程获取到该第一票务数据获取请求所需的全部票务数据后,将调用的各线程再返还至各线程归属的线程池中。
S204:每当接收到所述资源设备发送的至少一个所述票务数据时,将所述票务数据发送给所述终端设备,以使所述终端设备显示所述票务数据。
第一服务器通过各线程并行向不同的资源设备发送上述第二票务数据获取请求后,可通过各线程分别接收资源设备返回的与该第二票务数据获取请求相符的票务数据(也即第一票务数据获取请求所需的票务数据)。而当第一服务器通过各线程接收到一个资源设备发送的所述票务数据后,即可将该票务数据发送至用户的终端设备中,以使该终端设备显示该票务数据。
为了能够提高第一服务器向终端设备返回票务数据的速度,以进一步的缩短用户获取票务数据的过程中所消耗的等待时间,在本申请实施例中,第一服务器可对确定出的各线程进行监听,当监听到某一线程接收到第一服务器发送的票务数据后,则可将该票务数据发送给用户的终端设备中。
具体的,第一服务器可通过预设的监听设备,对线程实施监听,当该监听设备监听到线程接收到该线程所对应的资源设备发送的票务数据后,则可将该票务数据发送给用户的终端设备中。其中,第一服务器可为各线程分别设置一个监听器来对各线程实施监听,也可以设置一个监听器来对各线程实施监听。
其中,第一服务器在为线程配置监听设备时,可根据预先保存的各线程与监听设备的对应关系,确定出各线程(即确定出的用于从不同资源设备获取所述票务数据的线程)所对应的监听设备,而后,第一服务器可通过该监听设备,对确定出的用于从资源设备获取票务数据的至少一个线程实施监听,对于这种情况来说,第一服务器即通过一个监听设备对确定出的各线程实施监听。
除此之外,第一服务器也可对确定出的各线程分别分配不同的监听设备来进行监听。具体的,第一服务器可根据预先保存的多个线程与各监听设备之间的对应关系,分别确定出各线程(即确定出的用于从不同资源设备获取所述票务数据的线程)所对应的监听设备,而后,服务器可启动这些监听设备,从而实现对各线程的监听。
通过监听设备对线程进行监听的过程中,第一服务器可通过监听设备发送的数据监听消息,来确定监测到所述线程接收到该线程对应的资源设备发送的至少一个票务数据,即,当监听设备监听到其负责监听的线程接收到资源设备(即该线程对应的资源设备)发送的票务数据时,则可向第一服务器发送数据监听消息,以通知第一服务器该线程已接收到该资源设备发送的票务数据,第一服务器在接收到该数据监听消息后,可确定出该线程已接收到该资源设备发送的票务数据,进而通过该线程获取到该资源设备发送的票务数据。
第一服务器在向终端设备发送票务数据的过程中,可以与该终端设备建立长连接,并通过长连接的方式,将该票务数据发送至用户的终端设备中。第一服务器在与用户的终端设备建立长连接的过程中,可先向该终端设备发送一个心跳消息,并当接收到终端设备根据该心跳消息而返回的应答消息时,则确定出当前该终端设备的网络状态良好,能够接收第一服务器发送的票务数据,继而将从资源设备获取到的票务数据发送至该终端设备中,以使该终端设备对该票务数据进行显示。
例如,假设第一服务器接收到的第一票务数据获取请求为购买机票的请求,当第一服务器从DH公司的服务器(即资源设备)获取到该购买机票请求所需的一个航班信息(即票务数据)时,则可通过长连接的方式,将该航班信息发送至用户的终端设备中,以使该终端设备向用户显示该航班信息。
第一服务器在向终端设备发送获取到的票务数据时,除了可逐条向第一服务器发送各票务数据外,也可在接收到资源设备发送的票务数据达到设定数量时,将设定数量的票务数据发送给该终端设备,换句话说,第一服务器可获取到设定数量的票务数据后,即可将这设定数量的票务数据发送给终端设备,而当接收到的票务数据的数量再次达到设定数量时,再将该设定数量的票务数据发送至终端设备中,其中,该设定数量可以是人为在第一服务器中进行设置的。
当然,第一服务器在向终端设备发送票务数据时,也可先从终端设备发送的第一票务数据获取请求中确定出终端设备所要求的票务数据获取数量,其中,这里提到的票务数据获取数量可以是终端设备规定的第一服务器每次向终端设备发送的票务数据的数量。
票务数据确定出第一票务数据获取请求中包含的票务数据获取数量后,可监测从资源设备获取票务数据的数量,当从资源设备获取到的票务数据的数量达到该票务数据获取数量时,则将获取到的票务数据发送给终端设备进行显示,此时,第一服务器将对从资源设备获取的票务数据的数量进行重新统计,当统计出从资源设备获取到的票务数据的数量再次达到该票务数据获取数量时,则将再次获取到的这些票务数据发送给中终端设备进行显示。
除此之外,在本申请实施例中,第一服务器也可根据终端设备发送的第一票务数据获取请求中携带的终端设备的屏幕尺寸,确定向该每次终端设备发送票务数据的数量,如,第一服务器可根据该屏幕尺寸,确定出在该屏幕尺寸下,该终端设备能够在终端屏幕中能够清楚显示票务数据时,该终端屏幕所能容纳的票务数据的最大数量。当从资源设备获取到的票务数据的数量达到根据屏幕尺寸确定出的数量时,则将这些票务数据发送给终端设备进行显示,此时,第一服务器将对从资源设备获取的票务数据的数量进行重新统计,当统计出从资源设备获取到的票务数据的数量再次达到该数量(即根据该屏幕尺寸确定出的数量)时,则将再次获取到的这些票务数据发送给中终端设备进行显示。
需要说明的是,上述提到的这几种向终端设备发送票务数据的方式中,第一服务器每次向终端设备发送的票务数据都是基于同一第一票务数据获取请求来发送的,即,相当于终端设备向第一服务器发送第一票务数据获取请求后,第一服务器可将该第一票务数据获取请求所需的票务数据分批发送至终端设备中进行显示。
从上述方法中可以看出,由于第一服务器在向终端设备返回票务数据的过程中,并不是在从不同的资源设备获取到全部的票务数据后,再将全部的票务数据发送回终端设备的,而是在接收到一个资源设备发送的至少一个票务数据后,可将该票务数据发送至终端设备中,因此极大的缩短了第一服务器向终端设备返回票务数据的时间,从而提高了第一服务器的票务搜索效率,相应的,用户无需经过较长的等待时间,即可获取到所需的票务数据,进而给用户的票务业务处理带来了便利。
当终端设备接收到第一服务器发送的票务数据后,可将该票务数据显示给用户,终端设备接收的第一服务器发送的票务数据并不是该第一票务数据获取请求所需的全部票务数据,而是第一服务器率先发送的一个或一部分票务数据,而由于终端设备最终需要将该第一票务数据获取请求所需的全部票务数据展示给用户,所以,该终端设备后续在接收到该第一服务器逐步发送的各票务数据后,需要根据当前已显示的各票务数据(即第一服务器先前发送的各票务数据)以及当前接收到的票务数据,将当前的显示结果进行调整,进而将已接收的各票务数据进行显示,具体的过程如下图所示。
图3为本申请实施例提供的数据显示的过程示意图,具体包括以下步骤:
S301:终端设备向第一服务器发送第一票务数据获取请求。
在本申请实施例中,用户在终端设备中填写完购票或订票的相关信息后,终端设备可根据这些相关信息,生成相应的第一票务数据获取请求,而后,该终端设备可将该第一票务数据获取请求发送给第一服务器,以使该票务数据根据该第一票务数据获取请求,向终端设备发送该第一票务数据获取请求所需的票务数据。当然,生成该第一票务数据获取请求的执行主体也可以是票务App。
S302:当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,所述票务数据是所述第一服务器根据所述终端设备发送的第一票务数据获取请求从能够响应所述第一票务数据获取请求的资源设备中获取的。
终端设备在接收到第一服务器发送的票务数据后,可将该票务数据进行显示,其中,当该票务数据为第一服务器获取到的该第一票务数据获取请求所需的第一个票务数据时,则终端设备可将该票务数据直接显示给用户。而由于在本申请实施例中,第一服务器是将第一票务数据获取请求所需的各票务数据逐步发送至用户的终端设备中的,所以,当终端设备接收到的票务数据并不是第一服务器获取到的该第一票务数据获取请求所需的第一个票务数据时,即,终端设备当前已显示了一部分票务数据,则该终端设备可按照接收票务数据的时间,将已接收的各票务数据(已接收的票务数据包括已显示的各票务数据以及终端设备当前接收的票务数据)进行排序,并按照排序结果,显示各票务数据。
例如,假设上述第一票务数据获取请求为用户购买机票的请求,该购买机票请求所需的全部8个航班信息分别由DH公司、NH公司、ZH公司这三家公司提供,各航班信息与各航空公司对应关系如表2所示。
表2
第一服务器在从DH公司的服务器(即资源设备)获取到航班信息:8L9823:北京-上海,2016年11月9日,17:23起飞,T2后,可将该航班信息发送给用户的终端设备中,若该航班信息为第一服务器向终端设备发送的购买机票请求所需的第一个航班信息时(这里的第一个航班信息指的是第一服务器最先获取到的航班信息),则可直接将该航班信息进行显示,以供用户进行查看。
而若终端设备在接收该航班信息(8L9823:北京-上海,2016年11月9日,17:23起飞,T2)之前,已接收并向用户显示了航班信息:2Z8434:北京-上海,2016年11月9日,23:53起飞,T2,则终端设备可按照接收各航班信息的时间,将各航班信息进行排序,并按照排序结果,显示各航班信息,即,将航班信息:8L9823:北京-上海,2016年11月9日,17:23起飞,T2显示在航班信息:2Z8434:北京-上海,2016年11月9日,23:53起飞,T2之后。
在本申请实施例中,终端设备也可按照票务数据中包含的时间信息来对各票务数据进行显示。具体的,终端设备在接收到第一服务器发送的票务数据时,确定出在接收该票务数据之前已显示了一部分票务数据,即,除当前时刻接收的票务数据外,终端设备在此时已接收并显示了第一服务器发送的一部分票务数据,则终端设备可确定出该票务数据(当前时刻接收的票务数据)以及已显示的票务数据中包含的时间信息,并根据确定出的各时间信息,将该票务数据(当前时刻接收的票务数据)以及已显示的票务数据进行排序,并将得到的排序结果进行显示。如图4A、4B所示。
图4A、4B为本申请实施例提供的终端设备根据票务数据包含的时间信息显示各票务数据的示意图。
图4A中显示的各航班信息(各票务数据)为终端设备先前接收到的第一服务器根据终端设备发送的购买机票请求(即第一票务数据获取请求)而返回的航班信息(即票务数据),从图4A中所显示的各航班信息来看,各航班信息均是按照航班起飞的时间来进行排序的(即按照航班信息中包含的时间信息排序的),因此,当终端设备接收到第一服务器发送的航班信息:9L2934:北京-上海,2016年11月10日,08:45起飞,T3时,则可根据已显示的各航班信息中包含的航班起飞时间(即时间信息)以及航班信息9L2934:北京-上海,2016年11月10日,08:45起飞,T3中包含的航班起飞时间:2016年11月10日,08:45,将各航班信息进行排序,已得到如图4B所示的排序结果,进而将各航班信息按照图4B所示的方式进行显示。
当然,在本申请实施例中,终端设备也可根据各票务数据中包含的价格信息,将已显示的各票务数据以及当前接收到的票务数据进行排序,并按照得到的排序结果显示各票务数据,具体的过程与上述示例相同,在此就不进行详细赘述了。
需要说明的是,在本申请实施例中,当第一服务器向终端设备发送的票务数据是多种票务类型的票务数据时,终端设备则可根据票务类型,对接收到的至少一个票务数据进行分类,而后,终端设备可根据分类结果,将接收到的至少一个票务数据进行分类显示。
例如,当第一服务器向终端设备发送的各票务数据中即包含有飞机票也包含有火车票时,则终端设备可将获取到的飞机票归为一类,而将获取到的火车票归为一类,而后,终端设备可将这两个类别的票务数据分别在同一页面进行显示,也可利用不同的分页进行分别显示。
除此之外,在本申请实施例中,终端设备在接收到第一服务器发送的至少一个票务数据后,可分别确定出各票务数据的票务属性,而后,终端设备可根据确定出的票务属性,将获取到的所述至少一个票务数据进行排序,得到排序结果,并将得到的排序结果进行显示。其中,这里提到的票务属性包括但不限于:车次、航班号、航次号、出发时间、到达时间等,而终端设备在根据票务属性对获取到的所述至少一个票务数据进行排序时,都是基于同一票务属性进行的。
例如,当终端设备接收到第一服务器发送的各票务数据后,可分别确定出各票务数据中包含的航班号(这里所说的票务数据均为航班信息),该航班号即为终端设备确定出的票务属性,而后,终端设备可根据确定出的各航班号,将获取到的各票务数据进行排序,得到相应的排序结果,并按照该排序结果,将获取到的各票务数据进行显示。
终端设备在对获取到的票务数据进行显示的过程中,可通过预设的页面组件,将获取到的票务数据进行渲染,进而实现对该票务数据的显示。
还需说明的是,在本申请实施例中,终端设备在接收到第一服务器发送的票务数据时,可对该票务数据进行诸如票务数据的完整性校验、票务数据的安全性校验等预设校验,如该票务数据是否可以有效读取、该票务数据的数据格式是否正常等,若该票务数据没有通过终端设备的预设校验,则该终端设备可丢弃该票务数据,并向第一服务器发送重新获取该票务数据的数据获取请求,以使第一服务器根据该数据获取请求,重新向该终端设备发送给该票务数据,而当该票务数据通过终端设备的预设校验时,则终端设备可通过预设的页面组件对该票务数据进行渲染并显示。
从上述方法中可以看出,由于第一服务器并不是在获取到该第一票务数据获取请求所需的全部票务数据后,再将全部的票务数据一并发送至用户的终端设备中,而是在获取到一个资源设备返回的票务数据后,即将该票务数据发送至用户的终端设备中,虽然用户接收到的票务数据并不是全部的票务数据,但是这将极大的缩短用户发送第一票务数据获取请求到第一服务器返回票务数据的这段时间间隔,从而极大的降低了用户等待第一服务器返回票务数据的时间,并且,用户查看该票务数据的过程中,第一服务器还将陆续接收各资源设备发送的各票务数据,进而相继将各票务数据发送至终端设备中,所以,用户的终端设备会将第一服务器发送的全部票务数据相继显示给用户,从而在提高第一服务器票务搜索效率的同时,也并不会对用户查看票务数据造成不良的影响。
为了进一步清楚的说明本申请实施例所提供的数据获取、数据显示的方法,下面仅以用户订购机票的场景来对整个过程进行详细说明。
图5为本申请实施例提供的用户订购机票时第一服务器向用户发送航班信息以及用户终端设备显示该航班信息的详细过程示意图。
用户通过线上来购买机票的过程中,可在终端设备或是终端设备安装的App中输入出行时间、出行始发地、目的地等出行信息,如,通过点击App中显示的各控件,来选取所需的出行信息,而用户输入完出行信息后,可确定所输入的出行信息,如点击终端设备界面中所显示的确定控件。
终端设备当监测到用户执行了指定的操作后,如,点击了终端设备向用户显示的确定控件,则可确定用户输入的出行信息,进而根据确定出的出行信息,生成相应的航班获取请求。
终端设备可将生成的航班获取请求发送的至第一服务器,以使第一服务器后续通过该航班获取请求,向终端设备发送该航班获取请求所需的航班信息。
第一服务器接收到终端设备发送的航班获取请求后,可对该航班获取请求进行安全性校验,以校验该航班获取请求是否为合法的请求,若是,则确定该航班获取请求通过安全性校验,若否,则确定该航班获取请求不符合搜索服务器所规定的安全条件,并丢弃该航班获取请求。当然,第一服务器也可在确定出该航班获取请求未通过安全性校验后,向终端设备返回一个航班获取请求校验失败的提示,以使终端设备根据该提示,重新生成航班获取请求,并将重新生成的航班获取请求发送至该第一服务器中。
当第一服务器确定终端设备发送的航班获取请求通过安全性校验时,则可根据该航班获取请求的票务类型,确定能够处理该航班获取请求的各航空公司的服务器。
为了进一步的提高向用户返回航班信息的效率,第一服务器可先从预设的线程资源池中确定出各线程,各线程的数量可与确定出的该航班获取请求对应的各航空公司的服务器的数量相对应,而后,第一服务器可对应确定出的各航空公司的服务器将各线程进行分配,后续第一服务器可并行启动各线程,使得每个线程负责向自身对应的航空公司的服务器发送用于从航空公司服务器获取航班获取请求所需航班信息的第二票务数据获取请求,进而使各航空公司的服务器根据该第二票务数据获取请求,分别向第一服务器发送该航班获取请求所需的航班信息。
第一服务器可对确定出的各线程挂载监听设备,该监听设备用于对各线程接收各航空公司的服务器发送的航班信息的情况进行监听,当该监听设备监听到某一线程接收到该线程所对应的航空公司的服务器发送的航班信息时,则可指示该第一服务器与用户的终端设备建立长连接,以使该第一服务器通过长连接的方式,将接收到的航班信息发送至用户的终端设备中。
第一服务器在与终端设备建立长连接的过程中,可先向用户的终端设备发送的一个心跳消息,并当终端设备根据该心跳消息向第一服务器返回相应的应答消息时,再与终端设备建立长连接通道,以通过该长连接通道,向用户的终端设备发送获取到的航班信息。
用户的终端设备接收到第一服务器发送的航班信息后,可对该航班信息进行诸如票务数据的安全性校验、票务数据的完整性校验等预设校验,以校验该航班信息中所包含的数据是否完整、该航班信息的数据格式是否符合该终端设备(或终端设备中的App)所规定的数据格式或该航班信息所包含的数据信息是否安全。当终端设备确定该航班信息通过预设校验时,可通过预设的页面组件将该航班信息进行渲染并显示,以供用户进行查看,若终端设备确定该航班信息未通过预设校验时,则可丢弃该航班信息,并向第一服务器发送重新获取该航班信息的请求。
用户的终端设备在向用户显示该航班信息时,若该航班信息为第一服务器向终端设备发送的该航班获取请求所需的第一个航班信息时(这里的第一个航班信息指的是第一服务器从各航空公司的服务器中获取到的第一个航班信息),可将该航班信息直接进行显示,若是终端设备在接收该航班信息之前,已显示了一些航班信息(已显示的航班信息为在当前时刻之前,终端设备接收到第一服务器发送的该航班获取请求所需的各航班信息),则终端设备可根据当前时刻接收到的该航班信息中包含的时间信息,以及已显示的各航班信息中包含的各时间信息,将当前时刻已经接收到的该航班获取请求所需的所有航班信息进行排序,并按照排序结果,将各航班信息进行显示。
需要说明的是,虽然在本申请中,都是以订购票务的场景来进行说明的,但是,本申请所提供的数据获取方法以及数据显示方法并不局限于订购票务的场景,本申请所提供的数据获取方法以及数据显示方法也可以利用在与订购票务场景相似的其他场景中,如,对于购房和租房的场景中,同样可以涉及到房源服务器从其他服务平台的资源设备获取房源信息的情况。而对于房源信息来说,同样也具备与航班信息、火车票信息等票务信息相同的特性,如,价格动态变化、房源信息下架等特性。所以,对于本申请所提供的数据获取方法以及数据显示方法同样适用于购房和租房的场景中,具体的实施过程与上述步骤S201~S204以及步骤S301~S302相同,在此就不进行详细赘述了。而除了可用于购房和租房的场景外,本申请提供的数据获取方法以及数据显示方法也可用于和购房和租房的场景、订购票务场景相似的场景中,在此也不再一一举例说明了。
以上为本申请实施例提供的数据获取、数据显示的方法,基于同样的思路,本申请实施例还分别提供一种数据获取的装置以及一种数据显示的装置,如图6、7所示。
图6为本申请实施例提供的一种数据获取的装置示意图,具体包括:
接收请求模块601,接收终端设备发送的第一票务数据获取请求;
确定模块602,确定用于响应所述第一票务数据获取请求的资源设备,所述资源设备提供用于响应所述第一票务数据获取请求的票务数据;
请求发送模块603,为所述资源设备分配线程,并通过所述线程向所述资源设备发送第二票务数据获取请求,所述第二票务数据获取请求用于从所述资源设备获取所述第一票务数据获取请求所请求的票务数据;
数据发送模块604,每当接收到所述资源设备发送的至少一个所述票务数据时,将所述票务数据发送给所述终端设备,以使所述终端设备显示所述票务数据
所述确定模块602,确定所述第一票务数据获取请求所请求的票务数据对应的至少一个票务类型;根据所述票务类型,确定与所述票务类型相匹配的至少一个资源设备。
所述确定模块602,当所述第一票务数据获取请求中尚未包含票务类型时,根据所述第一票务数据获取请求中包含的指定票务字段,确定满足所述指定票务字段的票务数据对应的至少一个票务类型,所述指定票务字段包括:目的地、始发地、往返时间中的至少一个。
所述请求发送模块603,根据票务类型与线程资源池之间的映射关系,得到与确定的所述票务类型对应的线程资源池,所述线程资源池中包含多个线程,所述线程资源池中包含的所述线程用于获取所述票务类型对应的票务数据;从确定的所述线程资源池中选择空闲的线程,并将选择的所述线程分配给与所述票务类型相匹配的所述资源设备。
所述请求发送模块603,若所述资源设备的数量大于1时,则并行启动为所述资源设备分配的所述线程,利用所述线程向所述线程对应的所述资源设备发送第二票务数据获取请求。
所述数据发送模块604,通过所述线程接收所述资源设备发送的至少一个票务数据。
所述数据发送模块604,监听所述线程;当监听到所述线程接收到所述资源设备发送的至少一个票务数据时,则将所述票务数据发送给所述终端设备。
所述数据发送模块604,根据线程与用于监听所述线程的监听设备之间的对应关系,启动所述线程对应的监听设备,所述监听设备用于监听所述线程是否接收到所述资源设备发送的票务数据;或
根据多个线程与用于监听所述多个线程的监听设备之间的对应关系,启动所述监听设备,所述监听设备用于监听所述多个述线程中的至少一个所述线程是否接收到所述资源设备发送的票务数据。
所述数据发送模块604,当接收到所述监听设备发送的数据监听消息时,则确定监测到所述线程接收到所述资源设备发送的至少一个票务数据。
所述数据发送模块604,当通过所述监听设备监听到所述线程接收到至少一个所述资源设备发送的至少一个票务数据时,则向所述终端设备发送心跳消息;当接收到所述终端设备根据所述心跳消息返回的应答消息时,则建立与所述终端设备的长连接通道,并通过所述长连接通道,将所述票务数据发送给所述终端设备。
所述数据发送模块604,当通过所述线程接收到所述资源设备发送的票务数据调用完成指示时,则释放所述线程。
所述数据发送模块604,当从所述资源设备获取到的票务数据的数量达到设定数量时,则将所述设定数量的票务数据发送给所述终端设备;或
确定所述第一票务数据获取请求中包含的票务数据获取数量,所述票务数据获取数量是所述终端设备根据所述第一票务数据获取请求每次获取票务数据的数量,当从所述资源设备获取到的票务数据的数量达到所述票务数据获取数量时,则将所述票务数据获取数量的票务数据发送给所述终端设备;或
确定所述第一票务数据获取请求中携带的所述终端设备的屏幕尺寸,并根据所述屏幕尺寸,确定向所述终端设备发送所述票务数据的数量,当从所述资源设备获取到的票务数据的数量达到根据所述屏幕尺寸确定出的数量时,则将所述数量的票务数据发送给所述终端设备。
图7为本申请实施例提供的一种数据显示的装置的示意图,具体包括:
发送请求模块701,向第一服务器发送第一票务数据获取请求;
显示模块702,当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,所述票务数据是所述第一服务器根据所述装置发送的第一票务数据获取请求从能够响应所述第一票务数据获取请求的资源设备中获取的。
所述显示模块702,按照接收所述票务数据的时间,对所述票务数据进行排序;按照排序结果,通过预设的页面组件渲染所述票务数据并显示。
所述显示模块702在确定接收到所述票务数据之前存在已显示的票务数据时,确定所述票务数据中包含的时间信息以及已显示的票务数据中包含的时间信息;根据所述时间信息,将所述票务数据以及已显示的票务数据进行排序,并按照得到的排序结果,通过预设的页面组件渲染接收到的所述票务数据并显示。
所述显示模块702,当接收到所述第一服务器返回的至少一个票务数据时,则对所述票务数据进行预设校验,所述预设校验包括:票务数据的完整性校验、票务数据的安全性校验中的至少一种;若所述票务数据通过所述预设校验时,则通过预设的页面组件渲染所述票务数据并显示;若所述票务数据未通过所述预设校验时,则向所述第一服务器发送重新获取所述票务数据的数据获取请求,以使所述第一服务器根据所述数据获取请求,重新获取所述票务数据并将重新获取到的所述票务数据发送给所述装置。
所述显示模块702,当接收到所述第一服务器发送的至少一个票务数据时,根据所述至少一个票务数据的票务类型,将所述至少一个票务数据进行分类,得到所述至少一个票务数据的分类结果,通过预设的页面组件渲染所述至少一个票务数据,并将所述至少一个票务数据按照所述分类结果进行分类显示;或
当接收到所述第一服务器发送的至少一个票务数据时,分别确定所述至少一个票务数据的票务属性,所述票务属性包括车次、航班号、航次号、出发时间、到达时间中的至少一种,根据确定出的所述至少一个票务数据的票务属性,将所述至少一个票务数据进行排序,得到排序结果,将所述排序结果通过预设的页面组件进行渲染并显示。
本申请实施例提供一种数据获取、数据显示的方法及装置,该方法中第一在接收到终端设备发送的第一票务数据获取请求后,可确定处理该第一票务数据获取请求的资源设备,并向确定出的资源设备发送第二票务数据获取请求,以使资源设备根据该第二票务数据获取请求,向该第一服务器发送该第一票务数据获取请求所需的票务数据,第一服务器在接收到至少一个资源设备发送的票务数据时,可将该票务数据发送给所述终端设备,以使所述终端设备显示该票务数据。由于第一服务器并不是在获取到该第一票务数据获取请求所需的全部票务数据后,再将全部的票务数据一并发送至用户的终端设备中,而是则获取到一个资源设备返回的票务数据后,即将该票务数据发送至用户的终端设备中,虽然用户接收到的票务数据并不是全部的票务数据,但是这将极大的缩短用户发送第一票务数据获取请求到第一服务器返回票务数据的这段时间间隔,从而极大的降低了用户等待第一服务器返回票务数据的时间,提高了第一服务器的票务搜索效率,并且,用户查看该票务数据的过程中,该第一服务器还将陆续接收各资源设备发送的各票务数据,进而相继将各票务数据发送至终端设备中,所以,用户的终端设备会将第一服务器发送的全部票务数据相继显示给用户,从而在提高第一服务器票务搜索效率的同时,也并不会对用户查看票务数据造成不良的影响。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (26)
1.一种数据获取方法,其特征在于,包括:
接收终端设备发送的第一票务数据获取请求;
确定用于响应所述第一票务数据获取请求的资源设备,所述资源设备提供用于响应所述第一票务数据获取请求的票务数据;
为所述资源设备分配线程,并通过所述线程向所述资源设备发送第二票务数据获取请求,所述第二票务数据获取请求用于从所述资源设备获取所述第一票务数据获取请求所请求的票务数据;
每当接收到所述资源设备发送的至少一个所述票务数据时,将所述票务数据发送给所述终端设备,以使所述终端设备显示所述票务数据。
2.如权利要求1所述的方法,其特征在于,确定用于响应所述第一票务数据获取请求的资源设备,具体包括:
确定所述第一票务数据获取请求所请求的票务数据对应的至少一个票务类型;
根据所述票务类型,确定与所述票务类型相匹配的至少一个资源设备。
3.权利要求2所述的方法,其特征在于,确定所述第一票务数据获取请求所请求的票务数据对应的至少一个票务类型,具体包括:
当所述第一票务数据获取请求中尚未包含票务类型时,根据所述第一票务数据获取请求中包含的指定票务字段,确定满足所述指定票务字段的票务数据对应的至少一个票务类型,所述指定票务字段包括:目的地、始发地、往返时间中的至少一个。
4.如权利要求2或3所述的方法,其特征在于,为所述资源设备分配线程,具体包括:
根据票务类型与线程资源池之间的映射关系,得到与确定的所述票务类型对应的线程资源池,所述线程资源池中包含多个线程,所述线程资源池中包含的所述线程用于获取所述票务类型对应的票务数据;
从确定的所述线程资源池中选择空闲的线程,并将选择的所述线程分配给与所述票务类型相匹配的所述资源设备。
5.如权利要求1或4所述的方法,其特征在于,通过所述线程向所述资源设备发送第二票务数据获取请求,具体包括:
若所述资源设备的数量大于1时,则并行启动为所述资源设备分配的所述线程,利用所述线程向所述线程对应的所述资源设备发送第二票务数据获取请求。
6.如权利要求1所述的方法,其特征在于,接收到所述资源设备发送的至少一个票务数据,具体包括:
通过所述线程接收所述资源设备发送的至少一个票务数据。
7.如权利要求1或6所述的方法,其特征在于,在接收到所述资源设备发送的至少一个票务数据时,将所述票务数据发送给所述终端设备,具体包括:
监听所述线程;
当监听到所述线程接收到所述资源设备发送的至少一个票务数据时,将所述票务数据发送给所述终端设备。
8.如权利要求7所述的方法,其特征在于,监听所述线程,具体包括:
根据线程与用于监听所述线程的监听设备之间的对应关系,启动所述线程对应的监听设备,所述监听设备用于监听所述线程是否接收到所述资源设备发送的票务数据;或
根据多个线程与用于监听所述多个线程的监听设备之间的对应关系,启动所述监听设备,所述监听设备用于监听所述多个述线程中的至少一个所述线程是否接收到所述资源设备发送的票务数据。
9.如权利要求7或8所述的方法,其特征在于,监听到所述线程接收到所述资源设备发送的至少一个票务数据,具体包括:
当接收到所述监听设备发送的数据监听消息时,则确定监测到所述线程接收到所述资源设备发送的至少一个票务数据。
10.如权利要求8或9所述的方法,其特征在于,当监听到所述线程接收到至少一个所述资源设备发送的至少一个票务数据时,将所述票务数据发送给所述终端设备,具体包括:
当通过所述监听设备监听到所述线程接收到至少一个所述资源设备发送的至少一个票务数据时,则向所述终端设备发送心跳消息;
当接收到所述终端设备根据所述心跳消息返回的应答消息时,则建立与所述终端设备的长连接通道,并通过所述长连接通道,将所述票务数据发送给所述终端设备。
11.如权利要求7所述的方法,其特征在于,所述方法还包括:
当通过所述线程接收到所述资源设备发送的票务数据调用完成指示时,则释放所述线程。
12.如权利要求1~11任一所述的方法,其特征在于,将所述票务数据发送给所述终端设备,具体包括:
当从所述资源设备获取到的票务数据的数量达到设定数量时,则将所述设定数量的票务数据发送给所述终端设备;或
确定所述第一票务数据获取请求中包含的票务数据获取数量,所述票务数据获取数量是所述终端设备根据所述第一票务数据获取请求每次获取票务数据的数量,当从所述资源设备获取到的票务数据的数量达到所述票务数据获取数量时,则将所述票务数据获取数量的票务数据发送给所述终端设备;或
确定所述第一票务数据获取请求中携带的所述终端设备的屏幕尺寸,并根据所述屏幕尺寸,确定向所述终端设备发送所述票务数据的数量,当从所述资源设备获取到的票务数据的数量达到根据所述屏幕尺寸确定出的数量时,则将所述数量的票务数据发送给所述终端设备。
13.一种数据显示的方法,其特征在于,包括:
终端设备向第一服务器发送第一票务数据获取请求;
当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,所述票务数据是所述第一服务器根据所述终端设备发送的第一票务数据获取请求从能够响应所述第一票务数据获取请求的资源设备中获取的。
14.如权利要求13所述的方法,其特征在于,通过预设的页面组件渲染所述票务数据并显示,具体包括:
按照接收所述票务数据的时间,对所述票务数据进行排序;
按照排序结果,通过预设的页面组件渲染所述票务数据并显示。
15.如权利要求13所述的方法,其特征在于,通过预设的页面组件渲染所述票务数据并显示,具体包括:
在确定接收到所述票务数据之前存在已显示的票务数据时,确定所述票务数据中包含的时间信息以及已显示的票务数据中包含的时间信息;
根据所述时间信息,将所述票务数据以及已显示的票务数据进行排序,并按照得到的排序结果,通过预设的页面组件渲染接收到的所述票务数据并显示。
16.如权利要求13所述的方法,其特征在于,当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,具体包括:
当接收到所述第一服务器返回的至少一个票务数据时,则对所述票务数据进行预设校验,所述预设校验包括:票务数据的完整性校验、票务数据的安全性校验中的至少一种;
若所述票务数据通过所述预设校验时,则通过预设的页面组件渲染所述票务数据并显示;
若所述票务数据未通过所述预设校验时,则向所述第一服务器发送重新获取所述票务数据的数据获取请求,以使所述第一服务器根据所述数据获取请求,重新获取所述票务数据并将重新获取到的所述票务数据发送给所述终端设备。
17.如权利要求13所述的方法,其特征在于,通过预设的页面组件渲染所述票务数据并显示,具体包括:
当接收到所述第一服务器发送的至少一个票务数据时,根据所述至少一个票务数据的票务类型,将所述至少一个票务数据进行分类,得到所述至少一个票务数据的分类结果,通过预设的页面组件渲染所述至少一个票务数据,并将所述至少一个票务数据按照所述分类结果进行分类显示;或
当接收到所述第一服务器发送的至少一个票务数据时,分别确定所述至少一个票务数据的票务属性,所述票务属性包括车次、航班号、航次号、出发时间、到达时间中的至少一种,根据确定出的所述至少一个票务数据的票务属性,将所述至少一个票务数据进行排序,得到排序结果,将所述排序结果通过预设的页面组件进行渲染并显示。
18.一种数据获取的装置,其特征在于,包括:
接收请求模块,接收终端设备发送的第一票务数据获取请求;
确定模块,确定用于响应所述第一票务数据获取请求的资源设备,所述资源设备提供用于响应所述第一票务数据获取请求的票务数据;
请求发送模块,为所述资源设备分配线程,并通过所述线程向所述资源设备发送第二票务数据获取请求,所述第二票务数据获取请求用于从所述资源设备获取所述第一票务数据获取请求所请求的票务数据;
数据发送模块,每当接收到所述资源设备发送的至少一个所述票务数据时,将所述票务数据发送给所述终端设备,以使所述终端设备显示所述票务数据。
19.如权利要求18所述的装置,其特征在于,所述确定模块,确定所述第一票务数据获取请求所请求的票务数据对应的至少一个票务类型;根据所述票务类型,确定与所述票务类型相匹配的至少一个资源设备。
20.如权利要求18所述的装置,其特征在于,所述数据发送模块,通过所述线程接收所述资源设备发送的至少一个票务数据。
21.如权利要求18~20所述的装置,其特征在于,所述数据发送模块,监听所述线程;当监听到所述线程接收到所述资源设备发送的至少一个票务数据时,将所述票务数据发送给所述终端设备。
22.如权利要求18所述的装置,其特征在于,所述数据发送模块,当通过所述线程接收到所述资源设备发送的票务数据调用完成指示时,则释放所述线程。
23.一种数据显示的装置,其特征在于,包括:
发送请求模块,向第一服务器发送第一票务数据获取请求;
显示模块,当接收到所述第一服务器返回的至少一个票务数据时,则通过预设的页面组件渲染所述票务数据并显示,所述票务数据是所述第一服务器根据所述装置发送的第一票务数据获取请求从能够响应所述第一票务数据获取请求的资源设备中获取的。
24.如权利要求23所述的装置,其特征在于,所述显示模块,按照接收所述票务数据的时间,对所述票务数据进行排序;按照排序结果,通过预设的页面组件渲染所述票务数据并显示。
25.如权利要求23所述的装置,其特征在于,所述显示模块在确定接收到所述票务数据之前存在已显示的票务数据时,确定所述票务数据中包含的时间信息以及已显示的票务数据中包含的时间信息;根据所述时间信息,将所述票务数据以及已显示的票务数据进行排序,并按照得到的排序结果,通过预设的页面组件渲染接收到的所述票务数据并显示。
26.如权利要求23所述的装置,其特征在于,所述显示模块,当接收到所述第一服务器返回的至少一个票务数据时,则对所述票务数据进行预设校验,所述预设校验包括:票务数据的完整性校验、票务数据的安全性校验中的至少一种;若所述票务数据通过所述预设校验时,则通过预设的页面组件渲染所述票务数据并显示;若所述票务数据未通过所述预设校验时,则向所述第一服务器发送重新获取所述票务数据的数据获取请求,以使所述第一服务器根据所述数据获取请求,重新获取所述票务数据并将重新获取到的所述票务数据发送给所述装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013609.6A CN108287757A (zh) | 2017-01-09 | 2017-01-09 | 一种数据获取、数据显示的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710013609.6A CN108287757A (zh) | 2017-01-09 | 2017-01-09 | 一种数据获取、数据显示的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108287757A true CN108287757A (zh) | 2018-07-17 |
Family
ID=62819328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710013609.6A Pending CN108287757A (zh) | 2017-01-09 | 2017-01-09 | 一种数据获取、数据显示的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108287757A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284795A (zh) * | 2018-09-04 | 2019-01-29 | 西安艾润物联网技术服务有限责任公司 | 一种数据处理方法及终端设备 |
CN112528175A (zh) * | 2019-09-18 | 2021-03-19 | 上海际链网络科技有限公司 | 页面信息加载方法、装置及系统、计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231638A (zh) * | 2007-01-24 | 2008-07-30 | 阿里巴巴公司 | 一种实现类目搜索的方法、系统及装置 |
US20080263077A1 (en) * | 2007-04-19 | 2008-10-23 | Christopher Boston | Systems, methods, website and computer products for service ticket consolidation and display |
CN103455366A (zh) * | 2012-06-01 | 2013-12-18 | 阿里巴巴集团控股有限公司 | 一种调用外部系统服务的方法及装置 |
CN103729353A (zh) * | 2012-10-10 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 票务信息的搜索方法及服务器 |
CN103778137A (zh) * | 2012-10-19 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 一种博客内容搜索方法及系统 |
CN104077293A (zh) * | 2013-03-27 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 网页获取方法和装置 |
CN104182799A (zh) * | 2014-09-16 | 2014-12-03 | 成都北纬航信网络科技有限责任公司 | 基于移动互联网的机票预订及航信信息查询的方法和系统 |
CN105471931A (zh) * | 2014-08-06 | 2016-04-06 | 腾讯科技(北京)有限公司 | 一种查询业务数据的方法、装置和系统 |
CN105760477A (zh) * | 2016-02-15 | 2016-07-13 | 中国建设银行股份有限公司 | 面向多个数据源的数据查询方法、系统及其相关设备 |
-
2017
- 2017-01-09 CN CN201710013609.6A patent/CN108287757A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231638A (zh) * | 2007-01-24 | 2008-07-30 | 阿里巴巴公司 | 一种实现类目搜索的方法、系统及装置 |
US20080263077A1 (en) * | 2007-04-19 | 2008-10-23 | Christopher Boston | Systems, methods, website and computer products for service ticket consolidation and display |
CN103455366A (zh) * | 2012-06-01 | 2013-12-18 | 阿里巴巴集团控股有限公司 | 一种调用外部系统服务的方法及装置 |
CN103729353A (zh) * | 2012-10-10 | 2014-04-16 | 阿里巴巴集团控股有限公司 | 票务信息的搜索方法及服务器 |
CN103778137A (zh) * | 2012-10-19 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 一种博客内容搜索方法及系统 |
CN104077293A (zh) * | 2013-03-27 | 2014-10-01 | 腾讯科技(深圳)有限公司 | 网页获取方法和装置 |
CN105471931A (zh) * | 2014-08-06 | 2016-04-06 | 腾讯科技(北京)有限公司 | 一种查询业务数据的方法、装置和系统 |
CN104182799A (zh) * | 2014-09-16 | 2014-12-03 | 成都北纬航信网络科技有限责任公司 | 基于移动互联网的机票预订及航信信息查询的方法和系统 |
CN105760477A (zh) * | 2016-02-15 | 2016-07-13 | 中国建设银行股份有限公司 | 面向多个数据源的数据查询方法、系统及其相关设备 |
Non-Patent Citations (1)
Title |
---|
云贵全等: "《企业级Java EE商业项目开发》", 31 October 2015 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284795A (zh) * | 2018-09-04 | 2019-01-29 | 西安艾润物联网技术服务有限责任公司 | 一种数据处理方法及终端设备 |
CN112528175A (zh) * | 2019-09-18 | 2021-03-19 | 上海际链网络科技有限公司 | 页面信息加载方法、装置及系统、计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108897854B (zh) | 一种超时任务的监控方法和装置 | |
CN105991694B (zh) | 一种实现分布式服务调用的方法与设备 | |
CN105095970A (zh) | 第三方应用的执行方法及系统 | |
CN107229559A (zh) | 针对业务系统的测试完整度的检测方法和装置 | |
US20140051464A1 (en) | Service prequalification | |
CA3059719C (en) | Payment processing method, device, medium and electronic device | |
CN106484603B (zh) | 一种业务测试方法及装置 | |
CN108600399A (zh) | 信息推送方法及相关产品 | |
CN107944000A (zh) | 航班运价更新方法、装置、电子设备、存储介质 | |
CN109582452A (zh) | 一种容器调度方法、调度装置及电子设备 | |
CN110300084A (zh) | 一种基于ip地址的画像方法和装置 | |
CN111444077A (zh) | 一种生成流程节点测试数据的方法和装置 | |
CN113361838A (zh) | 业务风控方法、装置、电子设备和存储介质 | |
CN114070791B (zh) | 数据流量的限速处理方法及装置 | |
CN106408096A (zh) | 一种在线售票系统中的数据处理方法和在线售票系统 | |
CN105354090B (zh) | 虚拟设备的管理方法和装置 | |
CN106713353A (zh) | 一种地理信息服务的智能化无缝聚合方法及系统 | |
CN108287757A (zh) | 一种数据获取、数据显示的方法及装置 | |
CN110245014B (zh) | 数据处理方法和装置 | |
US11087382B2 (en) | Adapting digital order to venue service queue | |
CN108270840B (zh) | 一种业务监控、业务数据的搜索方法、装置和电子设备 | |
Akingbesote et al. | Performance modeling of proposed guiset middleware for mobile healthcare services in e‐marketplaces | |
CN107295052A (zh) | 一种业务处理方法及装置 | |
CN107528822A (zh) | 一种业务执行方法以及装置 | |
CN110636522A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180717 |