CN108021505B - 数据上线方法、装置和计算机设备 - Google Patents
数据上线方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN108021505B CN108021505B CN201711270511.5A CN201711270511A CN108021505B CN 108021505 B CN108021505 B CN 108021505B CN 201711270511 A CN201711270511 A CN 201711270511A CN 108021505 B CN108021505 B CN 108021505B
- Authority
- CN
- China
- Prior art keywords
- retrieval
- index data
- data
- effect
- online
- 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 87
- 238000012360 testing method Methods 0.000 claims abstract description 268
- 230000000694 effects Effects 0.000 claims abstract description 199
- 238000012795 verification Methods 0.000 claims abstract description 34
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 126
- 238000004088 simulation Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 22
- 238000010200 validation analysis Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 230000007488 abnormal function Effects 0.000 claims description 4
- 230000002860 competitive effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 abstract description 4
- 230000002354 daily effect Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000011990 functional testing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013502 data validation Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种数据上线方法、装置和计算机设备,其中,方法包括:当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。通过本方法,能够保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据上线方法、装置和计算机设备。
背景技术
随着互联网的发展,基于位置服务(Location Based Services,LBS)检索在人们日常生活中的使用场景越来越多,如出行地图检索、出行打车、团购外卖等生活服务垂类app的POI(Point of Interest,兴趣点)检索。由于现实中的LBS信息经常变动,如小区新建、商户开店、商户闭店、地点搬迁等,因此,需要根据变更对数据进行更新,同步到服务端,以保证用户最佳体验。
现有的数据更新方式多是通过复杂的建库流程生成正排和倒排索引,将新增数据推送至服务端生效。现有方式中,在数据上线之前,仅针对数据量波动及数据一致性对数据进行校验,未对数据内容进行质量检测,无法保证数据质量和效果,容易造成服务故障。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种数据上线方法,通过在数据上线之前对数据进行功能测试和效果测试,以保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
本发明的第二个目的在于提出一种数据上线装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种数据上线方法,包括:
当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;
对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。
本发明实施例的数据上线方法,通过对传输到网络文件系统的索引数据进行验证,在验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中,对镜像检索系统进行功能和效果测试,在测试通过后将索引数据上传至线上检索系统,并对线上检索系统进行功能和效果测试,并在测试通过后将索引数据在线上生效。通过在数据上线之前对数据进行功能测试和效果测试,以保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
为达上述目的,本发明第二方面实施例提出了一种数据上线装置,包括:
验证模块,用于当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
传输模块,用于验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
上传模块,用于对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;
发布模块,用于对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。
本发明实施例的数据上线装置,通过对传输到网络文件系统的索引数据进行验证,在验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中,对镜像检索系统进行功能和效果测试,在测试通过后将索引数据上传至线上检索系统,并对线上检索系统进行功能和效果测试,并在测试通过后将索引数据在线上生效。通过在数据上线之前对数据进行功能测试和效果测试,以保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括:网络文件系统、镜像检索系统、线上检索系统、处理器和存储器;其中,
所述网络文件系统,用于存放和共享源数据的索引数据;
所述镜像检索系统,用于接收所述网络文件系统中通过验证的所述索引数据;
所述线上检索系统,用接收并存储所述镜像检索系统上传的所述索引数据,并生效所述索引数据;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现一种数据上线方法,包括以下步骤:
当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;
对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的数据上线方法。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时实现如第一方面实施例所述的数据上线方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为现有网络文件的数据更新架构流程图;
图2为本发明实施例一所提供的数据上线方法的流程示意图;
图3为本发明实施例二所提供的数据上线方法的流程示意图;
图4(a)为第一曲线关系示意图;
图4(b)为第二曲线关系示意图;
图5为本发明实施例三所提供的数据上线方法的流程示意图;
图6为本发明实施例四所提供的数据上线方法的流程示意图;
图7为本发明实施例的数据线上方法的架构流程示意图;
图8为本发明实施例一所提供的数据上线装置的结构示意图;
图9为本发明实施例二所提供的数据上线装置的结构示意图;
图10为本发明实施例三所提供的数据上线装置的结构示意图;
图11为本发明实施例四所提供的数据上线装置的结构示意图;
图12为本发明一实施例提出的计算机设备的结构示意图;以及
图13为适于用来实现本发明实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的数据上线方法、装置和计算机设备。
图1为现有网络文件的数据更新架构流程图,图1中,网络文件的数据更新架构用于存放和共享待线上发布的数据。其中,包括网络分布式文件MFS(Network DistributedFile,简称MFS)存储系统,Noah-DT为可灵活配置前置、后置命令的数据配送平台,mirror为镜像检索系统。从图1中可以看出,Noah-DT将数据推送至mirror环境之前,仅对数据大小上下浮动是否超过阈值、时间是否在有效时间内进行检查。数据被推送至mirror环境之后,Noah-DT监测端口、内存、CPU等是否正常,并在正常时进行数据上线。
然而,现有的数据更新方式存在较多的弊端。比如,仅在数据传输时对数据进行一致性校验,但对产出数据未进行校验,容易出现因产出数据不完整导致部分功能缺失的情况;在数据预上线时,仅对常规运维的服务端口、内存、CPU等进行监控,无法保证具体服务功能和效果是否正常,且mirror环境无用户流量,无法确定有用户请求时服务状态是否正常。
针对上述问题,本发明提出了一种数据上线方法,以通过在数据上线之前对数据进行功能测试和效果测试,保证垂类POI检索的数据更新质量和服务质量。
图2为本发明实施例一所提供的数据上线方法的流程示意图。
如图2所示,该数据上线方法包括以下步骤:
步骤101,当监控到源数据的索引数据传输到网络文件系统之后,对索引数据进行验证。
其中,索引数据是对POI数据、公交数据、区域数据等各类数据,通过复杂的建库流程生成的正排索引数据和倒排索引数据。
本实施例中,可以在现有的网络文件的数据更新框架中,增加一个中控系统,由中控系统控制数据传输、数据预上线和数据发布等过程。索引数据被上传至网络文件系统,当中控系统监控到源数据的索引数据传输到网络文件系统之后,中控系统对索引数据进行验证。
具体地,中控系统可以获取索引数据的大小和生成时间,验证索引数据的大小是否超出预设的阈值,并根据生成时间确定索引数据是否失效,如果索引数据的大小未超出预设的阈值且索引数据未失效,则通过对索引数据的验证。
可选地,在本发明实施例一种可能的实现方式中,还可以对数据波动大小进行验证,验证标准如公式(1)所示,当数据波动的百分比小于预设的比值阈值时,认为索引数据验证通过。
步骤102,验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中。
本实施例中,当索引数据通过校验之后,中控系统从网络文件系统中拉取验证通过后的索引数据,并将索引数据传输至镜像检索系统中。
步骤103,对镜像检索系统进行功能和效果测试,在测试通过后,将索引数据上传到线上检索系统。
现有的数据上线方法中,由于未对数据内容质量进行校验,导致服务质量和搜索效果下降。比如,在源数据产出不全时对源数据进行编译,导致编译后的数据不全而使搜索效果退化;对源数据进行编译时,编译过程中部分数据损坏,虽然服务可正常启动,但部分功能不可用,用户体验感下降。因此,在索引数据正式上线之前,对索引数据进行功能和效果测试以保证服务质量是十分必要的。
本实施例中,在将索引数据上传至线上系统进行线上发布之前,可以先对镜像检索系统进行功能和效果测试,并在测试通过后将索引数据上传到线上检索系统。比如,可以通过调用预先设置的功能测试接口和效果测试接口进行测试。
此处需要说明的是,对镜像检索系统进行功能和效果测试的具体实现过程将在后续内容中给出,为避免赘余,此处不作详细描述。
步骤104,对线上检索系统进行功能和效果测试,在测试通过后,将索引数据在线上生效。
本实施例中,当索引数据在镜像检索系统中通过功能和效果验证之后,索引数据被上传至线上检索系统,中控系统对线上检索系统进行功能和效果测试,测试方式与镜像检索系统的功能和效果测试方式类似。测试通过后,中控系统将索引数据在线上生效,从而使新发布的数据内容质量得到保证,保证服务功能的正常使用。
本实施例的数据上线方法,在网络文件的数据更新框架中增加一个中控系统,通过中控系统对数据更新过程的进度实时监控,根据进度对网络文件的数据更新框架中的不同系统有针对性的进行策略控制。通过中控系统对传输到索引数据进行验证,在验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中,对镜像检索系统进行功能和效果测试,在测试通过后将索引数据上传至线上检索系统,并对线上检索系统进行功能和效果测试,并在测试通过后将索引数据在线上生效。通过在数据上线之前对数据进行功能测试和效果测试,以保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
进一步地,中控系统还兼容了数据产出阶段对索引数据格式的验证,能够保证索引数据的准确性,网络文件的数据更新框架不再对索引数据进行格式检测,可以降低该框架的负担。本实施例中,验证由中控系统专门负责,网络文件的数据更新框架仅负责数据的传输,虽然增加了对镜像检索系统和线上检索系统的测试,但是由于验证由中控系统独立控制,从而并不会影响索引数据整体更新框架的数据流向。
为了更加清楚地描述前述实施例中,对镜像检索系统和线上检索系统进行功能和效果测试的具体实现过程,本发明实施例提出了另一种数据上线方法,图3为本发明实施例二所提供的数据上线方法的流程示意图。
如图3所示,在如图1所示实施例的基础上,步骤103和步骤104中所述的进行功能和效果测试,可以通过如下步骤实现:
步骤201,利用预设的测试API对被测对象的各项功能进行测试,判断被测对象中是否存在异常的功能;其中,被测对象为镜像检索系统或者线上检索系统。
本实施例中,可以预先针对功能测试提供统一的应用程序编程接口(ApplicationProgramming Interface,API),功能测试API接口(记为syscaseAPI)可以灵活支持多环境、多地域的功能测试,通过输入环境参数,返回功能测试是否通过的结论。
具体地,中控系统可以通过调用功能测试API接口构建用于对被测对象的各项功能进行测试的测试任务,其中,测试任务中携带被测对象的标识,根据标识可以识别出是对镜像检索系统进行功能测试,还是对线上检索系统进行功能测试。通过执行构建的测试任务,对被测对象的各项功能进行测试。
举例而言,可以接入功能测试API接口,通过调用submit事件构建测试任务。例如,当需要对地域A的索引数据进行功能测试时,可以通过http://grayRelease/syscaseAPI/jobs/submit?target=“addressA”实现对地域A的功能测试,其中,输入参数为target=“addressA”,target用于接收输入的参数。返回结果示例如下:
{
err_no:“0”,//err_no为0代表无error,返回正常;err_no为-1,代表任务构建异常
err_msg:“get job id is successes”,//任务构建提示信息
jobid:“3096”//返回jobid
}
其中,jobid表示当前测试任务的id,根据该id,可以获取测试任务的执行结果。
中控系统在执行测试任务的过程中,还可以接收任务执行结果的查询请求,根据查询请求,返回测试任务的执行状态和/或被测对象的测试结果。其中,查询请求中可以包括测试任务的id,根据id可以获取对应的测试任务的执行状态;和/或,查询请求中可以包括被测对象的标识,根据标识可以获取对应的被测对象的测试结果。任务状态包括但不限于初始化、运行中(需1分钟后继续check任务状态)、测试用例全部通过、测试用例失败数小于阈值测试通过、测试用例失败数大于阈值测试失败发送短信和邮件通知、执行任务故障、传递参数异常等。
举例而言,可以接入功能测试API接口,通过调用getResult事件获取测试任务的测试结果。例如,当需要获取地域A的索引数据的测试结果时,由于对应于地域A的索引数据的功能测试任务的id为3096,因此,可以输入参数3096来获取对应任务的测试结果,如根据http://grayRelease/syscaseAPI/jobs/getResult?jobid=3096获取测试结果,其中,传入参数为jobid=3096。返回结果示例如下:
通过封装现有的自动化测试根据进行功能测试,能够保证系统功能完整,保障服务质量。
步骤202,获取高频检索词。
为了分析用户行为,实现对索引数据的效果测试,以保证搜索效果,本实施例中,可以获取高频检索词,以利用高频检索词对索引数据进行效果测试。比如,可以通过数据产生流程、用户需求类型分析得到典型的用户需求场景,如精准POI检索需求场景(如百度大厦)、泛检索需求场景(如美食)、连锁检索需求场景(如海底捞)等,并针对每类用户需求场景获取高频检索词。
具体地,中控系统可以获取预设时长内每个检索词的日检索次数,其中,预设时长比如为一个月。由于用户请求会随着时间的变化而发生变化,检索词的选取也需要定期更新,因此,可以获取预设时长内每个检索词的日检索次数。中控系统根据获取的每个检索词的日检索次数,可以获取每个日检索次数阈值下日检索次数与日总检索次数之间的比值,并形成第一曲线关系;其中,第一曲线的横向坐标为日检索次数阈值,纵向坐标为比值;以及,获取每个日检索次数阈值下的检索词数量,并形成第二曲线关系;其中,第二曲线的横向坐标为日检索次数阈值,纵向坐标为检索词数量。进而,根据第一曲线关系和第二曲线关系,获取用于选取高频检索词的第一日检索次数,根据每个检索词的日检索次数与第一日检索次数,从所有的检索词中获取高频检索词。
以地图检索精准查询为例,分析所得的检索词(query)与检索次数(pv)的曲线关系如图4(a)和图4(b)所示,其中,图4(a)为第一曲线关系示意图,示出了日检索次数大于阈值的日检索次数占日总检索次数的比值与日检索次数的对应关系;图4(b)为第二曲线关系示意图,示出了日检索次数大于阈值的检索词数量与日检索次数阈值的对应关系。从图4(b)可以看出,日检索次数超过50次的检索词数量为34419,结合图4(a)可以看出,日检索次数超过50的检索词的检索次数占日总检索次数的比值为18.63%。结合图4(a)和图4(b)可以看出,检索次数阈值越大,对应的检索词数量越少,日检索次数与日总检索次数的占比越小,但变化幅度不大,因此,对高频检索词进行效果测试,可以实现用较少的检索词获得较多次数的用户检索体验。本示例中,可以选择50次作为日检索次数阈值,即作为第一日检索次数,根据第一日检索次数,从所有的检索词中获取日检索次数大于第一日检索次数的检索词作为高频检索词。
步骤203,获取高频检索词对应的基准检索结果。
其中,基准检索结果用于作为效果测试的返回对比标准,效果测试的返回结果越接近于基准检索结果,则表明索引数据的搜索效果越好。
具体地,获取高频检索词对应的基准检索结果可以包括:根据获取的高频检索词构建第一检索请求和第二检索请求;其中,第一检索请求为在第一检索引擎检索时需要的检索请求,第二检索请求为用于在第二检索引擎时需要的检索请求,第一检索引擎和第二检索引擎之间存在竞争关系;根据第一检索请求在第一检索引擎中进行检索,获取第一检索结果;根据第二检索请求在第二检索引擎中进行检索,获取第二检索结果;根据第一检索结果与第二检索结果,形成基准检索结果。
本实施例中,在获取了高频检索词之后,可以在两个存在竞争关系的检索引擎上,分别根据高频检索词构建检索请求并进行检索获得第一检索结果和第二检索结果,并利用机器学习方式对第一检索结果和第二检索结果进行对比,判断两个检索引擎的获得的检索结果是否一致。针对每个高频检索词,如果检索获得的第一检索结果和第二检索结果相同,则该检索结果即可作为基准检索结果,由此所得的基准检索结果可以覆盖85%的检索请求。如果第一检索结果和第二检索结果不一致,则可以从所得的检索结果中选择与高频检索词匹配度最高的检索结果作为高频检索词的基准检索结果。
步骤204,利用高频检索词和测试API对被测对象的检索效果进行测试,判断被测对象的检索效果是否满足需求。
本实施例中,可以预先封装高频请求效果测试API接口(记为queryMonitorAPI接口),在进行效果测试时,通过调用测试API接口,利用高频检索词可以实现对高频检索词的效果测试。
举例而言,可以调用测试API接口中的submit事件构建效果测试任务,submit事件的传递参数为环境标志,用于表明测试地域,返回结果为效果测试任务的id。例如,当需要对地域A进行检索效果测试时,可以通过http://grayRelease/queryMonitorAPI/jobs/submit?target=“addressA”实现对地域A的效果测试,其中,传入参数target=“addressA”。由于高频检索请求每天至少在两个地域运行,每次任务运行时间为30分钟,因此,submit事件返回的测试任务id可以用测试任务建立的时间来表示,以便于对比。返回结果示例如下:
{
err_no:“0”,//err_no为0代表无error,返回正常;err_no为-1,代表任务构建异常
err_msg:“get job id is successes”,//任务构建提示信息
jobid:“2017-10-02-15-53-45-655202432__fenjifabu”//返回jobid
}
其中,jobid:“2017-10-02-15-53-45-655202432__fenjifabu”表示此次测试任务的id,根据该id,可以获取此次效果测试任务的任务结果和/或测试任务的运行状态。
中控系统可以通过调用测试API接口中的getStatus事件,将效果测试任务的id作为输入参数来获取效果测试任务的运行状态,其中,运行状态包括但不限于:等待状态、运行中、运行结束、运行异常。例如,可以通过http://grayRelease/queryMonitorAPI/jobs/getStatus?jobid=2017-10-02-15-53-45-655202432__fenjifabu获取地域A的效果测试任务的运行状态,其中,输入参数为jobid=2017-10-02-15-53-45-655202432__fenjifabu。返回结果示例如下:
{
err_no:“0”,//err_no为0代表无error,返回正常;err_no为-1,代表任务执行异常
err_msg:“build finished”//任务构建提示信息
build_state:0//0:任务运行完成;1:任务运行中;2:任务等待中;-1:任务构建异常
}
当中控系统获取的效果测试任务的运行状态为任务运行完成时,中控系统还可以通过调用效果测试API接口的getResult事件,将效果测试任务的id作为输入参数来获取效果测试任务的任务结果,其中任务结果包括:任务执行状态、每种典型请求场景测试用例失败个数、每种典型场景允许效果变差阈值、导致任务失败的场景等。其中,任务执行状态包括初始化、运行中(需1分钟后继续check任务状态)、测试用例全部通过、测试用例失败数小于阈值测试通过、测试用例失败数大于阈值测试失败发送短信和邮件通知、执行任务故障发送短信和邮件通知、输入参数异常发送短信和邮件通知。例如,可以通过http://grayRelease/queryMonitorAPI/jobs/getResult?jobid=2017-10-02-15-53-45-655202432__fenjifabu获取地域A的效果测试任务的任务结果,其中,输入参数为jobid=2017-10-02-15-53-45-655202432__fenjifabu。返回结果示例如下:
具体地,中控系统利用高频检索词和测试API对被测对象的检索效果进行测试,判断被测对象的检索效果是否满足需求,包括:利用高频检索词,在被测对象上进行模拟检索,获取模拟检索结果;将模拟检索结果与基准检索结果进行比较;如果模拟检索结果与基准检索结果一致的数量大于或者等于预设的数量,则被测对象的检索效果满足需求;如果模拟检索结果与基准检索结果一致的数量小于预设的数量,则被测对象的检索效果不满足需求。
当被测对象的检索效果不满足需求时,可以对检索结果进行进一步分析,以得到不同场景的检索效果特征差异。具体地,可以将当前的模拟检索结果与上一次的模拟检索结果分别与基准检索结果进行比较,获取两次模拟检索的差异信息;根据差异信息,分析得到不同检索场景的检索效果的特征差异。
其中,不同检索场景的检索效果的特征不同,例如:
(1)精准POI检索效果特征:用POI id标志和POI名称文本相关性判断是否与基准POI属于同一POI,效果特征包括是否展示期望的精准结果、期望精准结果是否排序在前三、POI id一致但名称发生变化且名称相关、POI id一致但名称发生变化且名称不相关、名称相关但POI id发生变化;
(2)泛检索效果特征,包括:返回结果是POI列表还是城市列表、是否误识别为精确POI检索、是否召回跨城结果、召回结果数降幅是否超过50%、召回结果首页变化是否超过一半;
(3)连锁检索效果特征,包括:是否误识别为精确POI检索、连锁请求召回是否跨越行业、是否召回跨城结果、召回结果数降幅是否超过50%、召回结果首页变化是否超过一半、返回前三结果是否包含请求词。
由于在对高频检索词进行模拟检索时,可能需要多个模块对高频检索词进行处理,从而,在本发明实施例一种可能的实现方式中,在利用高频检索词和测试API对被测对象的检索效果进行测试的过程中,中控系统还可以获取被测对象中与高频检索词模拟检索关联的各个模块的性能参数,针对每个关联的模块,根据模块的性能参数判断模块在执行高频检索模拟检索时是否出现异常,并记录存在异常的模块。
由于异常的模块对高频检索词的处理极大可能是不准确的,因此通过根据模块的性能参数来识别异常的模块并进行记录,能够尽可能地避免异常模块对高频检索词处理结果的影响,保证效果测试的准确性。
在本发明实施例一种可能的实现方式中,中控系统还可以在模拟检索请求时,对模拟检索请求进行服务监控,比如,可以对服务响应时间、服务超时率、warning日志量等进行监控。需要注意的是,对服务进行监控需要基于用户请求,效果监控测试用例数一般在万级,可短时模拟用户请求对服务响应时间进行监控,以保证服务可用性。
本实施例的数据上线方法,通过对被测对象进行功能测试,并获取高频检索词,利用高频检索词和测试API对被测对象的检索效果进行测试,判断被测对象的检索效果是否满足需求,能够保证系统功能和搜索效果,提高服务质量。
在线上检索系统环境中,当线上检索系统为多个时,可以依次对线上检索系统进行功能和效果测试,从而,在本发明实施例一种可能的实现方式中,本发明实施例提出了另一种数据上线方法,图5为本发明实施例三所提供的数据上线方法的流程示意图。
如图5所示,在如图2所示实施例的基础上,步骤104之后,还可以包括以下步骤:
步骤301,当被测对象为多个线上检索系统时,对其中一个线上检索系统进行功能和效果测试。
本实施例中,当被测对象为多个线上检索系统时,可以先针对其中一个线上检索系统进行功能和效果测试。
步骤302,在其中一个线上检索系统测试通过后,在其中一个线上检索系统上生效索引数据,并获取索引数据的生效过程所耗费的时长。
针对其中一个线上检索系统,当功能和效果测试均通过后,则可以在该线上检索系统上生效检索数据,并获取索引数据的生效过程所耗费的时长。当功能和效果测试中至少有一个测试未通过时,则将失败信息通过发送短信或邮件的方式提示报警。
步骤303,如果时长超出预设的时长,则不再对剩余的线上检索系统进行功能和效果测试,直接将索引数据在剩余的线上检索系统上进行生效。
本实施例中,当获取的索引数据生效过程所耗费的时长超出预设的时长时,则后续不再对剩余的线上检索系统进行功能和效果测试,直接将索引数据在剩余的线上检索系统上进行生效;当索引数据的生效过程所耗费的时长未超过预设的时长时,剩余的线上检索系统均可以进行功能和效果测试,并在测试通过后再将检索数据在线上检索系统上进行生效。
本实施例的数据上线方法,通过在被测对象为多个线上检索系统时,先对一个线上检索系统进行功能和效果测试,并在测试通过后在该线上检索系统上生效索引数据,并获取索引数据生效过程所耗费的时长,在耗费时长超过预设的时长时,对其他线上检索系统不进行功能和效果测试直接生效索引数据,能够缩短索引数据上线发布耗时,提高数据更新效率。
图6为本发明实施例四所提供的数据上线方法的流程示意图。
如图6所示,在如图2所示实施例的基础上,在步骤104之后,还可以包括以下步骤:
步骤401,当被测对象为多个线上检索系统时,对其中一个线上检索系统进行功能和效果测试。
步骤402,在其中一个线上检索系统测试通过后,在其中一个线上检索系统上生效索引数据,并获取索引数据的生效过程所耗费的时长,以及获取索引数据生效完成的时刻。
本实施例中,当被测对象为多个线上检索系统时,可以先对其中一个线上检索系统进行功能和效果测试,并在测试通过后,在该线上检索系统上生效检索数据,并获取索引数据生效过程所耗费的时长,以及生效完成时刻。
可选地,在本发明实施例一种可能的实现方式中,除了对线上检索系统进行功能和效果测试外,还可以进行模拟用户流量测试监控,并在测试均通过后将索引数据在线上检索系统上生效。
步骤403,判断时刻是否处于预设的时间段内。
其中,预设的时间段可以是预先设置的距离在线上检索系统上生效索引数据的开始时刻较远的时间段。
本实施例中,获取了索引数据生效时刻之后,可以进一步判断索引数据生效时刻是否处于预设的时间段内。如果生效时刻处于预设的时间段内,则表明索引数据生效过程的耗时较长,此时执行步骤404;如果生效时刻未处于预设的时间段内且生效时刻小于预设的时间段的起始时间,则表明索引数据的生效过程耗时较短,此时可以执行步骤405。
步骤404,不再对剩余的线上检索系统进行功能和效果测试,直接将索引数据在剩余的线上检索系统上进行生效。
本实施例中,当索引数据的生效时刻处于预设的时间段内时,则不再对剩余的线上检索系统进行功能和效果测试,直接在线上检索系统上生效索引数据。
步骤405,获取时刻距离时间段的下端点的时间间隔。
比如,假设预设的时间段位3:00~4:00,当获取的索引数据生效的时刻未处于这一时间段内时,则进一步获取生效的时间距离3:00这一时刻之间的时间间隔。
步骤406,根据时间间隔、生效过程所耗费的时长和剩余的线上检索系统的第一个数,确定可进行功能和效果测试的线上检索系统的第二个数。
其中,第二个数不大于第一个数。第二个数可以根据时间间隔与生效过程所耗费的时长的比值进行确定,将所得比值进行下取整所得的整数值即为第二个数。
步骤407,从剩余的线上检索系统中获取与第二个数数量相同的线上检索系统作为候选线上检索系统,对候选线上检索系统进行功能和效果测试。
步骤408,在候选线上检索系统测试通过后,将索引数据在候选线上检索系统上进行生效。
步骤409,不再对除候选线上检索系统之外的剩余的线上检索系统进行功能和效果测试,直接将索引数据在除候选线上检索系统之外的剩余的线上检索系统上进行生效。
本实施例中,确定了第二个数之后,可以从剩余的第一个数的线上检索系统中获取第二个数的线上检索系统作为候选线上检索系统,并对候选线上检索系统进行功能和效果测试,并在测试通过后将索引数据在候选线上检索系统上进行生效,对剩余的第一个数的线上检索系统中除候选线上检索系统之外的其他线上检索系统不再进行功能和效果测试,直接将索引数据在其他线上检索系统上进行生效。
本实施例的数据上线方法,通过获取索引数据生效完成的时刻,并在生效完成的时刻处于预设的时间段时,不再对其他线上检索系统进行功能和效果测试直接生效索引数据,在生效时刻未处于预设的时间段时,获取生效时刻距离时间段下端点的时间间隔,根据生效时长和时间间隔确定第二个数,并从剩余的线上检索系统中选取第二个数的线上检索系统作为候选检索系统进行功能和效果测试,对其他剩余的线上检索系统直接进行索引数据生效,能够在保证索引数据内容质量的情况下,缩短索引数据上线发布耗时,提高数据更新效率。
图7为本发明实施例的数据线上方法的架构流程示意图。如图7所示,相较于如图1所示的现有的数据更新架构流程图而言,新增了中控系统,用于控制数据传输、数据预上线和数据正式上线过程。从图7中可以看出,在数据预上线阶段,中控系统控制数据预上线阶段的功能和效果测试过程,通过调用功能测试API和效果测试API进行功能和效果验证;同时发送用户请求,在有用户流量的基础上验证响应时间、warning提示日志等,确保服务可用性。如果数据预上线阶段通过功能和效果测试,则进入发布上线环节,若不通过则暂停数据流程,发送短信和邮件进行提示报警,并保留mirror环境用于问题定位。在数据正式上线阶段,中控系统控制功能和效果测试的执行,在单地域执行功能和效果API测试及模拟用户流量测试监控,均通过后才进入后续地域的正式上线发布,若测试失败则将失败信息以短信和邮件形式进行提示报警。若数据正式生效上线时间较短,后续地域均可执行功能和效果API测试及模拟用户流量测试监控,验证通过后执行数据发布;若数据正式生效上线时间较长,后续地域可不进行功能、效果、模拟用户流量测试监控操作,直接以地域内低并发度并行、地域间全并行的方式执行数据发布。
为了实现上述实施例,本发明还提出一种数据上线装置。
图8为本发明实施例一所提供的数据上线装置的结构示意图。
如图8所示,该数据上线装置80包括:验证模块810、传输模块820、上传模块830和发布模块840。其中,
验证模块810,用于当监控到源数据的索引数据传输到网络文件系统之后,对索引数据进行验证。
具体地,验证模块810对索引数据进行验证时,可以获取索引数据的大小和生成时间;验证索引数据的大小是否超出预设的阈值;根据生成时间确定索引数据是否失效;如果索引数据的大小未超出预设的阈值且索引数据未失效,则通过对索引数据的验证。
传输模块820,用于验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中。
上传模块830,用于对镜像检索系统进行功能和效果测试,在测试通过后,将索引数据上传到线上检索系统。
发布模块840,用于对线上检索系统进行功能和效果测试,在测试通过后,将索引数据在线上生效。
进一步地,在本发明实施例一种可能的实现方式中,如图9所示,在如图8所示实施例的基础上,该数据上线装置80还包括:
功能和效果测试模块800,上传模块830和发布模块840通过调用功能和效果测试模块800中的测试API实现对镜像检索系统和线上检索系统的功能和效果测试。
具体地,功能和效果测试模块800包括:
功能测试子模块801,用于利用预设的测试API对被测对象的各项功能进行测试,判断被测对象中是否存在异常的功能;其中,被测对象为镜像检索系统或者线上检索系统。
具体地,功能测试子模块801用于构建用于对被测对象的各项功能进行测试的测试任务;其中,测试任务中携带被测对象的标识,执行测试任务,对被测对象的各项功能进行测试;在执行测试任务的过程中,接收任务执行结果的查询请求;根据查询请求,返回测试任务的执行状态和/或被测对象的测试结果。
第一获取子模块802,用于获取高频检索词。
具体地,第一获取子模块802具体用于获取预设时长内每个检索词的日检索次数;获取每个日检索次数阈值下日检索次数与日总检索次数之间的比值,并形成第一曲线关系;其中,第一曲线的横向坐标为日检索次数阈值,纵向坐标为比值;获取每个日检索次数阈值下的检索词数量,并形成第二曲线关系;其中,第二曲线的横向坐标为日检索次数阈值,纵向坐标为检索词数量;根据第一曲线关系和第二曲线关系,获取用于选取所高频检索词的第一日检索次数;根据每个检索词的日检索次数与第一日检索次数,从所有的检索词中获取所述高频检索词。
第二获取子模块803,用于获取高频检索词对应的基准检索结果。
具体地,第二获取子模块803具体用于根据高频检索词,构建第一检索请求和第二检索请求;其中,第一检索请求为在第一检索引擎检索时需要的检索请求,第二检索请求为用于在第二检索引擎时需要的检索请求,第一检索引擎和第二检索引擎之间存在竞争关系;根据第一检索请求在第一检索引擎中进行检索,获取第一检索结果;根据第二检索请求在第二检索引擎中进行检索,获取第二检索结果;根据第一检索结果与第二检索结果,形成基准检索结果。
效果测试子模块804,用于利用高频检索词和测试API对被测对象的检索效果进行测试,判断被测对象的检索效果是否满足需求。
具体地,效果测试子模块804具体用于利用高频检索词,在被测对象上进行模拟检索,获取模拟检索结果;将模拟检索结果与基准检索结果进行比较;如果模拟检索结果与基准检索结果一致的数量大于或者等于预设的数量,则被测对象的检索效果满足需求;如果模拟检索结果与基准检索结果一致的数量小于预设的数量,则被测对象的检索效果不满足需求;将当前的模拟检索结果与上一次的模拟检索结果分别与基准检索结果进行比较,获取两次模拟检索的差异信息;根据差异信息,分析得到不同检索场景的检索效果的特征差异。
在本发明实施例一种可能的实现方式中,效果测试子模块804利用高频检索词和测试API对被测对象的检索效果进行测试的过程中,还可以获取被测对象中与高频检索词模拟检索关联的各个模块的性能参数,针对每个关联的模块,根据模块的性能参数判断模块在执行高频检索模拟检索时是否出现异常;记录存在异常的模块。
进一步地,在本发明实施例一种可能的实现方式中,如图10所示,在如图8所示实施例的基础上,该数据上线装置80还可以包括:
获取模块850,用于获取索引数据的生效过程所耗费的时长。
本实施例中,当被测对象为多个线上检索系统时,发布模块840对其中一个线上检索系统进行功能和效果测试,并在其中一个线上检索系统测试通过后,在其中一个线上检索系统上生效索引数据。获取模块850获取索引数据的生效过程所耗费的时长。如果时长超过预设的时长,则发布模块840不再对剩余的线上检索系统进行功能和效果测试,直接将索引数据在剩余的线上检索系统上进行生效。
进一步地,在本发明实施例一种可能的实现方式中,如图11所示,在如图10所示实施例的基础上,该数据上线装置80还可以包括:
获取模块850用于在获取索引数据的生效过程所耗费的时长的同时,获取索引数据生效完成的时刻。
判断模块860,用于判断时刻是否处于预设的时间段内。
发布模块840还用于在时刻处于时间段时,则不再对剩余的线上检索系统进行功能和效果测试,直接将索引数据在剩余的线上检索系统上进行生效;如果时刻未处于时间段,则获取时刻距离时间段的下端点的时间间隔,根据时间间隔、生效过程所耗费的时长和剩余的线上检索系统的第一个数,确定可进行功能和效果测试的线上检索系统的第二个数,从剩余的线上检索系统中获取与第二个数数量相同的线上检索系统作为候选线上检索系统,对候选线上检索系统进行功能和效果测试,在候选线上检索系统测试通过后,将索引数据在候选线上检索系统上进行生效,不再对除候选线上检索系统之外的剩余的线上检索系统进行功能和效果测试,直接将索引数据在除候选线上检索系统之外的剩余的线上检索系统上进行生效。
需要说明的是,前述对数据上线方法实施例的解释说明也适用于该实施例的数据上线装置,其实现原理类似,此处不再赘述。
本实施例的数据上线装置,通过对传输到网络文件系统的索引数据进行验证,在验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中,对镜像检索系统进行功能和效果测试,在测试通过后将索引数据上传至线上检索系统,并对线上检索系统进行功能和效果测试,并在测试通过后将索引数据在线上生效。通过在数据上线之前对数据进行功能测试和效果测试,以保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
为了实现上述实施例,本发明还提出一种计算机设备,图12为本发明一实施例提出的计算机设备的结构示意图。
如图12所示,该计算机设备120包括:网络文件系统121、镜像检索系统122、线上检索系统123、处理器124和存储器125;其中,
网络文件系统121,用于存放和共享源数据的索引数据。
镜像检索系统122,用于接收网络文件系统中通过验证的所述索引数据。
线上检索系统123,用接收并存储镜像检索系统上传的索引数据,并生效索引数据。
处理器124通过读取存储器125中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现一种数据上线方法,包括以下步骤:
当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;
对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。
本实施例的计算机设备,通过对传输到网络文件系统的索引数据进行验证,在验证通过后从网络文件系统中拉取索引数据传输到镜像检索系统中,对镜像检索系统进行功能和效果测试,在测试通过后将索引数据上传至线上检索系统,并对线上检索系统进行功能和效果测试,并在测试通过后将索引数据在线上生效。通过在数据上线之前对数据进行功能测试和效果测试,以保证垂类POI检索的数据更新质量,保障服务质量,提升用户体验,解决现有技术中仅对数据进行数据量波动和数据一致性校验,而不进行数据质量检测使数据质量和效果不能得到保障,容易造成服务故障的技术问题。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例所述的数据上线方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如前述实施例所述的数据上线方法。
图13为适于用来实现本发明实施方式的示例性计算机设备的框图。图13显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图13未显示,通常称为“硬盘驱动器”)。尽管图13中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc ReadOnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc ReadOnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LocalAreaNetwork;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的数据上线方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (17)
1.一种数据上线方法,其特征在于,包括:
当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;
对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效;
所述进行功能和效果测试,包括:
利用预设的测试API对被测对象的各项功能进行测试,判断所述被测对象中是否存在异常的功能;其中,所述被测对象为所述镜像检索系统或者所述线上检索系统;
获取高频检索词;
利用所述高频检索词和所述测试API对所述被测对象的检索效果进行测试,判断所述被测对象的检索效果是否满足需求。
2.根据权利要求1所述的方法,其特征在于,所述利用预设的测试API对所述被测对象的各项功能进行测试,包括:
构建用于对所述被测对象的各项功能进行测试的测试任务;其中,所述测试任务中携带所述被测对象的标识;
执行所述测试任务,对所述被测对象的各项功能进行测试。
3.根据权利要求2所述的方法,其特征在于,还包括:
在执行所述测试任务的过程中,接收任务执行结果的查询请求;
根据所述查询请求,返回所述测试任务的执行状态和/或所述被测对象的测试结果。
4.根据权利要求1所述的方法,其特征在于,所述利用所述高频检索词和所述测试API对所述被测对象的检索效果进行测试之前,还包括:
获取所述高频检索词对应的基准检索结果。
5.根据权利要求4所述的方法,其特征在于,所述获取所述高频检索词对应的基准检索结果,包括:
根据所述高频检索词,构建第一检索请求和第二检索请求;其中,所述第一检索请求为在第一检索引擎检索时需要的检索请求,所述第二检索请求为用于在第二检索引擎时需要的检索请求,所述第一检索引擎和所述第二检索引擎之间存在竞争关系;
根据所述第一检索请求在所述第一检索引擎中进行检索,获取第一检索结果;
根据所述第二检索请求在所述第二检索引擎中进行检索,获取第二检索结果;
根据第一检索结果与所述第二检索结果,形成所述基准检索结果。
6.根据权利要求4所述的方法,其特征在于,所述利用所述高频检索词和所述测试API对所述被测对象的检索效果进行测试,判断所述被测对象的检索效果是否满足需求,包括:
利用所述高频检索词,在所述被测对象上进行模拟检索,获取所述模拟检索结果;
将所述模拟检索结果与所述基准检索结果进行比较;
如果所述模拟检索结果与所述基准检索结果一致的数量大于或者等于预设的数量,则所述被测对象的检索效果满足需求。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果所述模拟检索结果与所述基准检索结果一致的数量小于预设的数量,则所述被测对象的检索效果不满足需求;
将当前的所述模拟检索结果与上一次的所述模拟检索结果分别与所述基准检索结果进行比较,获取两次模拟检索的差异信息;
根据所述差异信息,分析得到不同检索场景的检索效果的特征差异。
8.根据权利要求1所述的方法,其特征在于,还包括:
利用所述高频检索词和所述测试API对所述被测对象的检索效果进行测试的过程中,获取所述被测对象中与所述高频检索词模拟检索关联的各个模块的性能参数;
针对每个关联的模块,根据所述模块的性能参数判断所述模块在执行高频检索模拟检索时是否出现异常;
记录存在异常的所述模块。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述获取高频检索词,包括:
获取预设时长内每个检索词的日检索次数;
获取每个日检索次数阈值下所述日检索次数与日总检索次数之间的比值,并形成第一曲线关系;其中,所述第一曲线的横向坐标为日检索次数阈值,纵向坐标为所述比值;
获取每个日检索次数阈值下的检索词数量,并形成第二曲线关系;其中,所述第二曲线的横向坐标为日检索次数阈值,纵向坐标为所述检索词数量;
根据所述第一曲线关系和所述第二曲线关系,获取用于选取所述高频检索词的第一日检索次数;
根据每个检索词的所述日检索次数与所述第一日检索次数,从所有的检索词中获取所述高频检索词。
10.根据权利要求1-8任一项所述的方法,其特征在于,还包括:
当所述被测对象为多个所述线上检索系统时,对其中一个所述线上检索系统进行功能和效果测试;
在所述其中一个所述线上检索系统测试通过后,在所述其中一个线上检索系统上生效所述索引数据,并获取所述索引数据的生效过程所耗费的时长;
如果所述时长超出预设的时长,则不再对剩余的所述线上检索系统进行功能和效果测试,直接将所述索引数据在所述剩余的所述线上检索系统上进行生效。
11.根据权利要求10所述的方法,其特征在于,还包括:
在获取所述索引数据的生效过程所耗费的时长的同时,获取所述索引数据生效完成的时刻;
判断所述时刻是否处于预设的时间段内;
如果所述时刻处于所述时间段,则不再对所述剩余的所述线上检索系统进行功能和效果测试,直接将所述索引数据在所述剩余的所述线上检索系统上进行生效。
12.根据权利要求11所述的方法,其特征在于,还包括:
如果所述时刻未处于所述时间段,则获取所述时刻距离所述时间段的下端点的时间间隔;
根据所述时间间隔、所述生效过程所耗费的时长和所述剩余的所述线上检索系统的第一个数,确定可进行功能和效果测试的所述线上检索系统的第二个数;
从所述剩余的所述线上检索系统中获取与所述第二个数数量相同的所述线上检索系统作为候选线上检索系统,对所述候选线上检索系统进行功能和效果测试;
在所述候选线上检索系统测试通过后,将所述索引数据在所述候选线上检索系统上进行生效;
不再对除所述候选线上检索系统之外的所述剩余的所述线上检索系统进行功能和效果测试,直接将所述索引数据在除所述候选线上检索系统之外的所述剩余的所述线上检索系统上进行生效。
13.根据权利要求1-8任一项所述的方法,其特征在于,所述对所述索引数据进行验证,包括:
获取所述索引数据的大小和生成时间;
验证所述索引数据的大小是否超出预设的阈值;
根据所述生成时间确定所述索引数据是否失效;
如果所述索引数据的大小未超出预设的阈值且所述索引数据未失效,则通过对所述索引数据的验证。
14.一种数据上线装置,其特征在于,包括:
验证模块,用于当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
传输模块,用于验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
上传模块,用于对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统,所述进行功能和效果测试,包括:利用预设的测试API对被测对象的各项功能进行测试,判断所述被测对象中是否存在异常的功能;其中,所述被测对象为所述镜像检索系统或者所述线上检索系统;获取高频检索词;利用所述高频检索词和所述测试API对所述被测对象的检索效果进行测试,判断所述被测对象的检索效果是否满足需求;
发布模块,用于对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。
15.一种计算机设备,其特征在于,包括网络文件系统、镜像检索系统、线上检索系统、处理器和存储器;其中,
所述网络文件系统,用于存放和共享源数据的索引数据;
所述镜像检索系统,用于接收所述网络文件系统中通过验证的所述索引数据;
所述线上检索系统,用接收并存储所述镜像检索系统上传的所述索引数据,并生效所述索引数据;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现一种数据上线方法,包括以下步骤:
当监控到源数据的索引数据传输到网络文件系统之后,对所述索引数据进行验证;
验证通过后从所述网络文件系统中拉取所述索引数据传输到镜像检索系统中;
对所述镜像检索系统进行功能和效果测试,在测试通过后,将所述索引数据上传到线上检索系统;
对所述线上检索系统进行功能和效果测试,在测试通过后,将所述索引数据在线上生效。
16.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一项所述的数据上线方法。
17.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时实现如权利要求1-13中任一项所述的数据上线方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711270511.5A CN108021505B (zh) | 2017-12-05 | 2017-12-05 | 数据上线方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711270511.5A CN108021505B (zh) | 2017-12-05 | 2017-12-05 | 数据上线方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021505A CN108021505A (zh) | 2018-05-11 |
CN108021505B true CN108021505B (zh) | 2021-05-28 |
Family
ID=62078443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711270511.5A Active CN108021505B (zh) | 2017-12-05 | 2017-12-05 | 数据上线方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021505B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874320B (zh) * | 2018-09-03 | 2023-06-23 | 阿里巴巴(中国)有限公司 | 数据更新方法、预发服务器及可读存储介质 |
CN109783217B (zh) * | 2019-01-22 | 2019-09-13 | 无锡华云数据技术服务有限公司 | 停机时段的确定方法、装置、电子设备及存储介质 |
CN111506583A (zh) * | 2019-01-31 | 2020-08-07 | 北京嘀嘀无限科技发展有限公司 | 更新方法、更新装置、服务器、计算机设备和存储介质 |
CN110134431A (zh) * | 2019-04-16 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 代码数据管理方法和系统 |
CN110290486A (zh) * | 2019-07-04 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 短信发送测试方法、装置、计算机设备和存储介质 |
CN111294245B (zh) * | 2020-02-19 | 2022-09-30 | 北京百度网讯科技有限公司 | 离线系统质控方法、离线系统质控装置和电子设备 |
CN112035368B (zh) * | 2020-09-03 | 2024-08-16 | 携程旅游信息技术(上海)有限公司 | 自动化软件测试方法、装置、电子设备、存储介质 |
CN112688922B (zh) * | 2020-12-11 | 2024-07-12 | 深圳前海微众银行股份有限公司 | 数据传输方法、系统、设备及介质 |
CN112685068B (zh) * | 2021-01-11 | 2023-07-14 | 浪潮软件科技有限公司 | 远程升级boot镜像文件的方法及计算机可读介质 |
CN116719540B (zh) * | 2023-04-25 | 2024-03-12 | 广州汽车集团股份有限公司 | 评审文档更新方法、装置、设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279718A (zh) * | 2013-05-20 | 2013-09-04 | 电子科技大学 | 一种云存储中基于sbt的数据完整性验证方法 |
CN103488564A (zh) * | 2013-09-13 | 2014-01-01 | 北京航空航天大学 | 一种分布式实时测试系统多路测试数据压缩与归并方法 |
CN103853752A (zh) * | 2012-11-30 | 2014-06-11 | 国际商业机器公司 | 管理时间序列数据库的方法和装置 |
CN104504122A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种数据库迁移数据的验证方法及系统 |
CN104778179A (zh) * | 2014-01-14 | 2015-07-15 | 阿里巴巴集团控股有限公司 | 一种数据迁移测试方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915380A (zh) * | 2012-11-19 | 2013-02-06 | 北京奇虎科技有限公司 | 用于对数据进行搜索的方法和系统 |
US8983976B2 (en) * | 2013-03-14 | 2015-03-17 | Microsoft Technology Licensing, Llc | Dynamically expiring crowd-sourced content |
CN105808627A (zh) * | 2014-12-31 | 2016-07-27 | 高德软件有限公司 | Poi信息更新、检索、poi数据包生成方法及装置 |
CN106776333A (zh) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | 一种搜索引擎的测试方法及移动终端 |
CN107239399B (zh) * | 2017-05-27 | 2020-06-05 | 北京京东尚科信息技术有限公司 | 用于测试的索引生成方法、装置、系统及可读存储介质 |
-
2017
- 2017-12-05 CN CN201711270511.5A patent/CN108021505B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853752A (zh) * | 2012-11-30 | 2014-06-11 | 国际商业机器公司 | 管理时间序列数据库的方法和装置 |
CN103279718A (zh) * | 2013-05-20 | 2013-09-04 | 电子科技大学 | 一种云存储中基于sbt的数据完整性验证方法 |
CN103488564A (zh) * | 2013-09-13 | 2014-01-01 | 北京航空航天大学 | 一种分布式实时测试系统多路测试数据压缩与归并方法 |
CN104778179A (zh) * | 2014-01-14 | 2015-07-15 | 阿里巴巴集团控股有限公司 | 一种数据迁移测试方法和系统 |
CN104504122A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种数据库迁移数据的验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108021505A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021505B (zh) | 数据上线方法、装置和计算机设备 | |
CN108073519B (zh) | 测试用例生成方法和装置 | |
CN108427632B (zh) | 自动测试方法及装置 | |
CN109063829B (zh) | 神经网络构建方法、装置、计算机设备和存储介质 | |
US8433554B2 (en) | Predicting system performance and capacity using software module performance statistics | |
US20150025872A1 (en) | System, method, and apparatus for modeling project reliability | |
US20140033174A1 (en) | Software bug predicting | |
US7921337B2 (en) | Systems and methods for diagnosing faults in electronic systems | |
KR101748833B1 (ko) | 소프트웨어 고장의 위치 확정 방법, 장치 및 설비 | |
CN104468655A (zh) | 对反向代理软件进行测试的方法及系统 | |
CN110706010B (zh) | 计费模型监控方法及其系统、计算机系统及计算机可读介质 | |
US8745600B2 (en) | Inserting test scripts | |
CN113934758A (zh) | 车辆故障修复方法、装置、车载终端、服务器及存储介质 | |
US20190101911A1 (en) | Optimization of virtual sensing in a multi-device environment | |
CN112817869A (zh) | 测试方法、装置、介质及电子设备 | |
CN110196792A (zh) | 故障预测方法、装置、计算设备及存储介质 | |
CN117093484A (zh) | 测试用例生成方法、装置、设备及存储介质 | |
CN111797152A (zh) | 一种数据场景的生成方法、装置及计算机设备 | |
CN117033060A (zh) | 服务器故障诊断方法、装置与系统 | |
US20140143745A1 (en) | Techniques for segmenting of hardware trace and verification of individual trace segments | |
CN114443141A (zh) | 测控指令循环约束故障的确定方法及装置 | |
US20210286704A1 (en) | Runtime metrics based test ordering | |
CN111210231A (zh) | 信息处理方法和信息处理装置 | |
CN113297053A (zh) | 测试覆盖率的确定方法、装置和存储介质 | |
KR102685526B1 (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 |