CN108363671A - 一种接口切换的方法、终端设备及存储介质 - Google Patents
一种接口切换的方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN108363671A CN108363671A CN201810122136.8A CN201810122136A CN108363671A CN 108363671 A CN108363671 A CN 108363671A CN 201810122136 A CN201810122136 A CN 201810122136A CN 108363671 A CN108363671 A CN 108363671A
- Authority
- CN
- China
- Prior art keywords
- interface
- alias
- data
- cut
- new interface
- 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.)
- Granted
Links
Classifications
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种接口切换的方法、终端设备及存储介质,其中,所述接口切换的方法通过获取待切换接口及其对应的请求数据,并通过运行新接口的空闲机器数量与新接口的数量之间的关系,合理分配各待切换接口对应的新接口和请求数据至各空闲机器,使得各空闲机器可以采用其自身最大的处理能力来运行各新接口,从而得到相应的第二输出数据,最后将当前运行的接口对应的第一输出数据与相应的第二输出数据进行比对,并在比对成功时,将带切换接口切换至其对应的新接口。本发明通过配置化可新增和去除接口的比对,可横向扩展机器数来提升运算能力,从而提升接口数据的比对效率,有利于新旧接口的无缝对接。
Description
技术领域
本发明涉及移动互联网技术领域,具体涉及一种接口切换的方法、终端设备及存储介质。
背景技术
目前,在把旧接口切换到新接口的过程中,需要把旧接口提供的相关历史保险产品信息切换到新接口上,保证新老接口无缝切换。由于历史保险产品很多,在生产上接口调用都是每天千万级别的数量,要全量比对使用接口的在售保险产品信息,需要很大的计算量,如果使用全量比对使用接口的在售保险产品信息的方式,需要很大的计算量,这就降低了比对的效率。另一方面,开发人员在新接口中迁移历史产品后,需要和旧接口做比对,保证迁移产品的正确性。在未比对可视化之前,开发人员分析问题需要手工在新老接口执行,然后拷贝结果集(复杂结构)进行拆分,再用比对工具比对。这样效率比较低,不利于开发分析不一致的地方。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种接口切换的方法、终端设备及存储介质,解决了新旧接口数据的比对效率低下,,导致接口切换效率不高的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种接口切换的方法,其包括如下步骤:
当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的所有待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据;
获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较;
当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据;
当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据;
将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口。
所述接口切换的方法中,所述当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的所有待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据之前包括:
预先在所有当前运行的接口中增设埋点,以分别采集每个接口的请求数据,其中,所述请求数据包括输入数据和第一输出数据。
所述接口切换的方法中,所述获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较的步骤包括:
获取当前用于运行新接口的空闲机器的机器标识,并统计获取到的机器标识的数量以得到空闲机器数量;
根据获取到的待切换接口分别确定所有待切换接口对应的新接口,并统计新接口的数量;
将统计得到的空闲机器数量和新接口的数量进行比较。
所述接口切换的方法中,所述当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据具体为:
将各待切换接口对应的新接口平均分配至各空闲机器,以使得每个空闲机器至少运行一个新接口;
将各待切换接口中对应的请求数据中的输入数据分别传入其对应的新接口中,以得到各输入数据对应的第二输出数据。
所述接口切换的方法中,所述当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据的步骤包括:
当所述空闲机器数量大于所述新接口的数量时,分别根据预设的接口与单线程最大处理数之间的对应关系确定各待切换接口对应的单线程最大处理数;
分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块;
将各待切换接口分块后的请求数据分配至各空闲机器,并在各空闲机器中运行新相应的新接口,以得到各输入数据对应的第二输出数据。
所述接口切换的方法中,所述分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块的步骤具体包括:
分别获取各待切换接口对应的请求数据的总数,并将所述总数除以各待切换接口对应的单线程最大处理数,以得到各待切换接口对应的数据块数;
计算所有待切换接口对应的数据块数的总和,并将所述总和与所述空闲机器数量进行比较;
当所述空闲机器数量大于所述总和时,重复执行数据分块以及比较的步骤,直至所述空闲机器数量小于所有待切换接口对应的数据块数的总和。
所述接口切换的方法中,所述将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口的步骤包括:
将各输入数据对应的第二输出数据与相应的第一输出数据均转换成字符格式,并逐一比对每个字符;
当第二输出数据和第一输出数据的每个字符均比对成功时,判定比对成功;
当比对成功时将所述待比对接口切换至其对应的新接口。
所述接口切换的方法中,其还包括步骤:
当第二输出数据和第一输出数据中存在不相同的字符时,标记所述不相同的字符;
采用预设格式输出标记的字符,并显示于显示界面,其中,所述预设格式至少包括HTML页面格式或者文本格式中的一种。
一种终端设备,其包括处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中的接口切换程序,以实现如上所述的接口切换的方法
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的接口切换的方法。
本发明提供的接口切换的方法、终端设备及存储介质中,所述接口切换的方法通过获取待切换接口及其对应的请求数据,并通过运行新接口的空闲机器数量与新接口的数量之间的关系,合理分配各待切换接口对应的新接口和请求数据至各空闲机器,使得各空闲机器可以采用其自身最大的处理能力来运行各新接口,从而得到相应的第二输出数据,最后将当前运行的接口对应的第一输出数据与相应的第二输出数据进行比对,并在比对成功时,将带切换接口切换至其对应的新接口。本发明通过配置化可新增和去除接口的比对,可横向扩展机器数来提升运算能力,从而提升接口数据的比对效率,有利于新旧接口的无缝对接。
附图说明
图1为本发明提供的接口切换的方法的流程图;
图2为本发明提供的接口切换的方法中步骤S20的流程图;
图3为本发明提供的接口切换的方法中步骤S30的流程图;
图4为本发明提供的接口切换的方法中步骤S40的流程图;
图5为本发明提供的接口切换的方法中步骤S42的流程图;
图6为本发明提供的接口切换的方法中步骤S50的流程图;
图7为本发明接口切换程序的较佳实施例的运行环境示意图。
具体实施方式
鉴于现有技术中微信公众号内客户沟通缺乏主动性和针对性等缺点,本发明的目的在于提供一种接口切换的方法、终端设备及存储介质,通过获取用户在公众号内的历史操作记录,并对其进行行为意图分析后反馈分析结果给跟进坐席,使得跟进坐席可以根据不同的用户行为有针对性的主动联系用户,有效提高沟通效率及销售业绩。
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明提供的接口切换的方法包括以下步骤:
S10、当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的所有待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据;
具体地,所述待切换接口指的是需要切换到对应的新接口的接口。所述请求数据指的是各个待切换接口在预设时间段内的运行数据,其包括输入数据和第一输出数据。其中,所述输入数据指的是输入各接口内的参数,第一输出数据指的是在当前接口运行下各输入数据对应的输出数据。为了区分当前接口与其对应的新接口的输出数据,本发明将当前接口的输出数据记为第一输出数据,新接口的输出数据记为第二输出数据。通过比对同一输入数据,在新接口和当前接口的输出数据是否相同来评估新接口的运行质量,并依次为依据来判断是否要切换至新接口。
在本实施例中,为了方便数据比对,预先在所有当前运行的接口中增设埋点,以分别采集每个接口的请求数据,其中,所述请求数据包括输入数据和第一输出数据。在实际应用中,埋点实现方式可以通过表记录接口输入和输出参数。此表后续称为接口日志表,一个接口对应一个接口日志表,并根据接口名来命名其对应的接口日志表的表名。所述接口日志表中包含接口名、所述接口对应的所有请求数据以及各请求数据的数据ID。好处在于获取生产上真实数据,在接口数据比对过程中不需要重复调用老接口,同时不会给老接口所在机器增加新负担,让接口比对的同时,对前端的业务人员调用老接口做到尽量无感。当前,接口日志表中的请求数据也会定时进行清理,保留30天数据。
在本实施例中,把前一天各个老接口数据的唯一id(使用oracle rowid)根据老接口名进行存储,除此之外,记录请求业务意义的唯一id,这样在后续的数据查找和比对时,可以通过数据ID快速定位数据。在扫描预设时间段内的接口日志表时,还可以提取各个接口日志表中包含的接口名及请求数据标识,并将接口名及其对应的所有请求数据的数据ID进行关联,以生成一个请求任务表。同时,还可以在所述请求任务表中的每个请求数据增加处理状态,来标识每个请求数据是否已经比对完成。例如,当处理状态为完成时,说明其对应的请求数据已经比对完成,当处理状态为为完成时,说明其对应的请求数据还未比对完成。当然,所述处理状态为实时更新。这样,根据数据ID可以快速查询其比对状态。
S20、获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较。
具体地,所述空闲机器数量指的是用于运行新接口的机器中的空闲机器数量。所述新接口指的是预先配置的各个当前运行接口对应的新接口。当前运行的接口及其对应的新接口的接口名相同,因此可以通过接口名在预设的新接口数据库中调取各待切换接口对应的新接口。然后将空闲机器数量和新接口的数量进行比较来确定比对的方式。请参阅图2,其为本发明提供的接口切换的方法的步骤S20的流程图。
如图2所示,所述步骤S20包括:
S21、获取当前用于运行新接口的空闲机器的机器标识,并统计获取到的机器标识的数量以得到空闲机器数量;
S22、根据获取到的待切换接口分别确定所有待切换接口对应的新接口,并统计新接口的数量;
S23、将统计得到的空闲机器数量和新接口的数量进行比较。
具体的来说,所述机器标识指的是用于唯一标识各个机器的标识,其可以是机器序列码,编号等。通过查询各个机器的运行状态,并获取处于空闲状态的机器的机器标识,然后统计获取到的机器标识的数量,来得到当前可用的机器数量。在所述步骤S22中,通过接口名获取到各待切换接口对应的新接口,并统计新接口的数量。再将空闲机器数量和新接口的数量进行比较,并根据比较的结果来确定比对的策略。
S30、当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据。
具体地,所述第二输出数据指的时各输入数据在新接口中运行而得到的输出数据,其与第一输出数据相对应。当所述空闲机器数量小于新接口的数量时,说明新接口的数量足够分配到每一个机器,此时直接将新接口分配至各机器。请参阅图3,其为本发明提供的接口切换的方法中步骤S30的流程图。
如图3所示,所述步骤S30包括以下步骤:
S31、将各待切换接口对应的新接口平均分配至各空闲机器,以使得每个空闲机器至少运行一个新接口;
S32、将各待切换接口中对应的请求数据中的输入数据分别传入其对应的新接口中,以得到各输入数据对应的第二输出数据。
具体的来说,将各待切换接口对应的新接口平均分配至各空闲机器,这样每个空闲机器至少运行一个新接口,从而充分利用了每个机器,提高了运行效率。进一步,由于每个待切换接口对应的请求数据的总数不同,因此每个待切换接口对应的单线程处理数也不相同,为了最大限度的提高运行效率,还可以首先在所述请求任务表中统计每个接口名对应的数据ID的数量,以得到每个接口对应的请求数据的总数,这样按照总数从大到小依次将各接口对应的新接口分配至各空闲机器,然后再将多余的新接口分配至运行总数最小的机器中,这样,让一个机器单独运行请求数据量大的接口,让数据量小的接口公用一个机器,从而充分利用了每个机器,使得每个机器均处于满负荷状态。再分别将各每个接口对应的输入数据分别输入相应的新接口中,以得到相应的第二输出数据。
S40、当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据。
具体地,所述预设规则指的是根据每个接口对应的单线程最大处理数与其对应的请求数据的总数将请求数据进行分块。这样,保证了每个数据块都对应一个机器的单线程最大处理数,使得及其可以满负荷运行,最大限度的利用了每个机器的计算能力。请参阅图4,其为本发明提供的接口切换的方法中步骤S40的流程图。
如图4所述,所述步骤S40包括如下步骤:
S41、当所述空闲机器数量大于所述新接口的数量时,分别根据预设的接口与单线程最大处理数之间的对应关系确定各待切换接口对应的单线程最大处理数;
S42、分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块;
S43、将各待切换接口分块后的请求数据分配至各空闲机器,并在各空闲机器中运行新相应的新接口,以得到各输入数据对应的第二输出数据。
具体的来说,所述预设的接口与单线程最大处理数之间的对应关系为预先设置的,其根据每个机器运算能力决定,由于每个接口对应的请求数据不同,因此其对应的单线程最大处理数也不相同。当所述空闲机器数量大于所述新接口的数量时,如果直接将新接口平均分配至各空闲机器则存在新接口不足的问题,即空闲机器多余和闲置的问题,这样无法充分利用配置的机器,造成资源浪费,从而降低了运行效率。因此,需要首先将每个待切换接口对应的请求数据进行分块,请参阅图5,其为步骤S42的流程图,所述步骤S42具体可以包括吐下步骤:
S421、分别获取各待切换接口对应的请求数据的总数,并将所述总数除以各待切换接口对应的单线程最大处理数,以得到各待切换接口对应的数据块数;
S422、计算所有待切换接口对应的数据块数的总和,并将所述总和与所述空闲机器数量进行比较;
S423、当所述空闲机器数量大于所述总和时,重复执行数据分块以及比较的步骤,直至所述空闲机器数量小于所有待切换接口对应的数据块数的总和。
具体实施时,在所述请求任务表中统计每个接口名对应的请求数据的数据ID的个数,以得到各接口对应的请求数据的总数,将各接口对应的总数除以其对应的单线程最大处理数,以将请求数据平均分割成多个数据块,并且每个数据块对应一个单线程最大处理数,这样当一个数据块被分配给一个机器时,可以保证机器满负荷运行。然后将所有接口对应的数据块的总和与所述空闲机器数量进行比较,当空闲机器数量依然大于数据块的总和时,重复分块的步骤,直至空闲机器数量小于数据块的总和。将最终分割成的数据块平均分配至各空闲机器,然后将每个数据块中包含的每个请求数据中的输入数据传入相应的新接口中,以得到相应的第二输出数据。本发明通过配置化可新增和去除接口的比对,可横向扩展机器数来提升运算能力。
S50、将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口。
具体地,由于第二输出数据和第一输出数据的格式可能会有所不同,因此首选需要将二者的格式进行一致化。如图6所述,其为本发明提供的接口切换的方法中步骤S50的流程图。
如图6所示,所述步骤S50包括如下步骤:
S51、将各输入数据对应的第二输出数据与相应的第一输出数据均转换成字符格式,并逐一比对每个字符;
S52、当第二输出数据和第一输出数据的每个字符均比对成功时,判定比对成功;
S53、当比对成功时将所述待比对接口切换至其对应的新接口。
具体实施时,将各输入数据对应的第二输出数据其相应的第一输出数据均转换成字符格式,以使得二者格式一致,然后再注意比对每个字符。在实际应用中,可能存在输出数据的格式较为复杂,为了方便比较,还需要进一步将第一输出数据和第二输出数据进行打散和拆分,再进行比较。例如,可以采用“;”、空格、或者“,”作为分界字符将输出数据进行拆分,并依次比对各分隔符之间的字符是否相同。当每个字符均相同时,判定比对成功,即新接口的输出数据与当前运行的接口的输出参数相同,说明切换至新接口对于运行结果没有影响,因此可以将比对成功的待切换换接口切换至其对应的新接口。
进一步,为了避免出现遗漏和后续新接口运行出错,便于分析新接口质量,机器处理数据性能。后台定时扫描请求任务表,每天跑一次,统计前两天的请求任务表数据,包括接口名、请求日志总数、请求任务总数、处理过的请求任务总数,比对不一致总数等。
S54、当第二输出数据和第一输出数据中存在不相同的字符时,标记所述不相同的字符;
S55、采用预设格式输出标记的字符,并显示于显示界面,其中,所述预设格式至少包括HTML页面格式或者文本格式中的一种。
具体地,当第二输出数据和第一输出数据中存在不相同的字符时,说明其对应的请求数据输出错误,即所述请求数据对应的新接口不能输出正确的运行结果,从而不执行所述切换请求。并标记不相同的字符,然后采用预设格式输出标记的字符,并将标记的字符显示于显示界面,其中,所述预设格式可以为HTML页面格式或者文本格式,这样便于用户查看不相同的数据结果,从而快速查找出出错的原因。当然,当比对结果不相同时,还可以返回重新执行数据比对的步骤,当多次比对的结果依然出现错误时,则返回比对失败的信息,并标记比对失败的新接口。加快了历史产品的迁移速度,保证了老产品正确性,提高人工核查问题的效率。在新接口试运行的过渡阶段(接口需要在各个地区逐步切换),监控持续同步开发的新产品的正确性。
如图7所示,基于上述接口切换的方法,本发明还相应提供了一种终端设备。所述终端设备具体需与业务端直接进行交互,例如接收业务端发送的切换接口的请求。
所述终端设备可以是台式计算机、笔记本、掌上电脑及服务器等计算设备。该终端设备包括,但不仅限于,处理器10、存储器20、及显示器30。图7仅示出了终端设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述终端设备的内部存储单元,例如该终端设备的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端设备的应用软件及各类数据,例如所述安装终端设备的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有接口切换程序40,该接口切换程序40可被处理器10所执行,从而实现本申请各实施例的接口切换的方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述权限认证方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述终端设备中处理的信息以及用于显示可视化的用户界面,例如指派信息界面、认证报告界面等。所述终端设备的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中接口切换程序40时实现以下步骤:
当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的所有待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据;
获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较;
当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据;
当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据;
将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口。
进一步的,在所述终端设备中,所述当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的所有待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据之前包括:
预先在所有当前运行的接口中增设埋点,以分别采集每个接口的请求数据,其中,所述请求数据包括输入数据和第一输出数据。
所述接口切换的方法中,所述获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较的步骤包括:
获取当前用于运行新接口的空闲机器的机器标识,并统计获取到的机器标识的数量以得到空闲机器数量;
根据获取到的待切换接口分别确定所有待切换接口对应的新接口,并统计新接口的数量;
将统计得到的空闲机器数量和新接口的数量进行比较。
所述接口切换的方法中,所述当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据具体为:
将各待切换接口对应的新接口平均分配至各空闲机器,以使得每个空闲机器至少运行一个新接口;
将各待切换接口中对应的请求数据中的输入数据分别传入其对应的新接口中,以得到各输入数据对应的第二输出数据。
所述接口切换的方法中,所述当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据的步骤包括:
当所述空闲机器数量大于所述新接口的数量时,分别根据预设的接口与单线程最大处理数之间的对应关系确定各待切换接口对应的单线程最大处理数;
分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块;
将各待切换接口分块后的请求数据分配至各空闲机器,并在各空闲机器中运行新相应的新接口,以得到各输入数据对应的第二输出数据。
所述接口切换的方法中,所述分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块的步骤具体包括:
分别获取各待切换接口对应的请求数据的总数,并将所述总数除以各待切换接口对应的单线程最大处理数,以得到各待切换接口对应的数据块数;
计算所有待切换接口对应的数据块数的总和,并将所述总和与所述空闲机器数量进行比较;
当所述空闲机器数量大于所述总和时,重复执行数据分块以及比较的步骤,直至所述空闲机器数量小于所有待切换接口对应的数据块数的总和。
所述接口切换的方法中,所述将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口的步骤包括:
将各输入数据对应的第二输出数据与相应的第一输出数据均转换成字符格式,并逐一比对每个字符;
当第二输出数据和第一输出数据的每个字符均比对成功时,判定比对成功;
当比对成功时将所述待比对接口切换至其对应的新接口。
所述接口切换的方法中,其还包括步骤:
当第二输出数据和第一输出数据中存在不相同的字符时,标记所述不相同的字符;
采用预设格式输出标记的字符,并显示于显示界面,其中,所述预设格式至少包括HTML页面格式或者文本格式中的一种。
综上所述,本发明提供的接口切换的方法、终端设备及存储介质中,所述接口切换的方法通过获取待切换接口及其对应的请求数据,并通过运行新接口的空闲机器数量与新接口的数量之间的关系,合理分配各待切换接口对应的新接口和请求数据至各空闲机器,使得各空闲机器可以采用其自身最大的处理能力来运行各新接口,从而得到相应的第二输出数据,最后将当前运行的接口对应的第一输出数据与相应的第二输出数据进行比对,并在比对成功时,将带切换接口切换至其对应的新接口。本发明通过配置化可新增和去除接口的比对,可横向扩展机器数来提升运算能力,从而提升接口数据的比对效率,有利于新旧接口的无缝对接。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种接口切换的方法,其特征在于,包括如下步骤:
当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据;
获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较;
当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据;
当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据;
将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口。
2.根据权利要求1所述接口切换的方法,其特征在于,所述当接收到切换接口的请求时,获取所述请求携带的待切换接口,并扫描预先采集到的所有待切换接口对应的请求数据,其中,所述请求数据包括输入数据和第一输出数据之前包括步骤:
预先在所有当前运行的接口中增设埋点,以分别采集每个接口的请求数据,其中,所述请求数据包括输入数据和第一输出数据。
3.根据权利要求1所述接口切换的方法,其特征在于,所述获取当前用于运行新接口的空闲机器数量以及各待切换接口对应的新接口,并将所述空闲机器数量与新接口的数量进行比较的步骤包括:
获取当前用于运行新接口的空闲机器的机器标识,并统计获取到的机器标识的数量以得到空闲机器数量;
根据获取到的待切换接口分别确定所有待切换接口对应的新接口,并统计新接口的数量;
将统计得到的空闲机器数量和新接口的数量进行比较。
4.根据权利要求1所述接口切换的方法,其特征在于,所述当所述空闲机器数量小于新接口的数量时,将各待切换接口对应的新接口分配至各空闲机器进行运行,以得到各输入数据对应的第二输出数据的步骤包括:
将各待切换接口对应的新接口平均分配至各空闲机器,以使得每个空闲机器至少运行一个新接口;
将各待切换接口中对应的请求数据中的输入数据分别传入其对应的新接口中,以得到各输入数据对应的第二输出数据。
5.根据权利要求1所述接口切换的方法,其特征在于,所述当所述空闲机器数量大于所述新接口的数量时,将各待切换接口对应的请求数据按照预设规则进行分块,并将分块后的请求数据分配至各空闲机器并在其对应的新接口中运行,以得到各输入数据对应的第二输出数据的步骤包括:
当所述空闲机器数量大于所述新接口的数量时,分别根据预设的接口与单线程最大处理数之间的对应关系确定各待切换接口对应的单线程最大处理数;
分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块;
将各待切换接口分块后的请求数据分配至各空闲机器,并在各空闲机器中运行新相应的新接口,以得到各输入数据对应的第二输出数据。
6.根据权利要求5所述接口切换的方法,其特征在于,所述分别获取各待切换接口对应的请求数据的总数,并根据所述总数和单线程最大处理数将各待切换接口对应的请求数据进行分块的步骤包括:
分别获取各待切换接口对应的请求数据的总数,并将所述总数除以各待切换接口对应的单线程最大处理数,以得到各待切换接口对应的数据块数;
计算所有待切换接口对应的数据块数的总和,并将所述总和与所述空闲机器数量进行比较;
当所述空闲机器数量大于所述总和时,重复执行数据分块以及比较的步骤,直至所述空闲机器数量小于所有待切换接口对应的数据块数的总和。
7.根据权利要个求1所述接口切换的方法,其特征在于,所述将各输入数据对应的第二输出数据与相应的第一输出数据进行比对,并在比对成功时,将所述待比对接口切换至新接口的步骤包括:
将各输入数据对应的第二输出数据与相应的第一输出数据均转换成字符格式,并逐一比对每个字符;
当第二输出数据和第一输出数据的每个字符均比对成功时,判定比对成功;
当比对成功时将所述待比对接口切换至其对应的新接口。
8.根据权利要求7所述接口切换的方法,其特征在于,其还包括步骤:
当第二输出数据和第一输出数据中存在不相同的字符时,标记所述不相同的字符;
采用预设格式输出标记的字符,并显示于显示界面,其中,所述预设格式至少包括HTML页面格式或者文本格式中的一种。
9.一种终端设备,其特征在于,所述终端设备包括处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述存储器中的接口切换程序,以实现如权利要求1-8任意一项所述的接口切换的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-8任意一项所述的接口切换的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810122136.8A CN108363671B (zh) | 2018-02-07 | 2018-02-07 | 一种接口切换的方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810122136.8A CN108363671B (zh) | 2018-02-07 | 2018-02-07 | 一种接口切换的方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108363671A true CN108363671A (zh) | 2018-08-03 |
CN108363671B CN108363671B (zh) | 2020-01-14 |
Family
ID=63004978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810122136.8A Active CN108363671B (zh) | 2018-02-07 | 2018-02-07 | 一种接口切换的方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108363671B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158899A (zh) * | 2019-12-02 | 2020-05-15 | 南京星邺汇捷网络科技有限公司 | 一种数据的采集方法、采集器、任务管理中心以及系统 |
CN111339005A (zh) * | 2020-02-19 | 2020-06-26 | 上海新物科技有限公司 | 一种数据采集方法、设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030149716A1 (en) * | 2002-02-06 | 2003-08-07 | International Business Machines Corporation | Thread dispatch mechanism and method for multiprocessor computer systems |
CN104572436A (zh) * | 2013-10-25 | 2015-04-29 | 纬创资通股份有限公司 | 自动调试与防错方法及装置 |
CN105446741A (zh) * | 2015-12-10 | 2016-03-30 | 北京邮电大学 | 一种基于api比对的移动应用程序辨识方法 |
CN105765556A (zh) * | 2013-11-25 | 2016-07-13 | 亚马逊科技公司 | 分布式系统中的客户导向的联网限制 |
CN106484537A (zh) * | 2016-09-30 | 2017-03-08 | 网易(杭州)网络有限公司 | 一种cpu核资源的分配方法和设备 |
CN107346284A (zh) * | 2016-05-05 | 2017-11-14 | 腾讯科技(深圳)有限公司 | 一种应用程序的检测方法及检测装置 |
CN107577602A (zh) * | 2017-08-25 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种app接口的测试方法、装置及系统 |
-
2018
- 2018-02-07 CN CN201810122136.8A patent/CN108363671B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030149716A1 (en) * | 2002-02-06 | 2003-08-07 | International Business Machines Corporation | Thread dispatch mechanism and method for multiprocessor computer systems |
CN104572436A (zh) * | 2013-10-25 | 2015-04-29 | 纬创资通股份有限公司 | 自动调试与防错方法及装置 |
CN105765556A (zh) * | 2013-11-25 | 2016-07-13 | 亚马逊科技公司 | 分布式系统中的客户导向的联网限制 |
CN105446741A (zh) * | 2015-12-10 | 2016-03-30 | 北京邮电大学 | 一种基于api比对的移动应用程序辨识方法 |
CN107346284A (zh) * | 2016-05-05 | 2017-11-14 | 腾讯科技(深圳)有限公司 | 一种应用程序的检测方法及检测装置 |
CN106484537A (zh) * | 2016-09-30 | 2017-03-08 | 网易(杭州)网络有限公司 | 一种cpu核资源的分配方法和设备 |
CN107577602A (zh) * | 2017-08-25 | 2018-01-12 | 上海斐讯数据通信技术有限公司 | 一种app接口的测试方法、装置及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158899A (zh) * | 2019-12-02 | 2020-05-15 | 南京星邺汇捷网络科技有限公司 | 一种数据的采集方法、采集器、任务管理中心以及系统 |
CN111339005A (zh) * | 2020-02-19 | 2020-06-26 | 上海新物科技有限公司 | 一种数据采集方法、设备及计算机可读存储介质 |
CN111339005B (zh) * | 2020-02-19 | 2023-09-08 | 上海新物科技有限公司 | 一种数据采集方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108363671B (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107819627B (zh) | 系统故障处理方法及服务器 | |
CN108459939A (zh) | 一种日志收集方法、装置、终端设备及存储介质 | |
US8381016B2 (en) | Fault tolerance for map/reduce computing | |
CN103034735B (zh) | 一种大数据分布式文件导出方法 | |
CN106126403B (zh) | Oracle数据库故障分析方法和装置 | |
CN110308980A (zh) | 数据的批量处理方法、装置、设备及存储介质 | |
US20140172888A1 (en) | Systems and Methods for Processing Hybrid Co-Tenancy in a Multi-Database Cloud | |
CN103581336B (zh) | 基于云计算平台的业务流程调度方法及系统 | |
CN102799519A (zh) | 一种集群文件系统自动化测试方法 | |
CN102571499A (zh) | 一种云端数据库服务器集群的监控方法 | |
CN111899011A (zh) | 一种医务账单对账系统、计算机设备和存储介质 | |
CN112737800A (zh) | 服务节点故障定位方法、调用链生成方法及服务器 | |
CN110300188A (zh) | 数据传输系统、方法和设备 | |
CN107832134A (zh) | 多任务处理方法、应用服务器及存储介质 | |
CN108363671A (zh) | 一种接口切换的方法、终端设备及存储介质 | |
CN109800133A (zh) | 一种统一监控告警的方法、一站式监控告警平台及系统 | |
CN107368324A (zh) | 一种组件升级方法、装置和系统 | |
CN102201922B (zh) | 一种数据计费方法和相关装置 | |
CN114661523A (zh) | 数据备份方法、装置、程序产品、介质及电子设备 | |
CN108038126A (zh) | 一种数据导出的方法、装置、终端设备及存储介质 | |
CN104267937A (zh) | 一种联机小批量数据处理方法及系统 | |
US10785102B2 (en) | Modifying distributed application based on cloud diagnostic data | |
CN106155786A (zh) | 一种云平台任务管理方法及系统 | |
CN113918305B (zh) | 节点调度方法、装置、电子设备及可读存储介质 | |
CN106599116B (zh) | 云平台数据集成管理系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |