本发明基于bmt的内存数据交换控制方法和系统,属于计算机软件工程领域。
背景技术:
1、随着计算机技术的飞速发展,内存数据交换在计算机系统中的作用越来越重要。传统的内存数据交换控制方法和系统通常采用dma(direct memory access)技术,但dma技术在数据传输过程中无法避免cpu的介入,这在一定程序上影响了数据传输的效率。因此,如何提高内存数据交换的效率已成为当前亟待解决的问题。
技术实现思路
1、本发明提供了基于bmt的内存数据交换控制方法和系统,用以解决上述现有技术中的问题,所采取的技术方案如下:
2、基于bmt的内存数据交换控制方法,所述基于bmt的内存数据交换控制方法包括:
3、在内存中建立bmt(buffer mapping tooling)模块;其中,所述bmt模块可以采用哈希表或其他数据结构实现,并根据需要进行动态调整;
4、通过bmt模块对内存中的共享内存区域中的数据通过内存映射的方式共享至bmt模块;
5、实时监测每个bmt模块的内容数据共享运行参数,并通过所述bmt模块的内容数据共享运行参数判断是否出现共享运行异常。
6、进一步地,在内存中建立bmt(buffer mapping tooling)模块,包括:
7、提取内存数据交换需求;
8、根据所述内存数据交换需求获取数据模型需求信息,其中,所述数据模型需求信息包括数据结构、字段和关系;
9、根据所述数据模型需求信息在所述内存中建立多个bmt模块;
10、针对每个bmt模块构建数据交换接口,并定义数据交换过程中的数据格式和协议。
11、进一步地,通过bmt模块对内存中的共享内存区域中的数据通过内存映射的方式共享至bmt模块,包括:
12、创建共享内存区域;
13、在所述共享内存区域与所述bmt模块之间建立多线程;
14、通过多线程将所述共享内存区域的目标文件映射至bmt模块。
15、进一步地,在所述共享内存区域与所述bmt模块之间建立多线程,包括:
16、定义每个线程对应的线程函数,其中,所述线程函数是指将负责处理从共享内存区域读取数据并将其传递给bmt模块的逻辑;
17、根据线程函数的需求,设置线程参数,其中,所述线程参数包括指向共享内存区域的指针、数据的索引或标识符以及bmt模块的接口参数信息;
18、将所述线程参数进行封装,形成包含所述线程参的结构体;
19、将所述结构体传递至线程函数;
20、利用操作系统自行提供的api创建线程,其中,所述api包括posix shm_open、mmap等或windows的createfilemapping。
21、进一步地,实时监测每个bmt模块的内容数据共享运行参数,并通过所述bmt模块的内容数据共享运行参数判断是否出现共享运行异常,包括:
22、实时监测每个bmt模块的内容数据共享运行参数,其中,所述内容数据共享运行参数包括数据传输速率、数据共享完整性、数据延迟信息、队列深度信息和数据共享错误率;
23、利用所述数据传输速率和数据共享完整性获取第一数据共享参量;其中,所述第一数据共享参量通过如下公式获取:
24、
25、其中,q01表示第一数据共享参量;n表示个bmt模块的内容数据共享运行所经历的单位时间的个数,并且,单位时间为1s;vi表示第i个单位时间对应的数据传输速率;v0表示完成内存数据共享运行不出现延迟的最低数据传输速率;f01表示第一共享参量系数;其中,所述第一共享参量系数通过如下公式获取:
26、
27、其中,pi表示第i个单位时间中完成内容数据共享的数据缺失率;exp表示以e为底的指数运算函数符号;
28、利用所述数据延迟信息和队列深度信息获取第二数据共享参量;其中,所述第二数据共享参量通过如下公式获取:
29、
30、其中,q02表示第二数据共享参量;k表示bmt模块的内容数据共享运行过程中完成共享的文件数量;ti表示第i个文件完成数据共享所用时长;t0i表示第i个文件完成数据共享所需的理论时长;f02表示第二共享参量系数;其中,所述第二共享参量系数通过如下公式获取:
31、
32、其中,m表示文件完成数据共享出现延时的文件数量;r表示文件完成数据共享没有出现延时的文件数量;cm表示队列深度信息对应的处理文件数据包的队列中允许容纳的最大数据包数量;c01i表示文件完成数据共享出现延时的文件中的第i个文件完成数据共享的数据量;c02i表示文件完成数据共享没有出现延时的文件中的第i个文件完成数据共享的数据量;
33、利用所述第一数据共享参量、第二数据共享参量和数据共享错误率获取内容数据共享质量评价参数;其中,所述内容数据共享质量评价参数通过如下公式获取:
34、
35、其中,q表示内容数据共享质量评价参数;pci表示第i个单位时间对应的数据共享错误率;
36、当所述内容数据共享质量评价参数低于预设的参数阈值时,则判定数据共享运行异常,并进行异常报警。
37、基于bmt的内存数据交换控制系统,所述基于bmt的内存数据交换控制系统包括:
38、bmt模块建立模块,用于在内存中建立bmt(buffer mapping tooling)模块;其中,所述bmt模块可以采用哈希表或其他数据结构实现,并根据需要进行动态调整;
39、数据共享模块,用于通过bmt模块对内存中的共享内存区域中的数据通过内存映射的方式共享至bmt模块;
40、实时监测模块,用于实时监测每个bmt模块的内容数据共享运行参数,并通过所述bmt模块的内容数据共享运行参数判断是否出现共享运行异常。
41、进一步地,所述bmt模块建立模块包括:
42、需求信息提取模块,用于提取内存数据交换需求;
43、数据模型需求信息获取模块,用于根据所述内存数据交换需求获取数据模型需求信息,其中,所述数据模型需求信息包括数据结构、字段和关系;
44、bmt模块建立执行模块,用于根据所述数据模型需求信息在所述内存中建立多个bmt模块;
45、数据交换接口构建模块,用于针对每个bmt模块构建数据交换接口,并定义数据交换过程中的数据格式和协议。
46、进一步地,所述数据共享模块包括:
47、区域创建模块,用于创建共享内存区域;
48、多线程建立模块,用于在所述共享内存区域与所述bmt模块之间建立多线程;
49、目标文件映射模块,用于通过多线程将所述共享内存区域的目标文件映射至bmt模块。
50、进一步地,所述多线程建立模块包括:
51、线程函数定义模块,用于定义每个线程对应的线程函数,其中,所述线程函数是指将负责处理从共享内存区域读取数据并将其传递给bmt模块的逻辑;
52、线程参数设置模块,用于根据线程函数的需求,设置线程参数,其中,所述线程参数包括指向共享内存区域的指针、数据的索引或标识符以及bmt模块的接口参数信息;
53、结构体获取模块,用于将所述线程参数进行封装,形成包含所述线程参的结构体;
54、信息传递模块,用于将所述结构体传递至线程函数;
55、api创建线程模块,用于利用操作系统自行提供的api创建线程,其中,所述api包括posix shm_open、mmap等或windows的createfilemapping。
56、进一步地,所述实时监测模块包括:
57、监测执行模块,用于实时监测每个bmt模块的内容数据共享运行参数,其中,所述内容数据共享运行参数包括数据传输速率、数据共享完整性、数据延迟信息、队列深度信息和数据共享错误率;
58、第一数据共享参量获取模块,用于利用所述数据传输速率和数据共享完整性获取第一数据共享参量;其中,所述第一数据共享参量通过如下公式获取:
59、
60、其中,q01表示第一数据共享参量;n表示个bmt模块的内容数据共享运行所经历的单位时间的个数,并且,单位时间为1s;vi表示第i个单位时间对应的数据传输速率;v0表示完成内存数据共享运行不出现延迟的最低数据传输速率;f01表示第一共享参量系数;其中,所述第一共享参量系数通过如下公式获取:
61、
62、其中,pi表示第i个单位时间中完成内容数据共享的数据缺失率;exp表示以e为底的指数运算函数符号;
63、第二数据共享参量获取模块,用于利用所述数据延迟信息和队列深度信息获取第二数据共享参量;其中,所述第二数据共享参量通过如下公式获取:
64、
65、其中,q02表示第二数据共享参量;k表示bmt模块的内容数据共享运行过程中完成共享的文件数量;ti表示第i个文件完成数据共享所用时长;t0i表示第i个文件完成数据共享所需的理论时长;f02表示第二共享参量系数;其中,所述第二共享参量系数通过如下公式获取:
66、
67、其中,m表示文件完成数据共享出现延时的文件数量;r表示文件完成数据共享没有出现延时的文件数量;cm表示队列深度信息对应的处理文件数据包的队列中允许容纳的最大数据包数量;c01i表示文件完成数据共享出现延时的文件中的第i个文件完成数据共享的数据量;c02i表示文件完成数据共享没有出现延时的文件中的第i个文件完成数据共享的数据量;
68、内容数据共享质量评价参数获取模块,用于利用所述第一数据共享参量、第二数据共享参量和数据共享错误率获取内容数据共享质量评价参数;其中,所述内容数据共享质量评价参数通过如下公式获取:
69、
70、其中,q表示内容数据共享质量评价参数;pci表示第i个单位时间对应的数据共享错误率;
71、异常报警模块,用于当所述内容数据共享质量评价参数低于预设的参数阈值时,则判定数据共享运行异常,并进行异常报警。
72、本发明有益效果:
73、本发明提出的基于bmt的内存数据交换控制方法和系统用于在不同的内存单元之间传输数据。然而,现有的内存数据交换控制方法和系统存在一些问题,如传输效率低下、延迟高、资源占用大等。为了解决上述问题,我们提出了一种基于bmt的内存数据交换控制方法和系统。通过对内存中的数据进行分块管理和映射,实现高效的数据交换。通过分块管理和映射,实现高效的数据交换。该机制具有传输效率高、延迟低、资源利用率高等优势,适用于不同规模和需求的计算机系统。相比现有的内存数据交换控制方法和系统,本发明具有以下优势和效果:
74、1、提高传输效率:通过分块管理和映射,减少数据传输的冗余和开销,提高数据交换的效率。
75、2、降低延迟:采用高效的数据访问方式和块映射机制,减少数据读写的延迟,提升系统相应速度。
76、3、节约资源:通过bmt的管理和控制,优化内存资源的利用,减少内存碎片和空间浪费。
77、4、扩展性强:基于bmt的内存数据交换控制方法和系统具有较好的可扩展性,可以适应不同规模和需求的计算机系统。