技术领域
[0001] 本申请涉及计算机技术领域,尤其涉及一种处理实时数据传输的方法及相关设备。
相关背景技术
[0002] 缓存,是互联网中常常使用到的一种架构方式,主要作用是减少了数据库读的压力,缓存的开发比较容易,大部分的读操作都可以先去缓存,找不到的再渗透到数据库。但在互联网的应用场景中,常常数据量大、并发量高、高可用要求高、一致性要求高,缓存就不能处理了,因为如果保障高可用,缓存一旦挂了,所有的流量都同时聚集到了数据库上,那么数据库是肯定会挂掉的。
[0003] 既要保证高可用,又要防止数据丢失,是当下数据库技术应用中急需解决的问题。
具体实施方式
[0036] 为了更好的理解本说明书实施例提供的技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
[0037] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“两个以上”包括两个或大于两个的情况。
[0038] 旅馆业数据上传是金盾工程的一部分,以前的后台系统,经常出问题,示例性的以四川全省为例子,大概有5万户酒店用户,数据传上来,数据量非常大,高峰期一天上百万条数据,一,原来的后台,接收不了这么大的数据并发,后台死机,一死机,数据就要丢失;按照相关部门的要求,数据需要“实时上传”到相关部门的内网里去,后台没有办法承担这个,丢数据;
[0039] 本申请实施例的第一方面,图1提供一种处理实时数据传输的管理方法,图1为本申请实施例提供的示意性流程图。如图1所示,本申请实施例一种处理实时数据传输的管理方法,包括:
[0040] S101:用于确定数据开始上传运行,识别所述录入数据的注册信息是否属于网关端的转出信息;
[0041] 示例性的,所有进入相关管理部门内网的信息,都必须要经过相同格式处理及信息内容格式的比照,如果接收的信息格式不对而内容对了,或者内容对了而格式不对,都会影响整个数据传输的过程,所以需要先识别信息;
[0042] S102:在所述注册信息属于所述网关端的转出信息的情况下,判断所述注册信息与所述识别端的存储环境是否匹配;
[0043] 示例性的,所有进入相关管理部门内网的信息,都必须要经过相同格式处理及信息内容格式的比照,如果接收的信息格式不对而内容对了,或者内容对了而格式不对,都会影响整个数据传输的过程,所以需要先识别信息;
[0044] S103,用于在所述注册信息与所述存储环境相匹配的情况下,将所述注册信息录入到中间件;
[0045] 示例性的,是数据进入“消息中间件”,然后再存到数据库,数据库用到的是oracle集群,有一个程序是把数据取出来,生成一个XML的文件,打包给某相关部门的互联网,数据库本身是有瓶颈的,所以加了一个“消息中间件”,数据要去写,读取,往里面放,数据量太大,就需要设计了一个数据库读写分离的集群;
[0046] 在互联网的应用场景中,常常数据量大、并发量高、高可用要求高、一致性要求高,使用“读写分离”,需要将数据库连接池进行区分,哪些是读连接池,哪个是写连接池;
[0047] 为了保证高可用,读连接池要能够实现故障自动转移;
[0048] 主从的一致性问题需要考虑,读写分离是通过多个读库,分摊了数据库读的压力,而存储则是通过缓存的使用,减少了数据库读的压力;
[0049] 确定所述中间件的输出端识别数据库输入端的录入请求;
[0050] 在所述录入请求符合所述输出端输出要求的情况下,将所述注册信息输出到所述数据库中;
[0051] 示例性的,本技术所指的“消息中间件”,主要是Rocketmq,Rocketmq相比于Rabbitmq、kafka,主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题;解决不同重要程度、不同能力级别系统之间依赖导致一死全死的问题;当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统,线上有些链路不好压测,可以通过堆积一定量消息再放开来压测;
[0052] S104,用于基于所述数据库的格式生成要求,转化所述注册信息格式,得到最终输出信息;
[0053] 示例性的,把数据取出来,生成一个XML的文件,打包给管理部门内网;
[0054] S105,判断所述最终输出信息是否被识别和录入;
[0055] 示例性的,如果管理部门的内网没有识别和录入,说明内网的网闸出现了问题;
[0056] S106未被识别和录入的信息,将存储到所述中间件。
[0057] 本申请实施例提供的处理实时数据传输的方法,利用确定数据开始上传运行,识别所述录入数据的注册信息是否属于网关端的转出信息;在所述注册信息属于所述网关端的转出信息的情况下,判断所述注册信息与所述识别端的存储环境是否匹配;在所述注册信息与所述存储环境相匹配的情况下,将所述注册信息录入到中间件;确定所述中间件的输出端识别数据库输入端的录入请求;
[0058] 在所述录入请求符合所述输出端输出要求的情况下,将所述注册信息输出到所述数据库中;基于所述数据库的格式生成要求,转化所述注册信息格式,得到最终输出信息;判断所述最终输出信息是否被识别和录入;未被识别和录入的所述最终输出信息,将存储到所述中间件的方法,解决了大批量数据上传的问题,及数据并发过大,后台死机丢数据的问题。
[0059] 在一些实施方式中,所述判断所述注册信息与所述识别端的存储环境是否匹配,包括判断网关端的运行是否基于负载均衡。可选的,确定所述中间件的运行基于负载均衡;
[0060] 确定所述中间件的输出端识别数据库端的录入请求,包括确定所述数据库输入端是否基于负载均衡;
[0061] 判断所述最终输出信息是否被识别和录入,包括判断最终输出信息的识别和录入是否基于负载均衡;
[0062] 示例性的,由于本技术是在微服务架构下运行,实现了基于DNS的负载均衡,由于在DNS服务器中,可以为多个不同的地址配置相同的名字,最终查询这个名字的客户机将在解析这个名字时得到其中一个地址,所以这种代理方式是通过DNS服务中的随机名字解析域名和IP来实现负载均衡,故而在本技术中,首个所述协议转换点与其他所述协议转换点构成一个所述数据传输阶梯或多个所述数据传输阶梯,也就是同一条数据,多点布置,多点上传,一个单点出现问题,不会影响其他单点,不影响前端数据的上传;
[0063] 提供一种处理实时数据传输的管理系统,包括:
[0064] 确定模块,用于确定数据开始上传运行,识别所述录入数据的注册信息是否属于网关端的转出信息;
[0065] 适配识别模块,用于在所述注册信息属于所述网关端的转出信息的情况下,判断所述注册信息与所述识别端的存储环境是否匹配;
[0066] 录入模块,用于在所述注册信息与所述存储环境相匹配的情况下,将所述注册信息录入到中间件;
[0067] 确定所述中间件的输出端识别数据库输入端的录入请求;
[0068] 在所述录入请求符合所述输出端输出要求的情况下,将所述注册信息输出到所述数据库中;
[0069] 转换模块,用于基于所述数据库的格式生成要求,转化所述注册信息格式,得到最终输出信息;
[0070] 存储模块,判断所述最终输出信息是否被识别和录入;
[0071] 未被识别和录入的所述最终输出信息,将存储到所述中间件。
[0072] 参考图3,本申请实施例的第三方面,提供一种电子设备,包括:
[0073] 存储器,所述存储器中存储有计算机程序;
[0074] 处理器,所述处理器用于执行所述计算机程序时实现如第一方面所述的处理实时数据传输方法。
[0075] 参考图4,本申请实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的处理实时数据传输方法。
[0076] 本申请实施例提供的处理实时数据传输的方法,利用确定数据开始上传运行,识别所述录入数据的注册信息是否属于网关端的转出信息;在所述注册信息属于所述网关端的转出信息的情况下,判断所述注册信息与所述识别端的存储环境是否匹配;在所述注册信息与所述存储环境相匹配的情况下,将所述注册信息录入到中间件;确定所述中间件的输出端识别数据库输入端的录入请求;
[0077] 在所述录入请求符合所述输出端输出要求的情况下,将所述注册信息输出到所述数据库中;基于所述数据库的格式生成要求,转化所述注册信息格式,得到最终输出信息;判断所述最终输出信息是否被识别和录入;未被识别和录入的所述最终输出信息,将存储到所述中间件的方法,解决了大批量数据上传的问题,及数据并发过大,后台死机丢数据的问题。
[0078] 需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0079] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可读程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0080] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0081] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0082] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0083] 本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行行程管理方法的流程。
[0084] 计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
[0085] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0086] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0087] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0088] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0089] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0090] 以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
[0091] 尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
[0092] 显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。