在Linux环境下兼容运行不同业务系统的方法及信创服务器与流程

文档序号:36699387发布日期:2024-01-16 11:35阅读:16来源:国知局
在Linux环境下兼容运行不同业务系统的方法及信创服务器与流程

本发明属于计算机技术,特别是涉及在linux环境下兼容运行不同业务系统的方法及信创服务器。


背景技术:

0、技术背景

1、在信创工程推进过程中,原技术体系架构下业务应用在信创信创环境上难以短期内实现全面适配兼容以及在设备替换的同时保证业务工作的连续性,因此需要解决信创体系与传统x86体系融合兼容的问题。

2、通常采用应用虚拟化技术来解决兼容应用问题,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理主机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。又如,可以利用虚拟专用网技术(vpn)在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。

3、目前国际上常用的虚拟化技术包括虚拟机技术以及容器技术。

4、虚拟机(virtual machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的cmos、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。

5、虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。

6、以linux虚拟机为例,其是一种安装在windows上的虚拟linux操作环境,。它实际上只是个文件而已,是虚拟的linux环境,而非真正意义上的操作系统。但是它们的实际效果是一样的。所以安装在虚拟机上使用好。目前市面上,现有类似的技术,只能在windows上的虚拟linux操作环境,没有在linux上虚拟出可实际使用的windows操作环境,这主要是由于许多windows的技术是不公开的,而linux是开源的。

7、容器技术能够有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。容器技术能够在同一台服务器上创建相比于之前两倍的虚拟机实例数量,因此无疑将会降低系统总投入。但是必须认真进行规划,因为双倍的实例数量同样意味着对于运行这些实例的服务器带来了双倍的i/o负载。目前,市面上只有在相同cpu架构下的同构容器技术。在windows、linux上开辟的容器,只能加载同类操作系统镜像和应用程序。


技术实现思路

1、本发明要解决的技术问题是提供一种在linux环境下兼容运行不同业务系统的方法及信创服务器,可以适应各种类型的无线信道,从而降低数据传输和接收的复杂度。

2、本发明实施例提供了一种在linux环境下兼容运行不同业务系统的方法,其包括:

3、利用linux内核的进程管理机制,为每个虚拟cpu创建一个内核线程,分配虚拟寄存器和虚拟内存,利用硬件虚拟化技术,将虚拟寄存器和虚拟内存映射到物理寄存器和物理内存,从而创建虚拟cpu;

4、获取由业务系统发送的目标指令;所述业务系统部署于不同架构的os虚拟运行容器内;

5、根据当前的实际cpu的指令翻译集对所述目标指令进行翻译生成本地机器指令,并由所述虚拟cpu执行所述本地机器指令。

6、优选地,当所述虚拟cpu执行指令时,检查所述指令是否需要特权级别转换;

7、如需要,将虚拟cpu切换到vmx root模式下,执行特权级别转换,并在转换完成后,将虚拟cpu切换回vmx non-root模式下;

8、如不需要,则直接执行指令。

9、优选地,当所述指令为访问内存指令,所述虚拟cpu将虚拟地址转换为物理地址。利用页表映射机制,将虚拟地址映射到物理地址;

10、当所述指令为i/o请求指令,则所述虚拟cpu将虚拟i/o请求转换为物理i/o请求,物理i/o请求发送到物理设备,然后将设备的响应转换为虚拟i/o响应。

11、优选地,所述os虚拟运行容器基于异构容器技术将不同架构的容器运行在同一物理主机上;其中,具体地:

12、首先,将不同架构的os虚拟运行容器的二进制文件转换成本地架构的二进制文件;二进制转换分为两个阶段:静态转换和动态转换,静态转换将容器的二进制文件转换成本地架构的二进制文件,并将容器的二进制文件注册到内核中,当容器的二进制文件被执行时,内核会自动调用提供的二进制转换器,将容器的二进制文件转换成本地架构的二进制文件;动态转换将容器的系统调用转换成本地架构的系统调用,动态转换能够模拟各种不同的系统调用,包括文件操作、网络操作、进程管理;

13、然后,利用虚拟化技术,将不同架构的os虚拟运行容器虚拟化成本地架构的容器;虚拟化分为两个阶段:虚拟化和模拟;虚拟化将容器的硬件资源虚拟化成本地架构的硬件资源,将容器的硬件资源虚拟化成本地架构的硬件资源,将容器的硬件资源映射到本地架构的硬件资源上;模拟将容器的系统调用模拟成本地架构的系统调用。

14、优选地,cpu指令集的翻译包括指令翻译和代码生成;

15、其中,指令翻译分为解码和翻译两个阶段;

16、解码阶段将目标指令解码成内部表示形式,利用llvm模块提供的解码器,将目标指令解码成llvm ir形式;翻译阶段利用llvm模块提供的jit编译器,对llvm ir进行编译;

17、代码生成包括基本块生成和全局优化两个阶段;

18、基本块生成阶段利用llvm模块提供的基本块生成器,将编译的llvm ir转换成基本块;

19、全局优化阶段将利用llvm模块提供的全局优化器,将基本块优化成本地机器指令。

20、优选地,还包括:

21、用llvm模块提供的缓存管理器,将翻译后的本地机器指令缓存到内存中,从而在执行相同的指令时,直接从缓存中读取翻译后的代码,从而避免重复翻译;

22、利用宏替换技术,将非对应指令转换成对应指令的序列。

23、优选地,还包括:

24、通过异种操作系统总线实现在不同操作系统之间的传递消息和数据传输,从而实现异构系统之间的互操作性;其中:

25、消息传递分为两个阶段:发送和接收;

26、发送阶段将消息从一个操作系统发送到异种操作系统总线,异种操作系统总线将消息从一个操作系统发送到另一个操作系统;所述异种操作系统总线为虚拟总线,其通过共享内存、网络、文件实现消息传递;

27、接收阶段将消息从异种操作系统总线接收到另一个操作系统;

28、数据传输分为两个阶段:发送和接收。

29、发送阶段将数据从一个操作系统发送到异种操作系统总线,异种操作系统总线利用共享内存、网络、文件实现数据传输或者将数据写入共享内存、发送网络数据包、写入文件实现数据传输;

30、接收阶段将数据从异种操作系统总线接收到另一个作为接收的操作系统;

31、接收的操作系统利用协议提供的接口,接收和处理数据或者从共享内存读取数据、接收网络数据包、读取文件实现数据传输。

32、优选地,还包括:

33、利用虚拟化技术,将物理计算资源虚拟化成多个逻辑计算资源;

34、其中,虚拟化分为虚拟化和隔离两个阶段;

35、虚拟化阶段将物理计算资源虚拟化成多个逻辑计算资源;

36、隔离阶段将逻辑计算资源隔离开,防止不同用户或应用程序之间相互干扰。

37、优选地,还包括:

38、通过usb设备本地化总线协议实现与usb设备的数据交互。

39、优选地,还包括:

40、利用api映射技术,将windows应用程序调用的windows api映射到linux系统上的相应api;

41、api映射分为api分析和api映射两个阶段;

42、其中,api分析阶段将windows应用程序调用的windows api分析出来。利用静态分析和动态分析两种方式,分析windows应用程序调用的windows api;静态分析利用反汇编器,分析windows应用程序的二进制代码,找出调用的windows api;动态分析利用调试器,分析windows应用程序的运行过程,找出调用的windows api;

43、api映射阶段将windows api映射到linux系统上的相应api;

44、利用代码转换技术,将windows应用程序的二进制代码转换成linux系统上的可执行代码;代码转换分为两个阶段:代码加载和代码转换;

45、代码加载利用elf格式和pe格式两种方式,将windows应用程序的二进制代码加载到内存中;

46、代码转换利用动态二进制转换技术将windows应用程序的二进制代码转换成linux系统上的可执行代码。

47、本发明实施例还提供了一种信创服务器,其包括处理器以及存储器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的在linux环境下兼容运行不同业务系统的方法。

48、本发明实施例通过将虚拟机、容器技术有机结合,生成异构系统容器,突破信创体系与传统x86体系融合兼容应用的难题,其具有如下优点:

49、1、cpu指令集翻译及非对应指令宏替换,解决各种类型cpu指令的通用性;

50、2、通过异种操作系统总线协议,让信息流在各个操作系统、设备之间能够互联互通使用;

51、3、通过os虚拟运行容器为业务系统的完全兼容提供了一种安全、有效地加密解密机制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1