CN110727704B - 一种违章信息的查询方法和查询*** - Google Patents
一种违章信息的查询方法和查询*** Download PDFInfo
- Publication number
- CN110727704B CN110727704B CN201910965063.3A CN201910965063A CN110727704B CN 110727704 B CN110727704 B CN 110727704B CN 201910965063 A CN201910965063 A CN 201910965063A CN 110727704 B CN110727704 B CN 110727704B
- Authority
- CN
- China
- Prior art keywords
- query
- vehicle
- client
- information
- application 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
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000012795 verification Methods 0.000 claims abstract description 127
- 230000004044 response Effects 0.000 claims description 6
- 238000010200 validation analysis Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种违章信息的查询方法和查询***。其中查询***包括客户端、应用服务器和第三方服务器。客户端响应用户的查询请求,将待查询车辆的信息和查询城市发送给应用服务器,并在接收到来自应用服务器的验证码代理任务或查询代理任务时,将其转发给第三方服务器。应用服务器基于查询城市生成验证码代理任务并发送给客户端,并在接收到由客户端返回的执行结果时生成验证码。同时,应用服务器基于车辆标识符、验证码和查询城市,生成查询代理任务并发送给客户端,在接收到由客户端返回的执行结果时得到待查询车辆的违章信息并返回给客户端。第三方服务器执行来自客户端的验证码代理任务或查询代理任务,并将相应的执行结果返回给客户端。
Description
技术领域
本发明涉及互联网通信技术领域,尤其是一种违章信息的查询方法和查询***。
背景技术
一方面,随着汽车行业的不断发展和人们生活水平的提高,汽车开始走进千家万户。在日常的使用中,用户经常需要查询车辆的违章情况。另一方面,随着移动互联网技术的发展,用户越来越依赖于通过移动平台快速地查询车辆的违章信息。
目前一些用于违章查询的客户端应用(简称为APP),当用户使用APP进行违章查询时,客户端需要向各地的交管服务器发送查询请求,来获取被查询车辆的所有违章信息。而各地的交管服务器使用繁琐、数据保存限制较多,用户体验不佳。例如,在每次查询时,都需要用户输入查询车辆的信息,包括车牌号、发动机号和车架号。如果有异地违章信息,部分地区还需要去当地的交管信息平台查询。
当用户需要快速获取服务器中的对应资源时,可以采用代理请求来实现。目前常见的一种通过代理请求实现的方案是基于服务器端代理,在交管查询限制较少时,其查询策略简单直接。每次查询时,客户端直接请求应用服务器,由应用服务器请求不同的交管服务器,等待交管服务器返回数据。
但是,该方案不适合在交管查询IP限制较多时候,每次查询数据时,应用服务器IP被交管查询限制,因此查询容易失败。尽管应用服务器可以使用第三方代理IP,但第三方代理IP同样容易被限制,并且第三方代理IP本身的质量也参差不齐,降低了APP的可用性。而且,随着用户量的不断增长,产生IP限制的几率也随之增大,对第三方代理IP的需求数量也不断增多,对APP运营和购买第三方代理IP的金额都会造成影响。
基于此,需要一种新的违章信息的查询方案,能够帮助用户快速高效地管理车辆违章情况。
发明内容
为此,本发明提供了一种违章信息的查询方法和查询***,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种违章信息的查询方法,在应用服务器中执行,应用服务器分别与客户端和第三方服务器相连,包括步骤:接收查询城市和待查询车辆的信息,判断待查询车辆的信息是否合法;在确认待查询车辆的信息合法时,生成车辆标识符并返回给客户端;在接收到来自客户端的车辆标识符和查询城市时,基于查询城市生成验证码代理任务并发送给客户端,以便客户端将验证码代理任务转发给第三方服务器执行;根据客户端返回的执行结果,生成验证码;基于车辆标识符、验证码和查询城市,生成查询代理任务并发送给客户端,以便客户端将查询代理任务转发给第三方服务器执行;根据客户端返回的执行结果得到待查询车辆的违章信息,并返回给客户端。
可选地,根据本发明的方法还包括步骤:在生成车辆标识符时,关联存储车辆标识符和待查询车辆的信息。
可选地,在根据本发明的方法中,在接收到来自客户端的车辆标识符和查询城市时,基于查询城市生成验证码代理任务并发送给客户端的步骤包括:在接收到来自客户端的车辆标识符和查询城市时,基于车辆标识符确定出待查询车辆的信息;根据查询城市判断当前查询城市是否需要请求验证码;若需要请求验证码,则基于查询城市生成验证码代理任务,并对所生成的验证码代理任务进行加密,得到加密后的验证码代理任务;以及将加密后的验证码代理任务发送给客户端,以便客户端将其转发给第三方服务器执行。
可选地,在根据本发明的方法中,根据客户端返回的执行结果,生成验证码的步骤,还包括:若无法从客户端返回的执行结果中破解出验证码,则基于该执行结果生成图片给客户端,以便用户根据图片输入验证码;接收来自客户端的验证码。
可选地,在根据本发明的方法中,基于车辆标识符、验证码和查询城市,生成查询代理任务的步骤包括:生成关于查询城市的构造器;利用构造器,根据验证码和待查询车辆的信息,生成查询代理任务。
可选地,在根据本发明的方法中,根据客户端返回的执行结果得到待查询车辆的违章信息的步骤包括:生成查询城市对应的实例;利用实例解析执行结果,当确定当前查询城市的查询流程完成时,确定出待查询车辆在当前查询城市的违章信息。
可选地,根据本发明的方法还包括步骤:发送不同城市的车辆查询配置给客户端,以便客户端基于车辆查询配置生成添加车辆页面,来接收用户输入查询城市和待查询车辆的信息。
可选地,在根据本发明的方法中,接收查询城市和待查询车辆的信息,判断待查询车辆的信息是否合法的步骤包括:接收查询城市和待查询车辆的信息,判断待查询车辆的信息的字段是否合法。
可选地,在根据本发明的方法中,根据客户端返回的执行结果得到待查询车辆的违章信息,并返回给客户端的步骤还包括:关联保存待查询车辆及其违章信息;返回违章信息和查询时间戳给客户端。
可选地,根据本发明的方法还包括步骤:当再次接收到待查询车辆的信息和查询时间戳的查询请求时,基于查询时间戳判断是否需要更新信息;若经判断后确定不需要更新信息,则返回保存的违章信息给客户端;若经判断后确定需要更新信息,则重复执行生成验证码代理任务的步骤、生成查询代理任务的步骤,来获取再次查询的车辆的违章信息。
可选地,在根据本发明的方法中,违章信息包括以下信息中的一个或多个:违章时间、违章地点、违章内容、罚款、扣分、处罚编号。
可选地,在根据本发明的方法中,待查询车辆的信息包括以下信息中的一种或多种:车牌号、车架号、发动机号。
根据本发明的另一方面,提供了一种违章信息的查询方法,在客户端中执行,客户端分别与应用服务器和第三方服务器相连,包括步骤:将用户输入的查询城市和待查询车辆的信息发送给应用服务器,以便应用服务器在确定待查询车辆的信息合法后,生成车辆标识符并返回给客户端;响应于用户的查询请求,发送车辆标识符和查询城市给应用服务器;将来自应用服务器的验证码代理任务转发给第三方服务器执行,并将第三方服务器的执行结果返回给应用服务器,其中验证码代理任务由应用服务器基于查询城市生成;将来自应用服务器的查询代理任务转发给第三方服务器执行,并将第三方服务器的执行结果返回给应用服务器,以便应用服务器解析出违章信息,其中查询代理任务在应用服务器解析出验证码时生成;以及接收由应用服务器返回的车辆的违章信息。
可选地,根据本发明的方法还包括步骤:从应用服务器获取全局配置信息,全局配置信息包括城市更新数据;判断所获取的城市更新数据与预存的城市更新数据是否一致;若不一致,则从应用服务器获取不同城市的车辆查询配置;基于所获取的车辆查询配置生成添加车辆页面,以供用户输入查询城市和待查询车辆的信息。
可选地,在根据本发明的方法中,接收由应用服务器返回的车辆的违章信息的步骤还包括:接收由应用服务器返回的待查询车辆的违章信息和查询时间戳,并关联存储所述待查询车辆的违章信息和查询时间戳。
可选地,在根据本发明的方法中,在接收由应用服务器返回的车辆的违章信息的步骤之后,还包括步骤:响应于用户的再次查询请求,将待查询车辆的信息和查询时间戳发送给应用服务器,由应用服务器基于查询时间戳判断是否需要更新信息;在应用服务器确定不需要更新信息时,接收由应用服务器返回的违章信息;在应用服务器确定需要更新信息时,重复执行转发验证码代理任务的步骤、转发查询代理任务的步骤和接收违章信息的步骤,来获取再次查询的车辆的违章信息。
可选地,在根据本发明的方法中,添加车辆页面适于接收用户输入的至少一个查询城市。
可选地,在根据本发明的方法中,将来自应用服务器的验证码代理任务转发给第三方服务器执行,并将第三方服务器的执行结果返回给应用服务器的步骤还包括:解析来自应用服务器的验证码代理任务;基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的验证码代理任务分别转发给第三方服务器来执行,并将第三方服务器的执行结果返回给应用服务器。
可选地,在根据本发明的方法中,将来自应用服务器的查询代理任务转发给第三方服务器执行,并将第三方服务器的执行结果返回给应用服务器的步骤还包括:解析来自应用服务器的查询代理任务;基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的查询代理任务转发给第三方服务器来执行,并将第三方服务器的执行结果分别返回给应用服务器。
可选地,在根据本发明的方法中,待查询车辆的信息包括以下信息中的一种或多种:车牌号码、车架号、发动机号。
根据本发明的另一方面,提供了一种违章信息的查询***,包括:客户端,适于响应于用户的查询请求,将待查询车辆的信息和查询城市发送给应用服务器,还适于在接收到来自应用服务器的验证码代理任务或查询代理任务时,将其转发给第三方服务器;应用服务器,与客户端相连,适于基于查询城市生成验证码代理任务并发送给客户端,并在接收到由客户端返回的执行结果时生成验证码;还适于基于车辆标识符、验证码和查询城市,生成查询代理任务并发送给客户端,以及在接收到由客户端返回的执行结果时得到待查询车辆的违章信息并返回给客户端;第三方服务器,与客户端相连,适于执行来自客户端的验证码代理任务或查询代理任务,并将相应的执行结果返回给客户端。
可选地,在根据本发明的查询***中,车辆标识符由应用服务器在确认待查询车辆的信息合法时生成。
可选地,在根据本发明的查询***中,应用服务器还适于:根据查询城市判断当前查询城市是否需要请求验证码;若需要请求验证码,则基于查询城市生成验证码代理任务,并对所生成的验证码代理任务进行加密,得到加密后的验证码代理任务;以及将加密后的验证码代理任务发送给客户端。
可选地,在根据本发明的查询***中,应用服务器还适于:生成关于查询城市的构造器;利用构造器,根据验证码和待查询车辆的信息,生成查询代理任务。
可选地,在根据本发明的查询***中,应用服务器还适于针对至少一个查询城市,生成对应的至少一个验证码代理任务或至少一个查询代理任务给客户端;客户端还适于采用对应线程,通过Socket请求,将至少一个验证码代理任务或至少一个查询代理任务分别转发给第三方服务器来执行。
根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上所述方法中的任一方法的指令。
根据本发明的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上所述方法中的任一方法。
根据本发明的方案,可以有效地处理用户对不同地区违章信息的查询需求。同时,客户端不对用户的查询请求和来自应用服务器的任务进行实质性处理,只负责对数据流的转发。这样,即便第三方服务器更新了查询要求,客户端也可以不发布新的客户端应用版本,依旧能够有效地支持查询需求。根据本发明的查询***提高了查询违章数据的时效性和准确性。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的违章信息的查询***100的示意图;
图2示出了根据本发明一个实施例的计算设备200的构造示意图;
图3示出了根据本发明一个实施例的违章信息的查询方法300的交互示意图;
图4示出了根据本发明另一个实施例的违章信息的查询方法400的流程示意图;以及
图5示出了根据本发明另一个实施例的违章信息的查询方法500的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的违章信息的查询***100的示意图。如图1所示,查询***100包括:客户端110、应用服务器120和第三方服务器130。其中,客户端110通过网络分别与应用服务器120和第三方服务器130相连,以进行通信。客户端110上安装有支持用户查询交通违章信息的客户端应用112。客户端应用112可以运行在诸如安卓、IOS等操作***上。应用服务器120例如可以是物理上位于一个或多个地点的远程云服务器。第三方服务器130为布置在各城市或地区的交管服务器,能够提供车辆在各城市的违章信息。需要说明的是,图1仅作为示例,本发明的实施例并不受限于查询***100中客户端110、应用服务器120、第三方服务器130的数量。
根据本发明的实现方式,用户通过客户端110输入查询信息(包含待查询车辆的一些信息和要查询的城市)。客户端110将用户的查询请求转发给后端的应用服务器120,应用服务器120基于用户的查询信息,构造相应的至少一个代理任务并返回给客户端110。客户端110将代理任务转发给相应的第三方服务器130。第三方服务器130执行代理任务,并将执行的结果返回给客户端110,由其转发至应用服务器120。应用服务器120在对代理任务的执行结果进行解析后,得到针对用户查询请求的查询结果。最终由客户端110将查询结果展示给用户。
用户通过客户端110上的客户端应用112,输入查询信息(包含待查询车辆的一些信息和要查询的城市),请求查询。客户端110响应于用户的查询请求,将待查询车辆的信息和查询城市发送给应用服务器120。
根据本发明的实施方式,待查询车辆的信息包括以下信息中的一种或多种:车牌号、车架号、发动机号。一般地,车牌号在待查询车辆的信息中是必须的,车架号和发动机号可以根据不同查询城市的要求来引导用户进行输入,例如可以是车架号和/或发动机号的全部位数或后几位数,本发明的实施例对此不做限制。
在根据本发明的一些实施例中,用户可以在客户端110上一次输入不止一个查询城市,例如,用户可以查询近期内,车辆在北京、天津、河北等地的违章信息。
应用服务器120在接收到待查询车辆的信息和查询城市时,先确认待查询车辆的信息是否合法。一般地,应用服务器120检查用户输入的待查询车辆的信息字段,若字段合法则保存上述待查询车辆的信息,并生成车辆标识符(即车辆ID);否则,应用服务器120返回给客户端110非法字段信息。
在确认待查询车辆的信息合法后,应用服务器120再基于查询城市生成验证码代理任务,并将验证码代理任务发送给客户端110。根据本发明的实施例,当查询城市不止一个时,应用服务器120可以针对各查询城市生成对应的验证码代理任务给客户端110。
根据一种实施例,应用服务器120根据查询城市判断当前查询城市是否需要请求验证码。若需要请求验证码,则基于查询城市生成验证码代理任务。一般地,应用服务器120还会对所生成的验证码代理任务进行加密,得到加密后的验证码代理任务。然后,应用服务器120将加密后的验证码代理任务发送给客户端110。
客户端110在接收到验证码代理任务时,通过Socket请求将其转发给第三方服务器130。由第三方服务器130执行验证码代理任务,并将执行结果通过二进制数据流的方式返回给客户端110,以便客户端110再将执行结果转发给应用服务器120。
应用服务器120在接收到由客户端110返回的执行结果后,对该执行结果进行破解,来得到相应的验证码。之后,应用服务器120基于车辆标识符、验证码和查询城市,构造查询代理任务。根据本发明的实施例,当查询城市不止一个时,应用服务器120可以针对各查询城市生成对应的查询代理任务给客户端110。
在一种实施例中,应用服务器120先生成关于查询城市的构造器;再利用构造器,根据验证码和待查询车辆的信息(根据车辆标识符,应用服务器120能够得到对应的待查询车辆的信息),生成查询代理任务。
客户端110在接收到查询代理任务时,通过Socket请求,将其转发给第三方服务器130。由第三方服务器130执行查询代理任务,并将执行的结果通过二进制数据流的方式返回给客户端110,以便客户端110再将执行结果转发给应用服务器120。
应用服务器120在接收到该执行结果后,对其进行解析,得到待查询车辆的违章信息。车辆的违章信息包括以下信息中的一个或多个:违章时间、违章地点、违章内容(闯红灯、超速、超载等)、罚款、扣分、处罚编号。
之后,应用服务器120将待查询车辆的违章信息返回给客户端110,由客户端110将其作为查询结果,显示给用户。
根据本发明的违章信息查询***100,可以有效地处理用户对不同地区违章信息的查询需求。同时,客户端110不对用户的查询请求和来自应用服务器120的任务进行实质性处理,只负责对数据流的转发。这样,即便第三方服务器130(交管服务器)更新了查询要求,客户端110也可以不发布新的客户端应用112的版本,依旧能够有效地支持查询需求。根据本发明的查询***提高了查询违章数据的时效性和准确性。
此外,随着APP用户量的高速增长,因为应用服务器120只需要构造代理任务和解析客户端110所返回的执行结果,不需要直接请求第三方服务器130,减小了应用服务器120对外访问网络的流量和购买第三方代理IP的费用,有效减少了服务器负载,提高了服务器的吞吐量,节省了费用。
根据本发明的实施方式,查询***100及其中的各组成部分,均可以通过如下所述的计算设备200来实现。图2示出了根据本发明一个实施例的计算设备200的示意图。
如图2所示,在基本的配置202中,计算设备200典型地包括***存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和***存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,***存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。***存储器206可以包括操作***220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作***上由一个或多个处理器204利用程序数据224执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。当然,计算设备200也可以实现为小尺寸便携(或者移动)电子设备的一部分。在根据本发明的实施例中,计算设备200被配置为执行根据本发明的违章信息的查询方法。计算设备200的应用222中包含执行根据本发明的方法300/方法400/方法500的多条程序指令。
图3示出了根据本发明一个实施例的违章信息的查询方法300的流程示意图。方法300适于在图1所示的查询***100中执行。方法300是对前文关于图1描述的进一步补充说明。如图3所示,方法300始于步骤S301。
在步骤S301中,用户启动客户端应用112,客户端110从应用服务器120处获取全局配置信息(需要说明的是,为简化描述,在图3中采用“双向箭头”来表示这次交互过程,本领域技术人员应当理解,客户端110向应用服务器120请求全局配置信息,应用服务器120再将全局配置信息发送给客户端110,篇幅所限,此处不再展开描述,后续出现的“双向箭头”与此处相同,表示一次请求交互过程)。
根据一种实施例,全局配置信息包括更新地址数据(update_url)、广告配置数据(ad_config)、天气限行数据(limitNums_timestamp,一般地,天气限行数据是根据天气或限行规则的更新时间所生成的字符串,格式例如是1565604172,不限于此)、城市更新数据(citytimetamp,根据城市的交管服务的更新时间所生成的字符串,格式例如是1565604172,不限于此)等。在根据本发明的一个实施例中,城市更新数据是必须的,用来指示是否需要更新城市的车辆查询配置。如,在查询车辆违章信息时,城市A的车辆查询配置是:要有车牌号和全部位数的车架号,城市B车辆查询配置是:要有车牌号和后6位发动机号,不限于此。
随后在步骤S302中,客户端110从所获取的全局配置信息中,判断城市更新数据与预存的城市更新数据是否一致,以判断是否需要更新不同城市的车辆查询配置。
若二者不一致,则更新各城市的车辆查询配置,执行步骤S303,客户端110从应用服务器120获取不同城市的车辆配置信息,并保存在本地。同时,客户端110还会保存新的城市更新数据,作为预存的城市更新数据,以便于在下一次请求全局配置信息后进行比较。
若二者一致,则继续执行步骤S304。
在步骤S304中,客户端110基于所获取的车辆查询配置,生成添加车辆页面,以供用户输入查询城市和待查询车辆的信息。
在车辆查询配置中,通常车牌号是必须的,车架号和发动机号可根据不同城市的要求输入全部位或某几位。根据本发明的实施例,查询城市可以有不止一个。客户端110可以在添加车辆页面上布置相应的控件,以供用户输入对应的查询城市、车牌号、车架号和/或发动机号,不限于此。
随后在步骤S305中,客户端110将用户输入的查询城市和待查询车辆的信息发送给应用服务器120,以向应用服务器120请求“添加查询车辆接口”。
随后在步骤S306中,应用服务器120判断该待查询车辆的信息是否合法,并在确定待查询车辆的信息合法时,生成车辆标识符。
根据本发明的实施例,应用服务器120检查用户输入的待查询车辆的信息字段,若字段合法(例如不包含不合法的字符、字段长度没有超出限制等),则确定待查询车辆的信息合法。
在一种实施例中,当确定待查询车辆的信息合法时,应用服务器120生成车辆标识符。该车辆标识符用于在客户端110与应用服务器120通信时,标识车辆。同时,应用服务器120关联存储车辆标识符和对应的待查询车辆的信息。继续执行步骤S307。
在另一种实施例中,当确定待查询车辆的信息不合法时,应用服务器120直接向客户端110返回非法字段信息,以便于客户端110在接收到非法字段信息后,重新执行步骤S304,由用户重新输入查询城市和待查询车辆的信息。
在步骤S307中,应用服务器120返回车辆标识符及添加查询车辆接口成功的消息给客户端110。
随后在步骤S308中,客户端110在接收到添加查询车辆接口成功的消息后,跳转到车辆违章查询页面,响应于用户的查询请求,发送车辆标识符和查询城市给应用服务器120。
随后在步骤S309中,应用服务器120接收车辆标识符和查询城市,并据此生成验证码代理任务。
根据本发明的实施例,应用服务器120在接收到车辆标识符和查询城市时,一方面,基于车辆标识符确定出与之关联的待查询车辆的信息。另一方面,判断当前的查询城市是否需要请求验证码。若需要请求验证码,则基于查询城市生成验证码代理任务。在根据本发明的实施例中,所生成的验证码代理任务是HTTP请求格式,不限于此。
可选地,应用服务器120上预存有查询城市与是否请求验证码的对应关系。应当指出,是否需要请求验证码可以作为城市的查询条件之一,应用服务器120还可以设置其他的查询条件,诸如是否需要语音验证等。各城市对应的查询条件可以不一致,可以由各城市对应的交管服务来设置,不限于此。
在另一些实施例中,应用服务器120还可以对所生成的验证码代理任务进行加密,得到加密后的验证码代理任务。
此外,当查询城市有至少一个时,应用服务器120可以基于查询城市,生成至少一个验证码代理任务,并且,在每个验证码代理任务中,标记其所属的查询城市。
随后在步骤S310中,应用服务器120将验证码代理任务发送给客户端110。
随后在步骤S311中,客户端110将验证码代理任务转发给对应的第三方服务器130。
在一种实施例中,客户端110解析来自应用服务器120的验证码代理任务。再基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的验证码代理任务分别转发给查询城市对应的第三方服务器130。这样,当用户要查询多个城市的违章信息时,客户端110采用多线程来处理应用服务器120返回的验证码代理任务,加快了用户的查询速度。
应当指出,若客户端110接收到的验证码代理任务是加密后的,则客户端110要先对该验证码代理任务进行解密,得到解密后的验证码代理任务;然后再采用上述方式,解析解密后的验证码代理任务,得到至少一个查询城市。
随后在步骤S312中,第三方服务器130执行验证码代理任务,并将执行后的结果返回给客户端110。在一种实施例中,第三方服务器130返回给客户端110的执行结果是二进制流。二进制流是文件或字符串文档在网络中常见的数据传输格式,当然本发明的实施例不受限于此。
随后在步骤S313中,客户端110将第三方服务器130的执行结果返回给应用服务器120。
随后在步骤S314中,应用服务器120根据客户端110返回的执行结果,生成验证码。
在一些实施例中,客户端110返回给应用服务器120的执行结果,还是二进制流,应用服务器120在收到二进制流后,可根据其格式转化为对应文件(如,图片、Excel等)、字符串文档(如,一段文字、HTML、JSON等)。本发明实施例对采用何种方式将二进制流转换为文件或字符串文档,并不做过多限制。在根据本发明的一个实施例中,应用服务器120将二进制流转化为验证码图片,再从中提取出验证码。
在另一些实施例中,应用服务器120无法从客户端110返回的执行结果中破解出验证码或破解失败,此时,应用服务器120基于该执行结果生成图片(例如,生成base64格式图片,不限于此),并将该图片发送给客户端110。由客户端110将该图片显示给用户,用户根据该图片输入验证码。而后,客户端110将用户输入的验证码发送给应用服务器120。
随后在步骤S315中,应用服务器120基于车辆标识符、验证码和查询城市,生成查询代理任务。
根据一种实施例,应用服务器120先生成关于查询城市的构造器,利用该构造器,根据验证码和待查询车辆的信息,生成查询代理任务。例如,应用服务器利用构造器UpstreamResponseBuilder,生成各查询城市对应的各UpstreamResponseCity,UpstreamResponseCity根据验证码和待查询车辆的信息,构造出查询代理任务。
同样地,应用服务器120还可以对所生成的查询代理任务进行加密,得到加密后的查询代理任务。
此外,当查询城市有至少一个时,应用服务器120可以基于查询城市,生成至少一个查询代理任务,并且,在每个查询代理任务中,标记其所属的查询城市。
随后在步骤S316中,应用服务器120将所生成的查询代理任务发送给客户端110。
随后在步骤S317中,客户端110将查询代理任务转发给对应的第三方服务器130。
在一种实施例中,客户端110解析来自应用服务器120的查询代理任务。再基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的查询代理任务分别转发给查询城市对应的第三方服务器130。同样地,当用户要查询多个城市的违章信息时,客户端110采用多线程来处理应用服务器120返回的查询代理任务,加快了用户的查询速度。
应当指出,若客户端110接收到的查询代理任务是加密后的,则客户端110要先对该查询代理任务进行解密,得到解密后的查询代理任务;然后再采用上述方式,解析解密后的查询代理任务,得到至少一个查询城市。
随后在步骤S318中,第三方服务器130执行查询代理任务,并将执行后的结果返回给客户端110。同样地,第三方服务器130返回给客户端110的执行结果是二进制流。
随后在步骤S319中,客户端110将第三方服务器130的执行结果返回给应用服务器120。
随后在步骤S320中,应用服务器120根据客户端110返回的执行结果,得到待查询车辆的违章信息。
在一些实施例中,客户端110返回给应用服务器120的执行结果,还是二进制流,应用服务器120在收到二进制流后,将其转化为HTTP请求的返回体,包含header和body。通常,待查询车辆的违章信息就包含在body中。接着,应用服务器120生成查询城市对应的实例(在一个实施例中,应用服务器120利用HtmlParserFactory工厂,生成各查询城市对应的各HtmlParserForCity实例,工厂模式是Java中最常用的设计模式之一,利用工厂模式可以在不同条件下创建不同实例。当然,本发明的实施例不限于此)。然后,利用所生成的实例解析执行结果,当确定当前查询城市的查询流程完成时,确定出待查询车辆在当前查询城市的违章信息。违章信息包括以下信息中的一个或多个:违章时间、违章地点、违章内容、罚款、扣分、处罚编号。
在一种实施例中,若从执行结果中解析出查询结果出现或出现查询错误的提示信息,则判断此次查询流程完成。否则,查询***100要重复执行步骤S315至步骤S319,直至查询流程完成。随后在步骤S321中,应用服务器120发送待查询车辆的违章信息给客户端110,以便客户端110将其作为查询结果,显示给用户。
在又一些实施例中,应用服务器120还会关联保存待查询车辆及其违章信息,并生成查询时间戳,将该查询时间戳与违章信息一起,返回给客户端110。可选地,应用服务器120返回JSON格式的违章信息与查询时间戳给客户端110,不限于此。
同样,客户端110在向用户显示违章信息的同时,也会在本地关联保存本次查询的车辆的信息、违章信息与查询时间戳,作为一条查询记录。
至此,查询***100就执行完一次违章信息的查询过程。
在一些实施场景中,当用户再次通过客户端应用112发起查询请求时,客户端110将从本地缓存中确定用户本次要查询的车辆是否已经有查询记录。若没有查询记录,则重新执行上述流程;若已经有查询记录,则发送包含待查询车辆的信息和查询时间戳的查询请求给应用服务器120。由应用服务器120基于查询时间戳判断是否需要更新信息。在一种实施例中,应用服务器120会设置一个查询间隔,当查询时间戳距当前时刻的时间段,不在查询间隔范围内时,确定需要更新信息。例如,设置查询间隔为7天,那么,只要查询时间戳所指示的查询时间在距今7天内,就不需要更新信息;只有查询时间戳所指示的查询时间不在距今7天范围内时,才更新信息。
进一步地,若经判断后确定不需要更新信息,那么,应用服务器120返回本地保存的该车辆的违章信息给客户端110。若经判断后确定需要更新信息,那么,应用服务器120重复执行所述生成验证码代理任务的步骤(即步骤S309至步骤S314)、所述生成查询代理任务的步骤(即步骤S315至步骤S319),来获取再次查询的车辆的违章信息。
根据本发明的违章信息的查询方案,提供了一种基于客户端的动态任务代理方法。客户端110接收来自应用服务器120的代理任务,解密代理任务后,将其执行Socket网络请求交给对应的第三方服务器130,并将第三方服务器130返回的执行结果转发给应用服务器120进行处理。可以有效地处理不同第三方服务器130不同的查询需求。同时,当第三方服务器130更新查询要求(即,车辆查询配置)时,客户端应用112可以不更新版本,依旧能够支持用户的查询需求。因此,根据本发明的方案提高了查询违章数据的时效性和准确性。
此外,随着APP用户量的高速增长,因为应用服务器120只需要构造代理任务和解析第三方服务器130的执行结果,不需要直接请求第三方服务器130,减小了应用服务器120对外访问网络的流量和购买第三方代理IP的费用,有效减少了服务器负载,提高了服务器的吞吐量,节省了费用。
例如,APP在某交管局更新了查询信息时,应用服务器120监控到查询信息有所变更,立即更新构造查询代理任务的代码,测试通过后最快在10分钟内就能够发布线上代码,通过所生成的动态代理任务,就同步更新了查询信息。这样能够很好地保证用户体验。若客户端应用也同步更新的话,因为移动应用市场的发布时间限制,可能需要1-3天,这就无法保证查询的准确性及用户体验。
此外,根据申请人的经验,在APP从最初的0达到10万DAU(日活跃人数)时,通过应用服务器来代理,由于不同第三方服务器的查询返回时间不一致,已经需要5台应用服务器来保证用户的查询要求。并且,如果个别第三方服务器有大量查询超时,还会波及应用服务器,造成应用短时不可用。当随着DAU的持续增长,采用根据本发明实施例的方案,用同样的5台应用服务器,能够支撑最高150万的DAU,并且第三方服务器的查询超时不会波及到应用服务器。可见,根据本发明的方案有效节省了费用、提高了应用的可用性。
综上所述,本方案具有用户体验佳,查询准确、服务器可靠的特性,在有IP限制的查询平台中,其具备可移植性,并且扩展性强。
图4示出了根据本发明另一个实施例的违章信息的查询方法400的示意图。该方法400适于在应用服务器120中执行。方法400是对方法300的进一步补充说明,故重复的部分此处不再赘述,可参考***100和方法300中的相关描述。
如图4所示,方法400始于步骤S410。应用服务器120接收查询城市和待查询车辆的信息,判断待查询车辆的信息是否合法。
随后在步骤S420中,应用服务器120在确认待查询车辆的信息合法时,生成车辆标识符,并返回给客户端110。
随后在步骤S430中,应用服务器120在接收到来自客户端110的车辆标识符和查询城市时,基于查询城市生成验证码代理任务并发送给客户端110,以便客户端110将验证码代理任务转发给第三方服务器130执行。
随后在步骤S440中,应用服务器120根据客户端110返回的执行结果,生成验证码。
随后在步骤S450中,应用服务器120基于车辆标识符、验证码和查询城市,生成查询代理任务并发送给客户端110,以便客户端110将查询代理任务转发给第三方服务器130执行。
随后在步骤S460中,应用服务器120根据客户端110返回的执行结果得到待查询车辆的违章信息,并返回给客户端110。
图5示出了根据本发明再一个实施例的违章信息的查询方法500的示意图。该方法500适于在客户端110中执行。方法500是对方法300的进一步补充说明,故重复的部分此处不再赘述,可参考***100和方法300中的相关描述。
如图5所示,方法500始于步骤S510。在步骤S510中,客户端110将用户输入的查询城市和待查询车辆的信息发送给应用服务器120,以便应用服务器120在确定待查询车辆的信息合法后,生成车辆标识符并返回给客户端110。
随后在步骤S520中,客户端110响应于用户的查询请求,发送车辆标识符和查询城市给应用服务器120。
随后在步骤S530中,客户端110将来自应用服务器120的验证码代理任务转发给第三方服务器130执行,并将第三方服务器130的执行结果返回给应用服务器120。其中,验证码代理任务由应用服务器120基于查询城市生成,即针对每个查询城市,均可生成一条验证码代理任务与之对应,以便于客户端110将其对应转发至相应查询城市的第三方服务器。
随后在步骤S540中,客户端110将来自应用服务器120的查询代理任务转发给第三方服务器130执行,并将第三方服务器130的执行结果返回给应用服务器120,以便应用服务器120解析出违章信息。其中查询代理任务在应用服务器解析出验证码时生成。
随后在步骤S550中,客户端110接收由应用服务器120返回的车辆的违章信息。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明一并公开了:A4、如A2或3所述的方法,其中,根据客户端返回的执行结果,生成验证码的步骤,还包括:若无法从所述客户端返回的执行结果中破解出验证码,则基于该执行结果生成图片给所述客户端,以便用户根据图片输入验证码;接收来自客户端的验证码。A5、如A1-4中任一项所述的方法,其中,基于车辆标识符、验证码和查询城市,生成查询代理任务的步骤包括:生成关于查询城市的构造器;利用构造器,根据验证码和待查询车辆的信息,生成查询代理任务。A6、如A1-5中任一项所述的方法,其中,根据客户端返回的执行结果得到待查询车辆的违章信息的步骤包括:生成查询城市对应的实例;利用实例解析执行结果,当确定当前查询城市的查询流程完成时,确定出待查询车辆在当前查询城市的违章信息。A7、如A1-6中任一项所述的方法,还包括步骤:发送不同城市的车辆查询配置给客户端,以便客户端基于车辆查询配置生成添加车辆页面,来接收用户输入查询城市和待查询车辆的信息。A8、如A1-7中任一项所述的方法,其中,接收查询城市和待查询车辆的信息,判断待查询车辆的信息是否合法的步骤包括:接收查询城市和待查询车辆的信息,判断待查询车辆的信息的字段是否合法。A9、如A1-8中任一项所述的方法,其中,根据客户端返回的执行结果得到待查询车辆的违章信息,并返回给客户端的步骤还包括:关联保存待查询车辆及其违章信息;返回违章信息和查询时间戳给客户端。A10、如A9所述的方法,还包括步骤:当再次接收到待查询车辆的信息和查询时间戳的查询请求时,基于查询时间戳判断是否需要更新信息;若经判断后确定不需要更新信息,则返回保存的违章信息给客户端;若经判断后确定需要更新信息,则重复执行生成验证码代理任务的步骤、生成查询代理任务的步骤,来获取再次查询的车辆的违章信息。A11、如A1-10中任一项所述的方法,其中,违章信息包括以下信息中的一个或多个:违章时间、违章地点、违章内容、罚款、扣分、处罚编号。A12、如A1-11中任一项所述的方法,其中,待查询车辆的信息包括以下信息中的一种或多种:车牌号、车架号、发动机号。
B14、如B13所述的查询方法,还包括步骤:从应用服务器获取全局配置信息,全局配置信息包括城市更新数据;判断所获取的城市更新数据与预存的城市更新数据是否一致;若不一致,则从应用服务器获取不同城市的车辆查询配置;基于所获取的车辆查询配置生成添加车辆页面,以供用户输入查询城市和待查询车辆的信息。B15、如B13或14所述的方法,其中,接收由应用服务器返回的车辆的违章信息的步骤还包括:接收由应用服务器返回的待查询车辆的违章信息和查询时间戳,并关联存储待查询车辆的违章信息和查询时间戳。B16、如B15所述的方法,其中,在接收由应用服务器返回的车辆的违章信息的步骤之后,还包括步骤:响应于用户的再次查询请求,将待查询车辆的信息和所述查询时间戳发送给应用服务器,由应用服务器基于查询时间戳判断是否需要更新信息;在应用服务器确定不需要更新信息时,接收由应用服务器返回的违章信息;在应用服务器确定需要更新信息时,重复执行转发验证码代理任务的步骤、转发查询代理任务的步骤和接收违章信息的步骤,来获取再次查询的车辆的违章信息。B17、如B14-16中任一项所述的方法,其中,添加车辆页面适于接收用户输入的至少一个查询城市。B18、如B17所述的方法,其中,将来自应用服务器的验证码代理任务转发给第三方服务器执行,并将第三方服务器的执行结果返回给应用服务器的步骤还包括:解析来自应用服务器的验证码代理任务;基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的验证码代理任务分别转发给第三方服务器来执行,并将第三方服务器的执行结果返回给应用服务器。B19、如B17所述的方法,其中,将来自应用服务器的查询代理任务转发给第三方服务器执行,并将第三方服务器的执行结果返回给应用服务器的步骤还包括:解析来自应用服务器的查询代理任务;基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的查询代理任务转发给第三方服务器来执行,并将第三方服务器的执行结果分别返回给所述应用服务器。B20、如B13-19中任一项所述的方法,其中,待查询车辆的信息包括以下信息中的一种或多种:车牌号码、车架号、发动机号。
C25、如C21-24中任一项所述的查询***,其中,应用服务器还适于针对至少一个查询城市,生成对应的至少一个验证码代理任务或至少一个查询代理任务给客户端;客户端还适于采用对应线程,通过Socket请求,将至少一个验证码代理任务或所述至少一个查询代理任务分别转发给第三方服务器来执行。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明所述的方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (23)
1.一种违章信息的查询方法,所述方法适于在应用服务器中执行,所述应用服务器分别与客户端和第三方服务器相连,所述方法包括步骤:
接收查询城市和待查询车辆的信息,判断所述待查询车辆的信息是否合法;
在确认所述待查询车辆的信息合法时,生成车辆标识符并返回给所述客户端;
在接收到来自所述客户端的车辆标识符和查询城市时,基于查询城市生成验证码代理任务并发送给所述客户端,包括:在接收到来自所述客户端的车辆标识符和查询城市时,基于所述车辆标识符确定出待查询车辆的信息;根据所述查询城市判断当前查询城市是否需要请求验证码;若需要请求验证码,则基于查询城市生成验证码代理任务,并对所生成的验证码代理任务进行加密,得到加密后的验证码代理任务;将加密后的验证码代理任务发送给所述客户端,以便客户端将其转发给第三方服务器执行;
根据所述客户端返回的执行结果,生成验证码;
基于车辆标识符、验证码和查询城市,生成查询代理任务并发送给所述客户端,以便客户端将所述查询代理任务转发给第三方服务器执行;
根据所述客户端返回的执行结果得到待查询车辆的违章信息,并返回给所述客户端。
2.如权利要求1所述的方法,其中,所述在确认待查询车辆的信息合法时,生成车辆标识符并返回给客户端的步骤还包括:
在生成车辆标识符时,关联存储所述车辆标识符和待查询车辆的信息。
3.如权利要求2所述的方法,其中,所述根据客户端返回的执行结果,生成验证码的步骤,还包括:
若无法从所述客户端返回的执行结果中破解出验证码,则基于该执行结果生成图片给所述客户端,以便用户根据所述图片输入验证码;
接收来自客户端的验证码。
4.如权利要求3所述的方法,其中,基于车辆标识符、验证码和查询城市,生成查询代理任务的步骤包括:
生成关于查询城市的构造器;
利用所述构造器,根据所述验证码和待查询车辆的信息,生成查询代理任务。
5.如权利要求4所述的方法,其中,根据所述客户端返回的执行结果得到待查询车辆的违章信息的步骤包括:
生成查询城市对应的实例;
利用所述实例解析执行结果,当确定当前查询城市的查询流程完成时,确定出待查询车辆在当前查询城市的违章信息。
6.如权利要求5所述的方法,还包括步骤:
发送不同城市的车辆查询配置给所述客户端,以便客户端基于车辆查询配置生成添加车辆页面,来接收用户输入查询城市和待查询车辆的信息。
7.如权利要求6所述的方法,其中,所述接收查询城市和待查询车辆的信息,判断待查询车辆的信息是否合法的步骤包括:
接收所述查询城市和待查询车辆的信息,判断所述待查询车辆的信息的字段是否合法。
8.如权利要求7所述的方法,其中,所述根据客户端返回的执行结果得到待查询车辆的违章信息,并返回给客户端的步骤还包括:
关联保存所述待查询车辆及其违章信息;
返回违章信息和查询时间戳给所述客户端。
9.如权利要求8所述的方法,还包括步骤:
当再次接收到待查询车辆的信息和所述查询时间戳的查询请求时,基于所述查询时间戳判断是否需要更新信息;
若经判断后确定不需要更新信息,则返回保存的违章信息给所述客户端;
若经判断后确定需要更新信息,则重复执行所述生成验证码代理任务的步骤、所述生成查询代理任务的步骤,来获取再次查询的车辆的违章信息。
10.如权利要求1-9中任一项所述的方法,其中,所述违章信息包括以下信息中的一个或多个:违章时间、违章地点、违章内容、罚款、扣分、处罚编号。
11.如权利要求1-9中任一项所述的方法,其中,所述待查询车辆的信息包括以下信息中的一种或多种:车牌号、车架号、发动机号。
12.一种违章信息的查询方法,所述方法适于在客户端中执行,所述客户端分别与应用服务器和第三方服务器相连,所述方法包括步骤:
将用户输入的查询城市和待查询车辆的信息发送给应用服务器,以便所述应用服务器在确定待查询车辆的信息合法后,生成车辆标识符并返回给所述客户端;
响应于用户的查询请求,发送车辆标识符和查询城市给所述应用服务器;
将来自应用服务器的验证码代理任务转发给第三方服务器执行,并将所述第三方服务器的执行结果返回给所述应用服务器,其中所述验证码代理任务由应用服务器基于查询城市生成;
将来自所述应用服务器的查询代理任务转发给第三方服务器执行,并将所述第三方服务器的执行结果返回给所述应用服务器,以便所述应用服务器解析出违章信息,其中所述查询代理任务在所述应用服务器解析出验证码时生成;以及
接收由所述应用服务器返回的车辆的违章信息,包括待查询车辆的违章信息和查询时间戳,并关联存储所述待查询车辆的违章信息和查询时间戳;
响应于用户的再次查询请求,将待查询车辆的信息和所述查询时间戳发送给应用服务器,由所述应用服务器基于所述查询时间戳判断是否需要更新信息;
在所述应用服务器确定不需要更新信息时,接收由所述应用服务器返回的违章信息;
在所述应用服务器确定需要更新信息时,重复执行所述转发验证码代理任务的步骤、所述转发查询代理任务的步骤和接收违章信息的步骤,来获取再次查询的车辆的违章信息。
13.如权利要求12 所述的查询方法,还包括步骤:
从所述应用服务器获取全局配置信息,所述全局配置信息包括城市更新数据;
判断所获取的城市更新数据与预存的城市更新数据是否一致;
若不一致,则从所述应用服务器获取不同城市的车辆查询配置;
基于所获取的车辆查询配置生成添加车辆页面,以供用户输入查询城市和待查询车辆的信息。
14.如权利要求13所述的方法,其中,所述添加车辆页面适于接收用户输入的至少一个查询城市。
15.如权利要求14所述的方法,其中,将来自应用服务器的验证码代理任务转发给第三方服务器执行,并将所述第三方服务器的执行结果返回给所述应用服务器的步骤还包括:
解析来自所述应用服务器的验证码代理任务;
基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的验证码代理任务分别转发给第三方服务器来执行,并将所述第三方服务器的执行结果返回给所述应用服务器。
16.如权利要求14所述的方法,其中,将来自所述应用服务器的查询代理任务转发给第三方服务器执行,并将所述第三方服务器的执行结果返回给所述应用服务器的步骤还包括:
解析来自所述应用服务器的查询代理任务;
基于解析出的至少一个查询城市,采用对应线程,通过Socket请求,将所解析的查询代理任务转发给第三方服务器来执行,并将所述第三方服务器的执行结果分别返回给所述应用服务器。
17.如权利要求12-16中任一项所述的方法,其中,所述待查询车辆的信息包括以下信息中的一种或多种:车牌号码、车架号、发动机号。
18.一种违章信息的查询***,包括:
客户端,适于响应于用户的查询请求,将待查询车辆的信息和查询城市发送给应用服务器,还适于在接收到来自应用服务器的验证码代理任务或查询代理任务时,将其转发给第三方服务器;
应用服务器,与所述客户端相连,适于基于查询城市生成验证码代理任务并发送给所述客户端,并在接收到由所述客户端返回的执行结果时生成验证码;还适于基于车辆标识符、验证码和查询城市,生成查询代理任务并发送给所述客户端,以及在接收到由所述客户端返回的执行结果时得到待查询车辆的违章信息并返回给客户端;
第三方服务器,与所述客户端相连,适于执行来自所述客户端的验证码代理任务或查询代理任务,并将相应的执行结果返回给所述客户端;
所述应用服务器还适于根据所述查询城市判断当前查询城市是否需要请求验证码;若需要请求验证码,则基于查询城市生成验证码代理任务,并对所生成的验证码代理任务进行加密,得到加密后的验证码代理任务;将加密后的验证码代理任务发送给所述客户端。
19.如权利要求18所述的查询***,其中,
所述车辆标识符由所述应用服务器在确认所述待查询车辆的信息合法时生成。
20.如权利要求19所述的查询***,其中,所述应用服务器还适于:
生成关于查询城市的构造器;
利用所述构造器,根据所述验证码和待查询车辆的信息,生成查询代理任务。
21.如权利要求20所述的查询***,其中,
所述应用服务器还适于针对至少一个查询城市,生成对应的至少一个验证码代理任务或至少一个查询代理任务给客户端;
所述客户端还适于采用对应线程,通过Socket请求,将所述至少一个验证码代理任务或所述至少一个查询代理任务分别转发给第三方服务器来执行。
22.一种计算设备,包括:
一个或多个处理器;和
存储器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-17所述方法中的任一方法的指令。
23.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-17所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965063.3A CN110727704B (zh) | 2019-10-11 | 2019-10-11 | 一种违章信息的查询方法和查询*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965063.3A CN110727704B (zh) | 2019-10-11 | 2019-10-11 | 一种违章信息的查询方法和查询*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727704A CN110727704A (zh) | 2020-01-24 |
CN110727704B true CN110727704B (zh) | 2022-03-18 |
Family
ID=69221021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910965063.3A Active CN110727704B (zh) | 2019-10-11 | 2019-10-11 | 一种违章信息的查询方法和查询*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727704B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912536A (zh) * | 2015-10-23 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 一种违章信息查询方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473923B (zh) * | 2013-09-18 | 2016-04-20 | 林诗昊 | 一种机动车交通违法实时告知、确认的方法 |
CN104735132B (zh) * | 2015-02-13 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 信息查询方法、服务器及终端 |
CN106384512B (zh) * | 2016-08-30 | 2018-02-02 | 盯盯拍(深圳)技术股份有限公司 | 车辆违章信息查询方法以及*** |
CN107908769B (zh) * | 2017-11-29 | 2021-07-27 | 中国平安财产保险股份有限公司 | 违章数据查询方法、装置、***、设备及可读存储介质 |
JP7040936B2 (ja) * | 2017-12-26 | 2022-03-23 | 株式会社ゼンリンデータコム | 情報収集システムおよび情報収集装置 |
-
2019
- 2019-10-11 CN CN201910965063.3A patent/CN110727704B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912536A (zh) * | 2015-10-23 | 2016-08-31 | 乐视致新电子科技(天津)有限公司 | 一种违章信息查询方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于移动支付实现交通违章查询及缴纳罚款的***设计与实现;张继伟;《信息安全与技术》;20131031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110727704A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609848B (zh) | 一种基于物联网的知识产权许可方法及*** | |
CN110602052B (zh) | 微服务处理方法及服务器 | |
CN103155513B (zh) | 加速认证的方法和装置 | |
US8429755B2 (en) | System and method for receiving digital content | |
CN108040040A (zh) | 一种应用协议报文的自动化解析方法和装置 | |
CN111062024B (zh) | 一种应用登录方法和装置 | |
JP2017111834A (ja) | 動的サービス統合システム及び方法 | |
CN111556002B (zh) | 用于通过耦合的设备授予权限的***和方法 | |
CN111949974A (zh) | 一种认证的方法、装置、计算机设备及存储介质 | |
US20170155627A1 (en) | Passing content securely from web browsers to computer applications | |
CN103428309A (zh) | 二维码跳转处理方法 | |
KR101523309B1 (ko) | 어플리케이션 배포 시스템 및 방법 | |
CN110708335A (zh) | 访问认证方法、装置及终端设备 | |
EP4242831A1 (en) | Method, apparatus and device for generating image processing interface, and storage medium | |
US11539711B1 (en) | Content integrity processing on browser applications | |
CN110727704B (zh) | 一种违章信息的查询方法和查询*** | |
CN111447178B (zh) | 一种访问控制方法、***及计算设备 | |
KR20110059363A (ko) | 어플리케이션 보호 방법 및 이를 이용한 어플리케이션 실행 방법 | |
CN108156071B (zh) | 向社区添加成员的方法、终端设备及计算机可读存储介质 | |
WO2021081702A1 (zh) | 支付页面管理方法、设备、支付***以及存储介质 | |
CN102056025A (zh) | Iptv模块的升级方法 | |
JP2015158721A (ja) | 情報処理システム、情報処理装置、情報処理方法、及びプログラム | |
KR20150044067A (ko) | 지문정보를 이용한 신분증 발급 시스템, 사용자 장치, 신분증 발급장치, 지문 인증 장치 및 방법 | |
CN111835523B (zh) | 一种数据请求方法、***及计算设备 | |
KR20150065441A (ko) | 서버기반의 간편 로그인 시스템 및 간편 로그인 방법 |
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 |