CN111338812B - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN111338812B CN111338812B CN202010074576.8A CN202010074576A CN111338812B CN 111338812 B CN111338812 B CN 111338812B CN 202010074576 A CN202010074576 A CN 202010074576A CN 111338812 B CN111338812 B CN 111338812B
- Authority
- CN
- China
- Prior art keywords
- rule
- target
- request
- user request
- shunting
- 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
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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供数据处理方法及装置,以对用户请求进行分流。上述方法包括:获得终端传输的用户请求,用户请求中包括至少一项请求参数;按照用户请求对应的至少一项分流维度,对用户请求进行特征提取,得到特征向量,特征向量中包括在分流维度上的特征数据;在预设的至少一条分流规则中,利用特征数据,获得与特征向量相匹配的目标分流规则;其中,目标分流规则中至少包括分流传输的目标应用系统的系统标识和与系统标识相对应的在至少一项分流维度上的分流参数;获得目标分流规则中的目标系统标识对应的目标请求格式;至少将用户请求转换成目标请求格式对应的请求报文;将目标请求格式对应的请求报文向目标系统标识对应的应用系统传输。
Description
技术领域
本发明涉及计算机技术领域,特别涉及数据处理方法及装置。
背景技术
随着互联网的膨胀式发展和快速普及,互联网和用户衣食住行等日常生活已深深地融合在了一起。并且随着人民生活水平的不断提升,互联网中各类应用系统的服务品质也需要不断的升级,升级的新应用系统更加完美的为用户提供服务。
为了保障系统的可靠性,通常采用新旧系统同时运行的方案,将用户请求随机分配给相应的系统进行处理。
但是,这种方案可能会存在新旧系统的兼容性较差而使得新系统或旧系统无法识别出所分配的请求的情况,由此,导致请求无法被处理,可见,这种方案中服务的可靠性仍然较低。
发明内容
有鉴于此,本发明实施例提供数据处理方法与装置,以实现将用户请求分流到相应的应用系统。
为实现上述目的,本发明实施例提供如下技术方案:
一种数据处理方法,包括:
获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;
获得所述目标分流规则中的目标系统标识对应的目标请求格式;
至少将所述用户请求转换成所述目标请求格式对应的请求报文;
将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输。
一种数据处理装置,包括:
请求获得单元,用于获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
特征提取单元,用于按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
分流匹配单元,用于在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;
格式获得单元,用于获得所述目标分流规则中的目标系统标识对应的目标请求格式;
报文转换单元,用于至少将所述用户请求转换成所述目标请求格式对应的请求报文;
报文传输单元,用于将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输。
可见,在本发明实施例中,会根据用户请求中的请求参数来提取用户请求在分流维度上的特征数据,进而在分流规则中获取到相应的目标分流规则,在对用户请求按照目标分流规则中的请求格式进行格式转换之后,将转换后的请求报文传输到相应的应用系统中,实现请求分流。可见,本发明实施例中可以按照用户请求去确定所传输的目的应用系统并进行相应的请求格式转换,避免应用系统无法识别用户请求的情况,从而使得用户请求均能够被及时处理,由此达到提高服务可靠性的目的。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本发明实施例提供的服务器侧的架构结构示例图;
图2为本发明实施例提供的数据处理方法的一种示例性流程;
图3为本发明实施例提供的数据处理方法中的另一种示例性流程;
图4为本发明实施例提供的数据处理方法中的另一种示例性流程;
图5为本发明实施例提供的构建规则匹配树的一种示例图;
图6为本发明实施例提供的数据处理装置的示例性结构;
图7为本发明实施例提供的数据处理装置的一种应用示例图;
图8为本发明实施例提供的数据处理方法的一种应用示例图;
图9为本发明实施例提供的构建规则匹配树的另一种示例图;
图10为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
随着互联网的膨胀式发展和快速普及,互联网和人们的衣食住行等日常生活已深深地融合在了一起。并且随着人民生活水平的不断提升,互联网中各类系统的服务品质也需要不断的升级,但是大规模的系统升级总是存在技术上的风险,需要经历一段适应期,才能使旧系统健康地过渡到新系统,而在这段适应期内,一方面要做到对客户的服务质量有增无减,另一方面还需要不断地完善新系统,迭代开发新功能等。
现有方案一:直接切换到新系统,如果新系统有故障那么立即回滚到起点。但这种方案中存在缺点:即便新系统已经通过了大规模的系统测试,也很难确保新系统能够安全无故障的运行,一旦发生故障,需要人工参与且不能立即响应,故会有一段时期不能对外提供正常服务;另外,大规模的系统升级也不是一蹴而就的,一般需要很长的时间边验证边开发,这种直接切换的方案显然存在很大的隐患。
现有方案二:新旧系统同时运行,请求流量随机分配,但是,这种方案只是缓解了方案一故障发生时的系统不可用性,并没有消除;另外,新旧系统的兼容性并没有被充分地考虑到,例如新系统升级了用户请求类型,旧系统未必能兼容等。
有鉴于此,本发明实施例提供了数据处理方法与数据处理装置,以实现用户请求向多个不同系统的分流。如下为本发明实施例的主要核心思想:
为确保国际运价计算系统的平稳升级,同时避免上述方案的缺点,本发明实施例中提供一种基于数据特征的动态请求分发的控制方案,就是在用户请求与新旧服务系统之间搭建一个接驳系统,能够将用户请求按多维度数据对应的分流规则在新旧系统之间动态切换以适应各种业务和紧急状况,同时限制一些非法流量,给系统减压,提升客户的使用体验,该技术方案的主要功能点包含:
根据多维度规则,对不同类型的请求进行动态分流、用户流量限制,包括黑名单白名单设置等;
分流规则可以通过WEB页面线上动态修改并立即生效,以适应各种业务变更以及紧急的突发情况;
多维度规则预处理,提高匹配速度;
对原客户请求作格式转换、应用层协议转换等,以兼容新旧系统,该功能是纯粹的分流限流系统考虑不到的。
在介绍完核心思想后,下面介绍本发明实施例所涉及的装置。
上述数据处理装置可以软件或硬件的形式应用于服务器侧。
当以软件形式应用于服务器侧时,上述数据处理装置可为独立的软件。当然,也可作为大型系统的子系统(子组件),提供请求分流的服务。
当以硬件形式应用于服务器侧中时,上述数据处理装置示例性的可为服务器侧的服务器。
请参见图1,服务器侧在硬件上可包含web服务器和后端服务器。
其中,web服务器为前端(前台),负责与客户端(浏览器)通信,并负责提供请求分流服务,以将请求分流到相应的后端服务器上的应用系统上。
需要说明的是,图1只示例性得示出了一台web服务器和一台后端服务器,本领域技术人员可根据实际需要灵活设计web服务器和后端服务器的数量。
在一些实施方式中,客户端、服务器(web服务器)可以利用诸如HTTP(HyperTextTransfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述数据处理方法的应用场景示例性得仍可参见图1所示:对于用户通过客户端提交的用户请求,web服务器可以在获得到用户请求之后,对用户请求进行分流,并分流转发到相应的后端服务器上的应用系统上。
由于本发明在实施时需要使用用户数据,在实施之前,会有用户授权使用用户数据的流程,在该流程中,会向用户展示用户数据的用途。
下面将从技术角度介绍如何实现上述应用场景。
图2示出了本发明实施例一中由上述数据处理装置(服务器端)所执行的数据处理方法的一种示例性流程,包括:
步骤201:获得终端传输的用户请求。
其中,用户请求可以为用户在终端上所呈现的服务器推送的页面上进行相应的操作所产生的请求,如用户在服务器推送在手机的页面上进行机票价格查询或者酒店预订查询等操作所产生的请求。
需要说明的是,用户请求中可以包括至少一项请求参数,至少包括请求来源信息以及其他请求内容信息,如代理人(渠道)、出票航空公司(代码TC)、Office号、机场代码、IATA号(The International Air Transport Association)、终端号PID(port ID)、部门代码DepartmentCode、航班的行程信息、不同航段的运价信息等。
在一种实现方式中,用户请求中可能会存在数据缺失的情况,如缺失杭办各个舱位的有效座位数等数据,此时,本实施例中可以从数据库获得缺失的请求数据,或者向第三方平台发送补全请求,以从第三方平台中获得缺失的请求数据,进而再根据这些缺失的请求数据,对用户请求中的请求参数进行补全。
步骤202:按照用户请求对应的至少一项分流维度,对用户请求进行特征提取,得到用户请求对应的特征向量。
其中,特征向量包括分流维度上的特征数据。
需要说明的是,用户请求中包括至少一项请求参数,每项请求参数属于一个维度,在用户请求中可以指定分流维度,例如,将每项请求参数对应的维度均指定为分流维度,或者在请求参数所对应的维度中指定部分维度为分流维度。相应的,本实施例中按照用户请求对应的分流维度,对用户请求中的用户参数进行特征提取,以提取到每个分流维度上的特征数据,组成用户请求对应的特征向量。
例如,在用户请求的请求参数中,将涉及代理人(渠道)、出票航空公司(简称TC)、Office号、IATA号、PID、DepartmentCode等不同数据特征的信息从用户请求中提取出来,组成特征向量。
步骤203:在预设的至少一个分流规则中,利用特征数据,获得与特征向量相匹配的目标分流规则。
其中,分流规则可以利用预设的分流输入数据生成,每条分流输入数据中包含有表征分流传输的目标应用系统的输入标识和该输入标识对应的在每项分流维度上的输入参数,相应所生成的分流规则中具有表征分流传输的目标应用系统的系统标识和该系统标识对应的在每个分流维度上的分流参数。其中,系统标识为其所属分流规则对应的分流输入数据中的输入标识,分流参数为其所属分流规则对应的分流输入数据中属于同一分流维度上的输入数据。
具体的,本实施例中可以在各个分流规则中,用特征向量中的特征数据与每条分流规则中的分流参数进行比对,进而将具有与特征向量中的特征数据相匹配的分流参数的分流规则确定的目标分流规则。
步骤204:获得目标分流规则中目标系统标识对应的目标请求格式。
其中,每条分流规则中除了包含有系统标识和分流参数之外,当然还包括有该系统标识对应的应用系统所能够识别的报文的请求格式,由此,在获得到目标分流规则之后,获得该目标分流规则中目标系统标识所对应的目标请求格式,该目标请求格式即为目标系统标识对应的应用系统所能够识别的报文的格式。
步骤205:至少将用户请求转换成目标请求格式对应的请求报文。
其中,本实施例中可以按照目标请求格式,对用户请求进行格式转换,以将用户请求转换成目标请求格式对应的请求报文。
除此之外,本实施例中还可以将与用户请求对应的其他内容同样进行格式转换。
步骤206:将目标请求格式对应的请求报文向目标系统标识对应的应用系统传输。
其中,目标请求格式对应的请求报文即为对用户请求进行格式转换所得到的请求报文。
具体的,本实施例中可以通过与目标系统标识对应的应用系统所在的服务器之间的数据连接将该目标请求格式对应的请求报文传输到目标系统标识对应的应用系统。
由上述方案可知,本发明实施例中,会根据用户请求中的请求参数来提取用户请求在分流维度上的特征数据,进而在分流规则中获取到相应的目标分流规则,在对用户请求按照目标分流规则中的请求格式进行格式转换之后,将转换后的请求报文传输到相应的应用系统中,实现请求分流。可见,本发明实施例中可以按照用户请求去确定所传输的目的应用系统并进行相应的请求格式转换,避免应用系统无法识别用户请求的情况,从而使得用户请求均能够被及时处理,由此达到提高服务可靠性的目的。
在一种实现方式中,本实施例中除了将用户请求转换成目标请求格式对应的请求报文,还可以将用户请求对应的特征向量转换成目标请求格式对应的数据报文,以便于将数据报文与目标请求格式对应的请求报文一起向目标系统标识对应的应用系统传输,以便于目标系统标识对应的应用系统可以直接在数据报文中读取所需要的数据,而需要再次向当前的服务器重新请求数据,以节省数据交互流程,加快对用户请求的处理效率。
进一步的,本发明实施例在步骤201获得到用户请求之后,可以对用户请求的来源特征进行解析,以得到用户请求的请求来源信息,如代理人(渠道)等信息,而在请求来源信息表征用户请求满足来源合法规则的情况下,执行步骤202及后续流程,否则,不再继续执行步骤202及后续流程,由此,达到保护应用系统的目的,也能够避免过多的请求处理流程,以加快对其他请求的分流效率。
其中,来源合法规则中可以预先设置一个或多个认为合法的来源信息或者认为不合法的来源信息,进而在获得到用户请求之后,将用户请求的请求来源信息与这些合法或不合法的来源信息进行比对,如果没有找与该请求来源信息相匹配的合法来源信息或者找到与该请求来源信息相匹配的不合法来源信息,那么认为这个用户请求是不合法,可以不对其进行分流传输,此时,就可以将该用户请求舍去,终止分流流程,以避免消耗请求分流的资源,提高其他合法的用户请求的分流效率。
在一种实现方式中,本发明实施例中的分流规则可以通过以下方式获得,如图3中所示:
步骤301:获得预设的至少一条分流输入数据。
其中,分流输入数据是指用户对分流规则进行设置时通过终端上web服务器所推送的设置界面所输入的输入数据,该分流输入数据中至少包括有:分流传输的目标应用系统的输入标识和与输入标识相对应的在至少一项分流维度上的输入参数。这些分流输入数据可以存储在数据库中,以便于后续生成分流规则。
需要说明的是,输入标识是指预设的分流传输的目标应用系统的标识,而相应的,该输入标识对应于在至少一项分流维度上的输入参数,该输入参数是指分流传输到目标应用系统的用户请求所需要具有的参数。
步骤302:根据所述至少一条分流输入数据,生成至少一条分流规则。
其中,每条分流规则中至少包括分流传输的目标应用系统的系统标识和与系统标识相对应的在至少一项分流维度上的分流参数。
需要说明的是,系统标识即为其所属的分流规则所对应的分流输入数据中的输入标识,而分流参数为其所属的分流规则所对应的分流输入数据中属于同一分流维度上的输入参数,例如,对于分流输入数据1在代理人、出票航空公司、Office号三个维度上具有相应的三个输入参数,并具有输入标识:系统X,相应生成的分流规则中具有系统标识X,还在代理人、出票航空公司、Office号三个维度上具有相应的三个分流参数,这些分流参数与分流输入数据A在这三个维度上的输入参数相一致。如表1中的分流规则所示:
表1分流规则
其中,A、B、C、D、E、F分别为分流维度,相应对应的数据为分流参数,X和Y分别为系统标识。
基于此,本实施例中步骤203中在获得与特征向量相匹配的目标分流规则时,可以将特征向量与每条分流规则进行匹配,具体的,可以将特征向量中的特征数据分别与每条数据中在属于同一分流维度上的分流参数进行匹配,进而得到与特征向量相匹配的目标分流规则,此时所匹配出的目标分流规则中的所有分流参数与特征向量中属于同一分流维度的特征数据相一致,至此可以在目标分流规则中获得表征分流传输的应用系统的目标系统标识,以便于在获得目标系统标识对应的目标请求格式之后,将用户请求转换成目标请求格式对应的请求报文,由此将目标请求格式对应的请求报文向目标系统标识对应的应用系统传输,实现用户请求的分流,同时能够使得目标系统标识对应的应用系统能够识别用户请求,以保证服务的可靠性。
另外,如果在预设的至少一条分流规则中,没有获得所有分流参数与特征向量中属于同一分流维度的特征数据相一致的目标分流规则的情况下,本实施例中可以在分流规则中选择一个优选分流规则,以作为目标分流规则,此时,该优选分流规则中,存在至少部分分流参数与特征向量中属于同一分流维度的特征数据相一致,而且优选分流规则中与特征向量中属于同一分流维度的特征数据相一致的分流参数的数量在所有的分流规则中最多。也就是说,如果在所有分流规则中,没有找到其中所有分流参数与特征向量中属于同一分流维度的特征数据均相一致的分流规则即没有找到所有分流维度上的分流参数和特征向量中的特征数相一致时,可以首先找到具有一个或多个分流参数与特征向量中属于同一分流维度的特征数据相一致的一个或多个分流规则,如只有代理人维度上的分流参数与特征向量中的特征数据相一致,或者有代理人维度和TC维度上的分流参数与特征向量中的特征数据相一致,之后,在从这些找到的分流规则中,优选出分流参数和与特征向量中属于同一分流维度上的特征数据相一致的数量最多的分流规则,作为目标分流规则。
基于此,为了加快特征向量的匹配速率,进而提高用户请求分流的效率,本实施例中可以将分流规则构建成规则匹配树,进而在需要找到与特征向量匹配的目标分流规则时,可以用特征向量中的特征数据与规则匹配树中的节点进行匹配,以加快匹配速率。
具体的,本实施例中在生成分流规则之后,还可以包括以下步骤,如图4中所示:
步骤303:对至少一条分流规则按照其中的系统标识进行聚类,得到系统标识对应的数据组。
其中,数据组中包括至少对至少一条系统标识对应的分流规则。
例如,本实施例中将分流规则按照其中的系统标识进行分类,将含有同一个系统标识的分流规则聚类到同一个数据组,由此所生成的数据组中的分流规则均是具有相同的系统标识的分流规则,每个分流规则中具有至少一项分流维度上的分流参数。
步骤304:对数据组中的分流规则,生成相应的规则匹配树。
其中,每个数据组分别生成一个相应的规则匹配树,在聚类之后生成的数据组的个数对应于所生成的规则匹配树的个数,也就是说,具有相同系统标识的分流规则生成一个规则匹配树。
具体的,在规则匹配树中包括有根节点和根节点的子节点,而根节点的子节点对应于分流规则中的分流参数,如图5中所示,根节点表征系统标识,对应于一个目标应用系统,如系统X或系统Y,相应根节点的子节点分别对应于数据组中的分流规则的分流参数。
其中,在规则匹配树中,属于同一层的节点对应的分流参数为属于同一分流维度,且属于同一层的节点的对应的分流参数为逻辑或的逻辑关系;规则匹配树中相邻层的父节点和子节点各自对应的分流参数之间为逻辑与的逻辑关系,如表1中所示的A、B、C与D之间是逻辑与的逻辑关系,末尾的D、E和F之间是逻辑或的逻辑关系,相应生成的规则匹配树如图5中所示,ma和fa为逻辑或的逻辑关系,在规则匹配树中处于同一层节点,ma和fk为逻辑与的逻辑关系,此时,在规则匹配树中处于相邻层且为父节点和子节点的关系,等等。
基于此,本实施例中步骤203在获得与特征向量相匹配的目标分流规则时,具体可以通过以下方式实现:
将特征向量中的特征数据与各个规则匹配树中的节点的分流参数进行匹配,进而确定出与特征向量相匹配的目标规则匹配树,而此时的目标规则匹配树对应的分流规则即为目标分流规则,至此可以在目标分流规则中获得表征分流传输的应用系统的目标系统标识,以便于在获得目标系统标识对应的目标请求格式之后,将用户请求转换成目标请求格式对应的请求报文,由此将目标请求格式对应的请求报文向目标系统标识对应的应用系统传输,实现用户请求的分流,同时能够使得目标系统标识对应的应用系统能够识别用户请求,以保证服务的可靠性。
可见,本发明实施例中可以将具有同一系统标识的分流规则生成一棵规则匹配树,进而将特征向量中的特征数据可以在规则匹配树中进行快速节点匹配,进而提高匹配速率,以达到提高用户请求分流的效率的目的。
在另一种实现方式中,本发明实施例中在所有分流规则中仍然没有获得到与特征向量相匹配的目标分流规则的情况下,可以获得预设的指定系统标识,如X系统或者Y系统的标识,以表征无法匹配到任何系统标识的情况下,优选以指定的系统标识对应的应用系统处理当前的用户请求,相应的,在获得该指定系统标识对应的指定请求格式之后,将用户请求转换成指定请求格式对应的请求报文,再将指定请求格式对应的请求报文向指定系统标识对应的应用系统传输,从而实现用户请求的分流的情况下,能够保障用户请求分流的可靠性。
进一步的,本实施例中可以根据指定系统标识的用户请求对应的特征向量生成新的分流规则,并添加到相应的规则匹配树中,用于后续的请求的分流匹配。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
参考图6,为本发明实施例二提供的一种数据处理装置的一种示例性结构,该装置配置在web服务器中,可以包括以下各单元:
请求获得单元601,用于获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
特征提取单元602,用于按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
分流匹配单元603,用于在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;
格式获得单元604,用于获得所述目标分流规则中的目标系统标识对应的目标请求格式;
报文转换单元605,用于至少将所述用户请求转换成所述目标请求格式对应的请求报文;
报文传输单元606,用于将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输。
以上功能单元在web服务器中在逻辑上划分成解析引擎、分流引擎、策略组件和格式化引擎四部分,如图7中所示,其中:
解析引擎:主要用于接收用户请求并解析其数据特征,同时阻塞非法请求,随后将成功解析的用户请求及其数据特征打包发送至分流引擎。
分流引擎:该组件包括策略匹配模块及消息打包模块,主要用于:接收解析引擎发送的用户请求和数据特征,并根据数据特征,结合本组件中基于策略组件形成的分流规则,对请求进行快速匹配形成分流方案,即找到匹配的目标分流规则,随后将分流方案和解析的用户请求打包发送至格式化引擎。
策略组件:该组件包括分流规则的导入模块、存储模块以及分流策略的编译模块。该组件负责分流规则的设置,其中的分流规则包含xml格式和原始字符串格式,支持单条分流规则或组合分流规则的导入。其中的分流规则通过文件传输协议FTP(File TransferProtocol)上传至web服务器,再由服务器推送到分流策略数据库集群中。
格式化引擎:主要用于:根据分流规则、解析的用户请求及其数据特征,进行特定系统的格式化处理,随后实时分发至与其数据特征对应的系统中。
具体实现流程如图8中所示:
步骤一、用户请求解析及补全:
在航空领域中,国际运价计算系统拥有着庞大客户群体,包括全球范围内的航空公司、代理人等,用户请求的格式类型呈现多样化的特征,基于此,本发明实施例中的解析引擎首先会对来自于统一接口平台(xml格式)、及来自主机eterm(原始字符串格式)等不同格式的用户请求进行识别,并根据其数据来源特征完成动态解析。
在用户请求解析完成后,解析引擎对解析的结果做合法性校验,对不合法的用户请求直接进行拦截并记录,以方便运维人员后期分析。同时,由于用户请求有时会缺失一些关键性数据如航班各个舱位的有效座位数等,解析引擎还会向三方平台发出请求以补全关键数据。
步骤二、分流特征向量构建:
解析引擎根据用户请求中的分流维度,将涉及到代理人(渠道)、出票航空公司(简称TC)、Office号、IATA号、PID、DepartmentCode等不同数据特征的信息从原用户请求中提取出来,并保存到用户请求的特征向量中,最后解析后的用户请求和特征向量传递给分流引擎,由分流引擎做规则树匹配。
步骤三、分流规则导入及存储:
导入模块首先接收用户在web页面设置的分流输入数据,然后将分流输入数据通过FTP协议上传至服务器,再由服务器推送到数据库集群中。
分流规则通过用户在Web界面中进行输入设定根据分流输入数据并生成,用户即可以单条设定,也可以设定多条组合以实现更复杂的分流策略,前文提到由于前端平台的差异性,用户请求分为xml格式和原始字符串格式(在这里分别定义为白屏请求和黑屏请求)。分流规则具体属性包括但不限于:服务类型(Commands)、目标业务组件(Targetsystem)、优先级、及其他分流维度。分流规则被生成之后进行发布,保存增改后的分流规则至本地存储中。
其中,由于分流规则在添加的过程中可能会出现和早期设置的规则重复或冲突的情况,因此通过分流规则优先级的设定解决分流规则冲突的矛盾,并且当两个冲突的分流规则具有相同的优先级时,会以规则的创建时间作为次优先级,时间越是靠近当前,次优先级就越高。
步骤四、分流策略动态构建:
分流规则被新导入、被修改/删除后,分流策略的编译模块定时根据分流规则数据的变化,提前基于多维度分流规则完成面向不同数据特征的分流策略预编译,并发送至策略匹配模块,以实现大量用户请求涌入时,分流策略的快速匹配。
当分流引擎检测到解析引擎发送过来的用户请求及分流数据的特征向量后,根据特征向量首先查询策略匹配模块中是否存在精确匹配本次的用户请求的分流规则。如存在,则提取分流规则并形成针对本次特征数据的分流方案;当不存在对应的分流规则时,触发分流策略的编译模块面向本次用户请求的数据特征,结合指定的系统标识生成新的分流规则并存储,经策略匹配模块重新匹配后,形成针对本次特征数据的分流方案。
步骤五、动态流量分发:
分流引擎中的消息打包模块将分流方案、形成解析后的用户请求及特征向量一并发送至格式化引擎。
当格式化引擎收到分流引擎传递过来的分流结果和解析请求之后,格式化引擎会根据目标系统的请求格式构造相应的请求报文,并交付给转发器处理,转发器根据目的系统配置,负责转发到后端不同的国际运价计算系统。
具体的,为了更好地理解本发明实施例的技术方案,本发明实施例将以黑屏请求的分流规则设置为例进行说明:
1.用户通过Web页面进行分流输入设置并生成分流规则
通过web页面新建分流规则分别设置【Commands】【Target System】【Channel】【PID】【Office】【IATA NO】【Ticketing Carrier】【Deparment Code】【Remarks】等维度信息,所生成的分流规则如表2中所示。
其中,【Commands】表示不同的黑屏指令类型例如国际运价计算指令FSI,汇率转换相关指令FSA等;
【Target System】表示用户请求匹配到该分流规则后的执行动作,即分发到哪个系统;
【Channel】表示渠道,以黑屏请求为例,有Y系统、Z系统之分,例如Y系统是ICS全称是Inventory Control System,即航空公司人员使用的航空公司系统,ICS主要功能是建立,控制,销售航班;Z系统是CRS全称是Computer Reservation System,即我们使用的代理人机票售票系统。CRS主要功能是为代理人提供航班可利用情况查询、航段销售、订座记录、机上座位预订等服务;
【PID】表示控制终端的ID标识号,如果需要同时设置多个,每个PID之间用反斜杠/分割;
【Office】表示部门代号,如果需要同时设置多个,每个PID之间用反斜杠/分割;
【Ticketing Carrier】表示出票航司TC,如果需要同时设置多个,每个TC之间用反斜杠/分割;
【Remarks】表示备注信息。
表2分流规则
需要说明的是,前文中表1中各维度的数据仅为举例说明,并不是真实数据,表1内容和规则树(图9)等示例仅仅为了说明本文的一部分的重点发明内容(如规则匹配树的构建及匹配的过程),表中的ABCD等各个维度的数据,仅仅是随机的字符串例如asdfasdfasfdasdf等,这与真实的代理人、出票航空公司、Office号等并没有任何关系,表2中的分流规则为真实维度数据。
2.分流规则数据导入到数据库
用户在网页上配置完并生成分流输入数据后,通过点击页面上的publish按钮,以将分流输入数据通过FTP协议导入到服务器,并由服务器同步推送到Redis数据库集群中。
3.分流引擎编译模块
编译模块检测Redis数据库中有待更新的分流输入数据,然后立即访问Redis数据库并提取最新的分流规则,然后进行预编译:首先根据分流规则中不同的系统标识进行分类,把具有相同目标系统标识的分流规则聚合为同一类,并进行规则匹配树的创建。然后把预编译的新的分流规则传递给策略匹配模块,当策略匹配模块收到用户请求及分流规则特征向量后,就可以进行快速匹配并把分流结果和原用户请求传递给格式化引擎。
3.1多维度分流规则预编译流程如下:
为提高多维度分流规则的灵活性、广适性,多维度之间可支持逻辑与、逻辑或的关系,且逻辑与的各个维度在前,逻辑或的维度排在末尾。在预构建的规则匹配树中,逻辑与的维度之间是父子关系;逻辑或的维度之间是兄弟关系且仅限于叶节点。同时各个维度的字符串本身还支持正则模式,在输入规则时,正则模式串被包裹在两个斜杠之间,例如/^A[1-9]+$/。如果分流规则条目过多的话,经过该预处理后,可在一定程度上提高规则匹配的速度,缓解分流系统的带宽瓶颈。
举例说明如下:
假如分流规则总共有六个维度分别用A-E表示,其中A、B、C与D之间是逻辑与的关系,末尾的D、E、F之间是逻辑或的关系,假设导入的多维度分流规则,如表1中所示。
首先,把所有的多维度分流规则按目标系统标识进行分类,例如把所有分流到X系统的规则归为同一组,然后用来构造目标系统X的规则匹配树。
其次,构造目标系统X的规则匹配树,在规则匹配树中,逻辑与的维度之间是父子关系;逻辑或的维度之间是兄弟关系。以表1中为例,构造过程表示如图9中的(1)-(4)中所示:
同时,构造目标系统Y的规则匹配树,在规则匹配树中,逻辑与的维度之间是父子的关系;逻辑或的维度之间是兄弟关系。以表1中为例,构造过程相似,但是每条规则在构造之前,先要进行冲突检测,即:每条规则先要在已构造完毕的X的规则匹配树中检测该路径是否已存在,如果存在,则说明该条规则与X系统的某条规则有冲突,例如表1中第9条分流规则。当冲突发生时,向上报告具体的冲突信息。
最后,利用特征向量进行规则匹配树匹配,匹配过程中带正则表达式的兄弟子节点之间,由于节点间可能存在包含关系例如表1中的第5和第6条分流规则中的C维度节点,回溯时需要执行遍历操作;而其他普通字符串的兄弟节点之间是互异的,回溯时直接返回到父节点即可。
4.黑屏请求报文到达本发明实施例中的分流系统
黑屏请求报文到达分流系统后,首先由解析引擎处理,解析引擎从原用户请求中解析出分流规则可能用到的相关字段特征数据,以燃油分层喷射FSI(Fuel StratifiedInjection)指令为例,如表3所示:
表3 FSI指令
其中,PID、office、iatano等字段在匹配时是逻辑或的关系,和其他字段之间是逻辑与的关系,分流引擎通过把请求格式类型和渠道信息(CHANEL)组合成为key值提取策略数组,假如策略数组中只有一条分流数匹配结果如表4中所示:
表4匹配结果
由此,通过匹配,除了office字段之外,其余字段都匹配,然而PID/OFFICE/IATANO/DEPCODE字段之间是逻辑或的关系,所以认为该黑屏请求匹配该分流规则,最终把该分流结果【target system=FareSky】和黑屏请求传递给格式化引擎。
5.格式化引擎对用户请求进行格式转换并分发到后端系统:
格式化引擎会根据目标系统的请求格式构造相应的请求报文,并交付给转发器处理,转发器根据目的系统配置,负责转发到后端不同的国际运价计算系统,即在本例中为FareSky系统。
可见,本发明实施例中能够监控用户的行为,对暴力的冗余的用户请求在请求解析过程中就进行流量限制或禁止,包括黑白名单多维度规则设置等,提升正常用户的使用体验;而且,本发明实施例中的多维度分流规则可以通过WEB页面线上批量导入或动态修改并可立即生效,以适应各种业务变更以及紧急的突发情况;同时,本发明实施例中对原始的用户请求作格式转换、请求补全、应用层协议转换等,以兼容新旧系统;另外,本发明实施例中通过对多维度分流规则进行预处理,以把多维度规则转化为树形结构。如果分流规则条目过多的话,经过该预处理后,可在一定程度上提高规则匹配的速度,缓解分流系统的带宽瓶颈,可见,本发明实施例中根据多维度规则(包括代理人(渠道),出票航空公司(简称TC),Office号,IATA号,PID、DepartmentCode以及不同类型的请求指令),进行用户请求动态分发,实现请求分流而保障服务的可靠性。
综上,本发明实施例通过设计一种基于Web页面动态配置分流规则的方案,并且分流规则主要覆盖到了代理人(渠道),出票航空公司(简称TC),Office号,IATA号,PID、DepartmentCode以及不同类型的请求指令,对于国际运价计算系统大规模系统升级,新旧系统兼容等应用发挥了不可替代的作用,同时,本发明实施例根据分流规则预编译成规则匹配树,有效地提高了动态分流系统的性能。可见,本发明实施例既优化了多种格式的用户运价请求流程,也为大规模系统升级的不可控性、开发周期长等提供了足够的安全性。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定,例如,分析模块还可以被描述为“统计分析模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
下面参考图10,其示出了适于用来实现本公开实施例的电子设备(例如图1中的服务器)100的结构示意图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备100可以包括处理装置(例如中央处理器、图形处理器等)101,其可以根据存储在只读存储器(ROM)102中的程序或者从存储装置106加载到随机访问存储器(RAM)103中的程序而执行各种适当的动作和处理。在RAM 103中,还存储有电子设备100操作所需的各种程序和数据。处理装置101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。
通常,以下装置可以连接至I/O接口105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置107;包括例如磁带、硬盘等的存储装置106;以及通信装置109。通信装置109可以允许电子设备100与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置109从网络上被下载和安装,或者从存储装置106被安装,或者从ROM 102被安装。在该计算机程序被处理装置101执行时,执行本公开实施例的方法中限定的上述功能。
本发明实施例还要求保护一种计算机存储介质,用于储存为上述电子设备所用的计算机软件指令,其包含用于执行上述方面所设计的程序。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得该电子设备:
获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
按照所述用户请求对应的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;其中,所述目标分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数;
获得所述目标分流规则中的目标系统标识对应的目标请求格式;
至少将所述用户请求转换成所述目标请求格式对应的请求报文;
将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
根据本公开的一个或多个实施例,图2所示实施例提供了一种数据处理方法,包括:
获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
按照所述用户请求对应的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;其中,所述目标分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数;
获得所述目标分流规则中的目标系统标识对应的目标请求格式;
至少将所述用户请求转换成所述目标请求格式对应的请求报文;
将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输。
根据本公开的一个或多个实施例,图3所示实施例提供了一种数据处理方法,还包括:
获得预设的至少一条分流输入数据,所述分流输入数据中至少包括分流传输的目标应用系统的输入标识和与所述输入标识相对应的在至少一项分流维度上的输入参数;
根据所述至少一条分流输入数据,生成至少一条分流规则,其中,所述分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数;所述系统标识为其所属分流规则对应的分流输入数据中的输入标识,所述分流参数为其所属分流规则对应的分流输入数据中属于同一所述分流维度上的输入参数。
根据本公开的一个或多个实施例,图4所示实施例公开了一种数据处理方法,还包括:
对所述至少一条分流规则按照其中的系统标识进行聚类,得到所述系统标识对应的数据组,所述数据组中包括至少一条所述系统标识对应的分流规则;
对所述数据组中的分流规则生成相应的规则匹配树,所述规则匹配树中包括根节点和所述根节点的子节点,所述根节点的子节点对应于所述分流规则中的分流参数;
其中,所述规则匹配树中属于同一层的节点对应的分流参数为同一分流维度,且属于同一层的节点对应的分流参数为逻辑或的逻辑关系,所述规则匹配树中相邻层的父节点和子节点各自对应的分流参数之间为逻辑与的逻辑关系;所述规则匹配树用于将所述特征向量中的特征数据与所述节点中的分流参数进行匹配,以确定与所述特征向量相匹配的目标规则匹配树,所述目标规则匹配树对应的分流规则为所述目标分流规则。
根据本公开的一个或多个实施例,本发明实施例公开了一种数据处理方法中,在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则,包括:
将所述特征向量中的特征数据与所述分流规则中的分流参数进行匹配,得到与所述特征向量相匹配的目标分流规则,所述目标分流规则中的所有所述分流参数与所述特征向量中属于同一所述分流维度的特征数据相一致。
根据本公开的一个或多个实施例,本发明实施例公开了一种数据处理方法中,如果在预设的至少一条分流规则中,没有获得所有所述分流参数与所述特征向量中属于同一所述分流维度的特征数据相一致的目标分流规则的情况下,还包括:
在所述至少一条分流规则中,获得优选分流规则,以作为目标分流规则,所述优选分流规则中存在所述分流参数与所述特征向量中属于同一分流维度的特征数据相一致,且所述优选分流规则中与所述特征向量中属于同一分流维度的特征数据相一致的分流参数的数量在所述至少一条分流规则中最多。
根据本公开的一个或多个实施例,本发明实施例公开了一种数据处理方法中,如果在预设的至少一条分流规则中,没有获得与所述特征向量相匹配的目标分流规则的情况下,还包括:
获得预设的指定系统标识及所述指定系统标识对应的指定请求格式;
将所述用户请求转换成所述指定请求格式对应的请求报文;
将所述指定请求格式对应的请求报文向所述指定系统标识对应的应用系统传输。
根据本公开的一个或多个实施例,本发明实施例公开了一种数据处理方法中,在获得终端传输的用户请求之后,还包括:
获得所述用户请求中缺失的请求数据;
根据所述请求数据,对所述用户请求中的请求参数进行补全。
根据本公开的一个或多个实施例,本发明实施例公开了一种数据处理方法中,在获得终端传输的用户请求之后,还包括:
对所述用户请求的来源特征进行解析,得到所述用户请求的请求来源信息;
在所述请求来源信息表征所述用户请求满足来源合法规则的情况下,执行所述步骤:按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量。
根据本公开的一个或多个实施例,本发明实施例公开了一种数据处理方法,还包括:
将所述用户请求对应的特征向量转换成所述目标请求格式对应的数据报文,以便于将所述数据报文与所述目标请求格式对应的请求报文一起向所述目标系统标识对应的应用系统传输。
根据本公开的一个或多个实施例,图6提供了一种数据处理装置,包括:
请求获得单元,用于获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
特征提取单元,用于按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
分流匹配单元,用于在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;
格式获得单元,用于获得所述目标分流规则中的目标系统标识对应的目标请求格式;
报文转换单元,用于至少将所述用户请求转换成所述目标请求格式对应的请求报文;
报文传输单元,用于将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输。
根据本公开的一个或多个实施例,在图6所提供的数据处理装置中,分流匹配单元603还用于:获得预设的至少一条分流输入数据,所述分流输入数据中至少包括分流传输的目标应用系统的输入标识和与所述输入标识相对应的在至少一项分流维度上的输入参数;
根据所述至少一条分流输入数据,生成至少一条分流规则,其中,所述分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数;所述系统标识为其所属分流规则对应的分流输入数据中的输入标识,所述分流参数为其所属分流规则对应的分流输入数据中属于同一所述分流维度上的输入参数。
根据本公开的一个或多个实施例,图6所提供的数据处理装置中,分流匹配单元603还用于:对所述至少一条分流规则按照其中的系统标识进行聚类,得到所述系统标识对应的数据组,所述数据组中包括至少一条所述系统标识对应的分流规则;
对所述数据组中的分流规则生成相应的规则匹配树,所述规则匹配树中包括根节点和所述根节点的子节点,所述根节点的子节点对应于所述分流规则中的分流参数;
其中,所述规则匹配树中属于同一层的节点对应的分流参数为同一分流维度,且属于同一层的节点对应的分流参数为逻辑或的逻辑关系,所述规则匹配树中相邻层的父节点和子节点各自对应的分流参数之间为逻辑与的逻辑关系;所述规则匹配树用于将所述特征向量中的特征数据与所述节点中的分流参数进行匹配,以确定与所述特征向量相匹配的目标规则匹配树,所述目标规则匹配树对应的分流规则为所述目标分流规则。
根据本公开的一个或多个实施例,图6所提供的数据处理装置中,分流匹配单元603具体用于:在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则,包括:
将所述特征向量中的特征数据与所述分流规则中的分流参数进行匹配,得到与所述特征向量相匹配的目标分流规则,所述目标分流规则中的所有所述分流参数与所述特征向量中属于同一所述分流维度的特征数据相一致。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (9)
1.一种数据处理方法,其特征在于,包括:
获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
按照所述用户请求对应的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;其中,所述目标分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数,所述系统标识为其所属分流规则对应的分流输入数据中的输入标识,所述分流输入参数为其所属分流规则对应的分流输入数据中属于同一分流维度上的输入数据;
获得所述目标分流规则中的目标系统标识对应的目标请求格式;
至少将所述用户请求转换成所述目标请求格式对应的请求报文;
将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输;
将所述用户请求对应的特征向量转换成所述目标请求格式对应的数据报文,以便于将所述数据报文与所述目标请求格式对应的请求报文一起向所述目标系统标识对应的应用系统传输。
2.根据权利要求1所述的方法,其特征在于,所述至少一条分流规则通过以下方式获得:
获得预设的至少一条分流输入数据,所述分流输入数据中至少包括分流传输的目标应用系统的输入标识和与所述输入标识相对应的在至少一项分流维度上的输入参数;
根据所述至少一条分流输入数据,生成至少一条分流规则,其中,所述分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数。
3.根据权利要求2所述的方法,其特征在于,还包括:
对所述至少一条分流规则按照其中的系统标识进行聚类,得到所述系统标识对应的数据组,所述数据组中包括至少一条所述系统标识对应的分流规则;
对所述数据组中的分流规则生成相应的规则匹配树,所述规则匹配树中包括根节点和所述根节点的子节点,所述根节点的子节点对应于所述分流规则中的分流参数;
其中,所述规则匹配树中属于同一层的节点对应的分流参数为同一分流维度,且属于同一层的节点对应的分流参数为逻辑或的逻辑关系,所述规则匹配树中相邻层的父节点和子节点各自对应的分流参数之间为逻辑与的逻辑关系;所述规则匹配树用于将所述特征向量中的特征数据与所述节点中的分流参数进行匹配,以确定与所述特征向量相匹配的目标规则匹配树,所述目标规则匹配树对应的分流规则为所述目标分流规则。
4.根据权利要求1或2所述的方法,在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则,包括:
将所述特征向量中的特征数据与所述分流规则中的分流参数进行匹配,得到与所述特征向量相匹配的目标分流规则,所述目标分流规则中的所有所述分流参数与所述特征向量中属于同一所述分流维度的特征数据相一致。
5.根据权利要求4所述的方法,其特征在于,如果在预设的至少一条分流规则中,没有获得所有所述分流参数与所述特征向量中属于同一所述分流维度的特征数据相一致的目标分流规则的情况下,所述方法还包括:
在所述至少一条分流规则中,获得优选分流规则,以作为目标分流规则,所述优选分流规则中存在所述分流参数与所述特征向量中属于同一分流维度的特征数据相一致,且所述优选分流规则中与所述特征向量中属于同一分流维度的特征数据相一致的分流参数的数量在所述至少一条分流规则中最多。
6.根据权利要求1或2所述的方法,其特征在于,如果在预设的至少一条分流规则中,没有获得与所述特征向量相匹配的目标分流规则的情况下,所述方法还包括:
获得预设的指定系统标识及所述指定系统标识对应的指定请求格式;
将所述用户请求转换成所述指定请求格式对应的请求报文;
将所述指定请求格式对应的请求报文向所述指定系统标识对应的应用系统传输。
7.根据权利要求1或2所述的方法,其特征在于,在获得终端传输的用户请求之后,还包括:
获得所述用户请求中缺失的请求数据;
根据所述请求数据,对所述用户请求中的请求参数进行补全。
8.根据权利要求1或2所述的方法,其特征在于,在获得终端传输的用户请求之后,还包括:
对所述用户请求的来源特征进行解析,得到所述用户请求的请求来源信息;
在所述请求来源信息表征所述用户请求满足来源合法规则的情况下,执行所述步骤:按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量。
9.一种数据处理装置,其特征在于,包括:
请求获得单元,用于获得终端传输的用户请求,所述用户请求中包括至少一项请求参数;
特征提取单元,用于按照所述用户请求中的至少一项分流维度,对所述用户请求进行特征提取,得到所述用户请求对应的特征向量,所述特征向量中包括在所述分流维度上的特征数据;
分流匹配单元,用于在预设的至少一条分流规则中,利用所述特征数据,获得与所述特征向量相匹配的目标分流规则;其中,所述目标分流规则中至少包括分流传输的目标应用系统的系统标识和与所述系统标识相对应的在至少一项分流维度上的分流参数,所述系统标识为其所属分流规则对应的分流输入数据中的输入标识,所述分流输入参数为其所属分流规则对应的分流输入数据中属于同一分流维度上的输入数据;
格式获得单元,用于获得所述目标分流规则中的目标系统标识对应的目标请求格式;
报文转换单元,用于至少将所述用户请求转换成所述目标请求格式对应的请求报文;将所述用户请求对应的特征向量转换成所述目标请求格式对应的数据报文;
报文传输单元,用于将所述目标请求格式对应的请求报文向所述目标系统标识对应的应用系统传输;将所述数据报文与所述目标请求格式对应的请求报文一起向所述目标系统标识对应的应用系统传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074576.8A CN111338812B (zh) | 2020-01-22 | 2020-01-22 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074576.8A CN111338812B (zh) | 2020-01-22 | 2020-01-22 | 数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338812A CN111338812A (zh) | 2020-06-26 |
CN111338812B true CN111338812B (zh) | 2023-07-21 |
Family
ID=71181423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010074576.8A Active CN111338812B (zh) | 2020-01-22 | 2020-01-22 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338812B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367164B (zh) * | 2020-10-14 | 2021-11-02 | 深圳追一科技有限公司 | 业务请求处理方法、装置、计算机设备和存储介质 |
CN112817988B (zh) * | 2021-01-06 | 2022-11-15 | 贵阳迅游网络科技有限公司 | 一种企业业务的同步加速方法 |
CN112732763A (zh) * | 2021-01-20 | 2021-04-30 | 北京千方科技股份有限公司 | 数据的聚合方法、装置、电子设备及介质 |
CN113407504B (zh) * | 2021-06-15 | 2023-05-23 | 中科曙光国际信息产业有限公司 | 一种数据处理方法、用户空间文件系统以及存储介质 |
CN113760993A (zh) * | 2021-08-18 | 2021-12-07 | 北京健康之家科技有限公司 | 业务数据查询方法、装置和电子设备 |
CN114143269A (zh) * | 2021-11-12 | 2022-03-04 | 上海途虎信息技术有限公司 | 一种http请求分流方法、装置、设备及介质 |
CN113918770B (zh) * | 2021-12-16 | 2022-03-25 | 上海冰鉴信息科技有限公司 | 字符串与时间字段的转换方法及装置 |
CN114629954B (zh) * | 2022-03-16 | 2023-11-17 | 上海哔哩哔哩科技有限公司 | 内容分发方法、系统、设备和存储介质 |
CN115638833B (zh) * | 2022-12-23 | 2023-03-31 | 保定网城软件股份有限公司 | 一种监控数据处理方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108288135A (zh) * | 2017-01-10 | 2018-07-17 | 北京京东尚科信息技术有限公司 | 系统兼容方法及装置、计算机可读存储介质及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098364B2 (en) * | 2013-07-09 | 2015-08-04 | Oracle International Corporation | Migration services for systems |
CN105162626B (zh) * | 2015-08-20 | 2018-07-06 | 西安工程大学 | 基于众核处理器的网络流量深度识别系统及识别方法 |
CN109002355B (zh) * | 2018-06-06 | 2022-04-05 | 创新先进技术有限公司 | 处理请求的分配方法、装置及设备 |
CN109815405B (zh) * | 2019-01-31 | 2020-04-17 | 北京三快在线科技有限公司 | 灰度分流方法与系统 |
-
2020
- 2020-01-22 CN CN202010074576.8A patent/CN111338812B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108288135A (zh) * | 2017-01-10 | 2018-07-17 | 北京京东尚科信息技术有限公司 | 系统兼容方法及装置、计算机可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111338812A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338812B (zh) | 数据处理方法及装置 | |
CN112333227B (zh) | 一种基于规则引擎的混合型协议的物联网平台 | |
US10387976B2 (en) | Federated system for centralized management and distribution of content media | |
CN110191063B (zh) | 服务请求的处理方法、装置、设备及存储介质 | |
CN109756559B (zh) | 面向嵌入式机载系统分布式数据分发服务的构建及使用方法 | |
CN112527528A (zh) | 基于消息队列的数据传输方法、装置及存储介质 | |
CN114650281B (zh) | 基于复杂网络的文件下载方法、装置、设备及存储介质 | |
CN108737527A (zh) | 一种适用于平台大规模用户访问方法及系统 | |
CN115396180A (zh) | 微服务网关统一认证方法、装置、微服务网关及存储介质 | |
CN112202744A (zh) | 一种多系统数据通信方法和装置 | |
AlShahwan et al. | Mobile cloud computing for providing complex mobile web services | |
CN118171297A (zh) | 一种接口权限控制方法、装置、存储介质及电子设备 | |
CN112131014A (zh) | 决策引擎系统及其业务处理方法 | |
CN114328587B (zh) | 一种ndc报文分布式解析系统架构集成方法及装置 | |
US9015292B2 (en) | Method, apparatus and computer program product for providing composite capability information for devices in distributed networks | |
CN114979144B (zh) | 云边通信方法、装置及电子设备 | |
CN115510116A (zh) | 数据目录构建方法、装置、介质及设备 | |
CN116800736A (zh) | 跨云数据处理方法、装置、公有云设备、介质及程序产品 | |
CN114676179A (zh) | 一种面向盾构场景的多源异构数据交互与融合方法及系统 | |
CN115796806A (zh) | 一种基于微服务的系统构建方法 | |
CN113691575B (zh) | 通信方法、装置及系统 | |
CN112187916B (zh) | 一种跨系统的数据同步方法与装置 | |
CN117272236B (zh) | 一种基于航班时序的多来源预达时间融合方法及系统 | |
CN111859145B (zh) | 信息的搜索方法及装置、电子设备、计算机存储介质 | |
CN112740635A (zh) | 报文解析的方法、数据发送端、数据接收端和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |