CN113032468A - 数据写入方法、装置和计算机可读存储介质 - Google Patents
数据写入方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113032468A CN113032468A CN201911251398.5A CN201911251398A CN113032468A CN 113032468 A CN113032468 A CN 113032468A CN 201911251398 A CN201911251398 A CN 201911251398A CN 113032468 A CN113032468 A CN 113032468A
- Authority
- CN
- China
- Prior art keywords
- data
- data operation
- operation information
- processing module
- jvm
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 127
- 238000012545 processing Methods 0.000 claims abstract description 101
- 244000035744 Hura crepitans Species 0.000 claims abstract description 67
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- LZDYZEGISBDSDP-UHFFFAOYSA-N 2-(1-ethylaziridin-1-ium-1-yl)ethanol Chemical compound OCC[N+]1(CC)CC1 LZDYZEGISBDSDP-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据写入方法、装置和计算机可读存储介质。其中,该数据写入方法包括:将JVM Sandbox模块挂载到业务处理模块上,JVM Sandbox模块能够拦截业务处理模块的数据;执行JVM Sandbox模块中的预设方法,其中,预设方法包括:拦截业务处理模块的数据写入层中的第一数据操作信息,将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列,以供数据处理模块从消息队列获取第二数据操作信息并执行与第二数据操作信息对应的数据操作。通过本发明,解决相关技术中将数据写入多个数据库中需要对已发布的代码进行修改导致的代码侵入性大的问题,降低了代码侵入性。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种数据写入方法、装置和计算机可读存储介质。
术语解释
Jvm:Java Virtual Machine的缩写,Java虚拟机,一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
AOP:Aspect Oriented Programming的缩写,面向切面编程,指的是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
JVM Sandbox:Alibaba开源的一种基于JVM的非侵入式运行期AOP解决方案。
Java-agent:JDK1.5之后引入的一个运行方法之前的***。
背景技术
随着信息技术的发展,数据成为很多企业的核心资产,特别是金融、互联网等企业,每个企业都存储着大量的数据,如果想利用数据产生价值,则必须有数据的交互、传递。
现有的技术方案中,利用修改原有代码或者原始AOP的方式在当前***进行多个地方的写入数据,对代码的侵入性就比较强,而且一旦代码需要修改,就需要对原***进行修改代码并发布,对业务会产生一定的影响。
发明人在研发过程中发现,经常会遇到将业务处理模块的一份数据写入多个数据库的情况。例如数据库的迁移工作,往往需要先进行双写数据,等稳定了再做数据库切换。
针对相关技术中将数据写入多个数据库中需要对已发布的代码进行修改导致的代码侵入性大的问题,目前尚未提出有效的解决方案。
发明内容
基于此,本申请提供一种数据写入方法、装置和计算机可读存储介质,用以解决相关技术中将数据写入多个数据库中需要对已发布的代码进行修改导致的代码侵入性大的问题。
第一方面,本申请提供一种数据写入方法,该方法包括:将JVM Sandbox模块挂载到业务处理模块上,所述JVM Sandbox模块能够拦截所述业务处理模块的数据;执行所述JVM Sandbox模块中的预设方法,其中,所述预设方法包括:拦截所述业务处理模块的数据写入层中的第一数据操作信息,将所述第一数据操作信息转换为预设格式的第二数据操作信息,以及将所述第二数据操作信息保存至消息队列,以供所述数据处理模块从所述消息队列获取所述第二数据操作信息并执行与所述第二数据操作信息对应的数据操作。
在一种可能的实现方式中,将JVM Sandbox模块挂载到业务处理模块上之前,所述方法包括:分析所述业务处理模块,并将所述业务处理模块的数据写入层中的数据操作方法作为拦截所述第一数据操作信息的切入点;根据所述切入点,生成所述预设方法;将所述预设方法写入JVM Sandbox容器中,得到所述JVM Sandbox模块。
在一种可能的实现方式中,所述预设格式包括:JSON格式。
在一种可能的实现方式中,将所述第二数据操作信息保存至消息队列包括:
根据所述第二数据操作信息生成第三数据操作信息和第四数据操作信息,其中,所述第三数据操作信息是用于表示将待操作数据写入缓存的数据操作信息,所述第四数据操作信息是用于表示将待操作数据写入数据库中的数据操作信息;
将所述第三数据操作信息和所述第四数据操作信息保存至所述消息队列。
在一种可能的实现方式中,所述数据处理模块执行与所述第二数据操作信息对应的数据操作包括:所述数据处理模块根据所述第二数据操作信息,确定待操作数据和与所述待操作数据对应的数据操作方法;所述数据处理模块根据与所述待操作数据对应的数据操作方法将所述待操作数据写入缓存和/或数据库。
在一种可能的实现方式中,所述数据操作方法包括以下至少之一:写数据操作方法、更新或修改数据操作方法、删除数据操作方法、读取数据操作方法。
在一种可能的实现方式中,所述数据处理模块执行与所述第二数据操作信息对应的数据操作包括:所述数据处理模块将所述第二数据操作信息转换为SQL语句,并将所述SQL语句通过数据库连接接口写入数据库。
在一种可能的实现方式中,所述JVM Sandbox模块启动所依赖的Java Agent是通过agentmain方法生成的。
第二方面,本申请提供一种数据写入装置,该装置包括:挂载模块,用于将JVMSandbox模块挂载到业务处理模块上,所述JVM Sandbox模块能够拦截所述业务处理模块的数据;执行模块,用于执行所述JVM Sandbox模块中的预设方法,其中,所述预设方法包括:拦截所述业务处理模块的数据写入层中的第一数据操作信息,将所述第一数据操作信息转换为预设格式的第二数据操作信息,以及将所述第二数据操作信息保存至消息队列,以供所述数据处理模块从所述消息队列获取所述第二数据操作信息并执行与所述第二数据操作信息对应的数据操作。
第三方面,本申请提供一种计算机可读存储介质,该存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据写入方法。
与相关技术相比,本申请提供的数据写入方法、装置和计算机可读存储介质,通过将JVM Sandbox模块挂载到业务处理模块上,JVM Sandbox模块能够拦截业务处理模块的数据;执行JVM Sandbox模块中的预设方法,其中,预设方法包括:拦截业务处理模块的数据写入层中的第一数据操作信息,将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列,以供数据处理模块从消息队列获取第二数据操作信息并执行与第二数据操作信息对应的数据操作的方式,解决了相关技术中将数据写入多个数据库中需要对已发布的代码进行修改导致的代码侵入性大的问题,降低了代码侵入性。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据写入方法的流程图;
图2是本申请实施例提供的一种数据写入装置的优选结构示意图;
图3是本申请实施例提供的一种数据写入方法的优选流程图;
图4是本申请实施例提供的一种数据写入装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请中的实例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实例,都属于本申请保护的范围。
本实施例所提供的方法实施例可以在JVM中执行。下面将以JVM为例,对本发明实施例的数据写入方法进行描述和说明。
在本实施例中提供了一种数据写入方法。如图1所示,是根据本申请实施例提供的一种数据写入的方法的流程图,该方法的流程包括如下步骤:
步骤S102,JVM将JVM Sandbox模块挂载到业务处理模块上,JVM Sandbox模块能够拦截业务处理模块的数据。
步骤S104,JVM执行JVM Sandbox模块中的预设方法,其中,预设方法包括:拦截业务处理模块的数据写入层中的第一数据操作信息,将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列,以供数据处理模块从消息队列获取第二数据操作信息并执行与第二数据操作信息对应的数据操作。
通过上述步骤,与相关技术相比,本实施例中JVM通过执行挂载到业务处理模块上的JVM Sandbox模块中的预设方法,进而拦截业务处理模块的数据写入层中的第一数据操作信息,将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列,以供数据处理模块从消息队列获取第二数据操作信息并执行与第二数据操作信息对应的数据操作,解决相关技术中将数据写入多个数据库中需要对已发布的代码进行修改导致的代码侵入性大的问题,降低了代码侵入性,也降低了***的耦合程度。
在步骤S104中,JVM将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列。
在一些实施例中,JVM Sandbox模块发送给数据处理模块的信息可以采用同步处理方法处理,也可以采用异步处理方法处理。优选地,在本实施例中,采用消息队列来异步处理JVM Sandbox模块发送给数据处理模块的第二数据操作信息:通过将第二数据操作信息保存到消息队列,使得数据处理模块可以从消息队列中逐一取出并处理每个数据操作信息,从而实现对数据操作信息的异步处理。
其中,消息队列是Microsoft的消息处理技术,它在任何安装Microsoft Windows的计算机组合中,为任何应用程序提供消息处理和消息队列功能,无论这些计算机是否在同一个网络上或者是否同时联机。
业务处理模块的代码是发布在线上服务器的,对代码修改和发布有一个繁琐的过程。而通过上述实施例,当需要在一段时间里进行数据迁移时,可以将JVM Sandbox模块挂载到业务处理模块上就能够实现对数据操作信息的拦截和处理,从而不再需要对位于线上服务器中的业务处理模块的代码进行修改,也免去了对业务处理模块的代码进行发布的环节,简化了数据迁移过程。
其中,JVM Sandbox是阿里巴巴开源的一种基于JVM的非入侵式运行期的AOP解决方案,其中,AOP(Aspect Oriented Programming的缩写)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是面向对象程序设计的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
在一个实施例中,JVM将JVM Sandbox模块挂载到业务处理模块上之前,上述的数据写入方法还包括:分析业务处理模块,并将业务处理模块的数据写入层中的数据操作方法作为拦截第一数据操作信息的切入点;根据切入点,生成预设方法;将预设方法写入JVMSandbox容器中,得到JVM Sandbox模块。
在本实施例中,JVM将JVM Sandbox模块挂载到业务处理模块上之前,通过分析业务处理模块得到切入点,进而根据切入点生成预设方法,再写入到JVM Sandbox模块容器中,得到JVM Sandbox模块的方式,其中,将得到JVM Sandbox模块挂载到业务处理模块上时,会对切入点的方法进行扩展,且在运行的时候完成对AOP的增强,从而实现将业务处理模块中的切入点方法全被JVM Sandbox模块拦截,为本申请实施例提供了一种预设方法的生成方式。从而实现JVM Sandbox模块可以根据不同的业务处理模块,生成不同的预设方法,进而使得JVM Sandbox模块可以挂载到不同的业务处理模块中,并对不同的业务处理模块中的数据操作信息进行拦截。
本发明实施例中的数据操作方法包括但不限于以下至少之一:写数据操作方法、更新或修改数据操作方法、删除数据操作方法、读取数据操作方法。其中,数据操作信息与数据操作方法相对应,且数据操作信息包括:待操作数据的信息,以及与该待操作数据对应的数据操作方法的信息。
在一个实施例中,预设格式包括:JSON格式。
在本实施例中,因为拦截的第一数据操作信息为代码执行的上下文信息,所以可以通过将第一数据操作信息的格式转换成JSON格式,进而有效的提升了网络传输效率,加快了数据操作信息的发送。
其中,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMA Script(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。进一步的,JSON由两种结构组成:一种是由多对名字/值组成的集合,在各种编程语言中,也被称为对象,纪录,结构,字典,哈希表,关联数组。另一种是包含多个值的顺序表,在大多数编程语言中,也被称为数组,容器,列表或序列。
在一个实施例中,JVM将第二数据操作信息保存至消息队列包括:根据第二数据操作信息生成第三数据操作信息和第四数据操作信息,其中,第三数据操作信息是用于表示将待操作数据写入缓存的数据操作信息,第四数据操作信息是用于表示将待操作数据写入数据库中的数据操作信息;将第三数据操作信息和第四数据操作信息保存至消息队列。
在本实施例中,JVM通过对JVM Sandbox模块将数据操作信息进行转换,从而将数据操作信息写入缓存和数据库中,实现了对数据操作信息的数据双写,即写入缓存和写入数据库。
在一个实施例中,数据处理模块执行与第二数据操作信息对应的数据操作包括:数据处理模块根据第二数据操作信息,确定待操作数据和与待操作数据对应的数据操作方法;数据处理模块根据与待操作数据对应的数据操作方法将待操作数据写入缓存和/或数据库。
在本实施例中,数据处理模块收到第二数据操作信息之后会将该第二数据操作信息保存,同时也会根据该第二数据操作信息确定待操作数据和该待操作数据对应的数据操作方法,进而再将该代操作数据对应的数据操作方法写入缓存和/或数据库,实现了对数据操作信息的写入。
在一个实施例中,数据处理模块执行与第二数据操作信息对应的数据操作包括:数据处理模块将第二数据操作信息转换为SQL语句,并将SQL语句通过数据库连接接口写入数据库。
在本实施例中,数据处理模块可以将第二数据操作信息转换成与目标数据库相对应的数据库语句,以实现将数据写入目标数据库。在本实施例中目标数据库优选为SQL数据库,为了将数据写入SQL数据库,可以将该第二数据操作信息转换成SQL语句,再通过数据库连接接口写入数据库。通过上述方式,提供了一种数据操作信息写入目标数据库的方法。
其中,SQL又称结构化查询语言,是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库***,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
其中,数据库连接接口包括:ODBC和JDBC。在本申请实施例中优选为JDBC作为SQL数据库连接接口,通过Java编写JDBC驱动程序及JDBC代码,可实现JDBC代码在所有Java平台上(从网络计算机到大型机)的自动安装、移植并保证安全性。
其中,JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
在一个实施例中,JVM Sandbox模块通过Java Agent中的agentmain方法启动。
其中,JVM Sandbox模块的启动依赖于Java Agent,而生成Java Agent有两种实现方式:一种是premain方法,但是这种方式实现的Java Agent只能在JVM启动的时候被加载;另一种是agentmain方法,这种方式实现的Java Agent可以在JVM启动之后被加载。
在本实施例中,优选采用agentmain方法来生成Java Agent。通过agentmain方法生成的Java Agent可以在业务处理模块启动之后被加载,因此JVM Sandbox模块也可以在业务处理模块启动之后随时挂载或者卸除,从而实现JVM Sandbox模块的热插拔。
下面结合附图和优选的实施例来对本申请进行描述和说明。
如图2所示,为本发明实施例提供的一种数据写入装置的优选结构示意图,该装置包括:
业务处理模块202,用于处理业务的过程中生成数据操作信息。
JVM Sandbox模块204,用于拦截业务处理模块的数据写入层中的数据操作信息,并将数据操作信息发送给消息队列206。
消息队列206,用于接收JVM Sandbox模块204发送的数据操作信息。
数据处理模块208,用于从消息队列中逐一取出数据操作信息,并执行与数据操作信息对应的数据操作。
如图3所示,为本发明实施例提供的一种数据写入方法的优选流程图,该流程包括如下步骤:
步骤302:JVM分析需要切入的代码方法,一般可将数据库的操作方法作为切入点进行拦截,在本方案中,是将数据写入层作为切入点,编写JVM Sandbox模块,在JVMSandbox模块中编码对业务处理模块数据进行拦截。
步骤304:JVM将编写好的JVM Sandbox模块挂载到业务处理模块上,JVM Sandbox模块会对切入点的方法进行扩展,在运行期完成AOP增强,业务处理模块切入点方法的执行都会被JVM Sandbox模块拦截。
步骤306:JVM将JVM Sandbox模块拦截到的数据进行转换,此时拦截到的数据为代码执行的上下文信息,可以将次数据转换成具体的数据库格式的数据,如转成json格式、key对应数据字段value对应字段值,然后将次json数据保存入消息队列。
步骤308:数据处理模块消费消息队列数据,处理数据,此时获取到的数据为json格式数据,该数据可以写入缓存或者数据库,如果写入数据库需要转换成数据库的SQL语句执行,将SQL语句通过JDBC写入数据库。
在本实施例中还提供了一种数据写入装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语模块可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例提供的一种数据写入装置的结构框图,如图4所示,该装置包括:
挂载模块410,耦合至执行模块420,用于将JVM Sandbox模块挂载到业务处理模块上,JVM Sandbox模块能够拦截业务处理模块的数据;
执行模块420,用于执行JVM Sandbox模块中的预设方法,其中,预设方法包括:拦截业务处理模块的数据写入层中的第一数据操作信息,将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列,以供数据处理模块从消息队列获取第二数据操作信息并执行与第二数据操作信息对应的数据操作。
与相关技术相比,本发明实施例所提供的一种数据写入装置,通过挂载模块410,用于将JVM Sandbox模块挂载到业务处理模块上,JVM Sandbox模块能够拦截业务处理模块的数据;再通过执行模块420,用于执行JVM Sandbox模块中的预设方法,其中,预设方法包括:拦截业务处理模块的数据写入层中的第一数据操作信息,将第一数据操作信息转换为预设格式的第二数据操作信息,以及将第二数据操作信息保存至消息队列,以供数据处理模块从消息队列获取第二数据操作信息并执行与第二数据操作信息对应的数据操作的方式,解决了相关技术中将数据写入多个数据库中需要对已发布的代码进行修改导致的代码侵入性大的问题,降低了代码侵入性。
在一个实施例中,该装置包括:分析模块,耦合至生成模块,用于分析业务处理模块,并将业务处理模块的数据写入层中的数据操作方法作为拦截第一数据操作信息的切入点;生成模块,耦合至写入模块,用于根据切入点,生成预设方法;写入模块,耦合至挂载模块410,用于将预设方法写入JVM Sandbox容器中,得到JVM Sandbox模块。
在一个实施例中,预设格式包括:JSON格式。
在一个实施例中,执行模块420,还用于根据第二数据操作信息生成第三数据操作信息和第四数据操作信息,其中,第三数据操作信息是用于表示将待操作数据写入缓存的数据操作信息,第四数据操作信息是用于表示将待操作数据写入数据库中的数据操作信息;将第三数据操作信息和第四数据操作信息发送给数据处理模块。
在一个实施例中,数据处理模块执行与第二数据操作信息对应的数据操作包括:数据处理模块根据第二数据操作信息,确定待操作数据和与待操作数据对应的数据操作方法;数据处理模块根据与待操作数据对应的数据操作方法将待操作数据写入缓存和/或数据库。
在一个实施例中,数据操作方法包括以下至少之一:写数据操作方法、更新或修改数据操作方法、删除数据操作方法、读取数据操作方法。
在一个实施例中,数据处理模块还用于将第二数据操作信息转换为SQL语句,并将SQL语句通过数据库连接接口写入数据库。
在一个实施例中,JVM Sandbox模块启动所依赖的Java Agent是通过agentmain方法生成的。
另外,结合上述实施例中的一种数据写入方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据写入方法。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据写入方法,其特征在于,所述方法包括:
将JVM Sandbox模块挂载到业务处理模块上,所述JVM Sandbox模块能够拦截所述业务处理模块的数据;
执行所述JVM Sandbox模块中的预设方法,其中,所述预设方法包括:拦截所述业务处理模块的数据写入层中的第一数据操作信息,将所述第一数据操作信息转换为预设格式的第二数据操作信息,以及将所述第二数据操作信息保存至消息队列,以供所述数据处理模块从所述消息队列获取所述第二数据操作信息并执行与所述第二数据操作信息对应的数据操作。
2.根据权利要求1所述的一种数据写入方法,其特征在于,将JVM Sandbox模块挂载到业务处理模块上之前,所述方法包括:
分析所述业务处理模块,并将所述业务处理模块的数据写入层中的数据操作方法作为拦截所述第一数据操作信息的切入点;
根据所述切入点,生成所述预设方法;
将所述预设方法写入JVM Sandbox容器中,得到所述JVM Sandbox模块。
3.根据权利要求1所述的一种数据写入方法,其特征在于,所述预设格式包括:JSON格式。
4.根据权利要求1所述的一种数据写入方法,其特征在于,将所述第二数据操作信息保存至消息队列包括:
根据所述第二数据操作信息生成第三数据操作信息和第四数据操作信息,其中,所述第三数据操作信息是用于表示将待操作数据写入缓存的数据操作信息,所述第四数据操作信息是用于表示将待操作数据写入数据库中的数据操作信息;
将所述第三数据操作信息和所述第四数据操作信息保存至所述消息队列。
5.根据权利要求1所述的一种数据写入方法,其特征在于,所述数据处理模块执行与所述第二数据操作信息对应的数据操作包括:
所述数据处理模块根据所述第二数据操作信息,确定待操作数据和与所述待操作数据对应的数据操作方法;
所述数据处理模块根据与所述待操作数据对应的数据操作方法将所述待操作数据写入缓存和/或数据库。
6.根据权利要求2或5所述的一种数据写入方法,其特征在于,所述数据操作方法包括以下至少之一:写数据操作方法、更新或修改数据操作方法、删除数据操作方法、读取数据操作方法。
7.根据权利要求1所述的一种数据写入方法,其特征在于,所述数据处理模块执行与所述第二数据操作信息对应的数据操作包括:
所述数据处理模块将所述第二数据操作信息转换为SQL语句,并将所述SQL语句通过数据库连接接口写入数据库。
8.根据权利要求1至5、7中任一项所述的一种数据写入方法,其特征在于,所述JVMSandbox模块启动所依赖的Java Agent是通过agentmain方法生成的。
9.一种数据写入装置,其特征在于,所述装置包括:
挂载模块,用于将JVM Sandbox模块挂载到业务处理模块上,所述JVM Sandbox模块能够拦截所述业务处理模块的数据;
执行模块,用于执行所述JVM Sandbox模块中的预设方法,其中,所述预设方法包括:拦截所述业务处理模块的数据写入层中的第一数据操作信息,将所述第一数据操作信息转换为预设格式的第二数据操作信息,以及将所述第二数据操作信息保存至消息队列,以供所述数据处理模块从所述消息队列获取所述第二数据操作信息并执行与所述第二数据操作信息对应的数据操作。
10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据写入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251398.5A CN113032468A (zh) | 2019-12-09 | 2019-12-09 | 数据写入方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911251398.5A CN113032468A (zh) | 2019-12-09 | 2019-12-09 | 数据写入方法、装置和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113032468A true CN113032468A (zh) | 2021-06-25 |
Family
ID=76451903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911251398.5A Pending CN113032468A (zh) | 2019-12-09 | 2019-12-09 | 数据写入方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032468A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409908A (zh) * | 2021-06-28 | 2021-09-17 | 浙江太美医疗科技股份有限公司 | 临床医疗数据的迁移方法、装置及计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982130A (zh) * | 2012-11-16 | 2013-03-20 | 深圳市融创天下科技股份有限公司 | 一种nosql与rdbms的数据库同步方法和*** |
CN103559118A (zh) * | 2013-10-12 | 2014-02-05 | 福建亿榕信息技术有限公司 | 一种基于aop与注解信息***的安全审计方法 |
WO2015010627A1 (en) * | 2013-07-24 | 2015-01-29 | Tencent Technology (Shenzhen) Company Limited | A management method, system, and computer-readable storage medium for internet connection of applications |
CN106487596A (zh) * | 2016-10-26 | 2017-03-08 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN109766330A (zh) * | 2018-12-29 | 2019-05-17 | 北京三快在线科技有限公司 | 数据分片方法、装置、电子设备及存储介质 |
-
2019
- 2019-12-09 CN CN201911251398.5A patent/CN113032468A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982130A (zh) * | 2012-11-16 | 2013-03-20 | 深圳市融创天下科技股份有限公司 | 一种nosql与rdbms的数据库同步方法和*** |
WO2015010627A1 (en) * | 2013-07-24 | 2015-01-29 | Tencent Technology (Shenzhen) Company Limited | A management method, system, and computer-readable storage medium for internet connection of applications |
CN103559118A (zh) * | 2013-10-12 | 2014-02-05 | 福建亿榕信息技术有限公司 | 一种基于aop与注解信息***的安全审计方法 |
CN106487596A (zh) * | 2016-10-26 | 2017-03-08 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN109766330A (zh) * | 2018-12-29 | 2019-05-17 | 北京三快在线科技有限公司 | 数据分片方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
杨欢: "面向物联网云服务的高效缓存***设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113409908A (zh) * | 2021-06-28 | 2021-09-17 | 浙江太美医疗科技股份有限公司 | 临床医疗数据的迁移方法、装置及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970277B2 (en) | System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform | |
US5778228A (en) | Method and system for transferring remote procedure calls and responses over a network | |
US9141510B2 (en) | Memory allocation tracking | |
CN107038222B (zh) | 数据库缓存实现方法及其*** | |
US20030018950A1 (en) | Dynamic redeploying environment for the rapid iterative development of software applications | |
US20070016893A1 (en) | Tracking resource usage by applications | |
EP0733972A2 (en) | Method and apparatus for managing relationships among objects in a distributed object environment | |
US11556348B2 (en) | Bootstrapping profile-guided compilation and verification | |
US10379914B2 (en) | System and method for achieving specific behaviors by intercepting file access calls in a mainframe rehosting platform | |
US20070198705A1 (en) | System and method for integrating resources in a network | |
CN111488143A (zh) | 一种基于Springboot2代码自动生成装置和方法 | |
CN111949693A (zh) | 一种数据处理装置、数据处理方法、存储介质及电子设备 | |
US7774405B2 (en) | Coordination of set enumeration information between independent agents | |
US20210157924A1 (en) | Coverage of web appliction analysis | |
US20060259540A1 (en) | Type server caching the proxy/stub generation | |
US10331897B2 (en) | System and method for protecting plain text scripting language programs in a mainframe rehosting platform | |
US10891214B2 (en) | Transferring a debug configuration amongst carrier threads for debugging a carried thread | |
EP1949228B1 (en) | Asynchronous just-in-time compilation | |
KR102443171B1 (ko) | 이기종 컴퓨팅 환경에서 데이터 타입 변환을 지원하기 위한 시스템 및 방법 | |
US10534640B2 (en) | System and method for providing a native job control language execution engine in a rehosting platform | |
CN113032468A (zh) | 数据写入方法、装置和计算机可读存储介质 | |
US11106564B2 (en) | Deframeworking for static program analysis | |
CN112487097A (zh) | 一种分布式领域数据同步的方法、***及设备 | |
CN115934537A (zh) | 接口测试工具生成方法、装置、设备、介质及产品 | |
CN112363804B (zh) | 区块链jvm应用方法、设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210625 |