一种分布式系统的数据交互校验方法

文档序号:36977750发布日期:2024-02-07 13:31阅读:23来源:国知局
一种分布式系统的数据交互校验方法

本发明涉及互联网技术和分布式数据处理,具体涉及一种分布式系统的数据交互校验方法。


背景技术:

1、一个庞大的信息系统通常以服务业务作为基础部署手段。每个业务完成某一方面的功能,多个业务组合实现系统的宏观功能,可以说系统即为服务业务的集合。当系统进行功能扩充时,服务业务的数量会随之增加。当系统需要分布在不同的网络环境运行时,同一类功能的服务业务会部署在多个网段的子服务器中,形成多个业务软件运行实例。

2、另一方面,当大型的分布式系统需要部署在大量互不联通的局域网子服务器的时候,需要在每个局域网的子服务器中单独部署其授权业务的业务软件运行实例,而由于分布式系统中不同业务之间不可避免存在业务和数据的关联耦合,即使某单个业务的功能运行,也往往需要借助与其它子服务器之间进行数据交互,这样就需要不同子服务器之间进行大量的身份鉴别、版本兼容性判断、数据访问的功能和/或性能校验等处理。随着分布式系统的功能扩充和服务业务数量的增加,这些交互判断校验逻辑将变得越发频繁和臃肿;同时,由于不同子系统之间的业务上护具存在关联耦合性,数据交互访问的校验处理将会影响子服务器上下游之间的数据交互效率,并且子服务器之间校验处理的不确定性也会影响分布式系统的整体服务业务稳定性。

3、因此,如何在兼顾分布式系统内数据交互稳定性的同时,提升数据交互校验的处理效率,成为了分布式系统服务业务处理性能提升技术研究的重要技术问题。


技术实现思路

1、针对上述现有技术的不足,本发明提供了一种分布式系统的数据交互校验方法,用以兼顾提升分布式系统内数据交互的处理效率和稳定性,帮助提升分布式系统的服务业务处理性能。

2、为了解决上述技术问题,本发明采用了如下的技术方案:

3、一种分布式系统的数据交互校验方法,所述分布式系统包括主服务器和子服务器,服务器与分布式系统内不同分支网络中作为接入端的子服务器进行数据通信连接,其他各子服务器之间根据服务业务交互的业务归属关系进行数据通信连接;该方法包括以下步骤:

4、主服务器生成用于对各子服务器各自业务的运行权限加以验证的业务权限标识,并建立用于记录主服务器与子服务器之间以及各子服务器之间的业务归属关系信息的系统业务登记簿,且在每个子服务器创建或更新业务时向其分发业务登记簿及业务对应的业务权限标识;

5、当任意子服务器运行业务时,通过业务权限标识进行业务运行权限的自验证(,且在业务运行中与其它子服务器进行数据交互时,根据业务登记簿确认相互之间存在业务归属关系后,进行双方的数据交互。

6、上述分布式系统的数据交互校验方法中,作为优选方案,所述业务权限标识的按如下方式生成:

7、针对于每个业务,生成作为其业务唯一性标识的业务id,并获取该业务所部署授权运行的各子服务器的设备码;将每个业务的业务id和一个授权运行该业务的子服务器的设备码按预设的加密算法进行加密计算,得到对应的业务权限标识;由此,分别生成各子服务器各自业务的业务权限标识;

8、所述主服务器进行业务权限标识的分发时,向子服务器发送其部署授权运行的业务所对应的业务权限标识。

9、上述分布式系统的数据交互校验方法中,作为优选方案,子服务器在运行业务时进行业务运行权限自验证的方式为:

10、子服务器获取待运行业务的业务id,并提取该子服务器自身的设备码与所述业务id按预设的加密算法进行加密计算,得到待验证标识;子服务器将所述待验证标识与自身存储的业务权限标识进行一致性匹配,若存在匹配一致的业务权限标识,则判定业务运行权限成功,允许待运行业务执行业务运行。

11、上述分布式系统的数据交互校验方法中,作为优选方案,所述系统业务登记簿中记录的业务归属关系信息包括主服务器和各子服务器各自运行权限范围内业务的业务id、业务id对应的业务中各服务器之间的业务归属关系、以及业务id对应的业务在服务器之间进行数据交互的数据接口调用规则。

12、上述分布式系统的数据交互校验方法中,作为优选方案,子服务器在业务运行中与其它子服务器进行数据交互时确认相互之间存在业务归属关系的步骤包括:

13、s101、子服务器作为发起方服务器,向响应方服务器发送携带有业务id的业务数据交互请求;所述交互响应方服务器为其它子服务器;

14、s102、响应方服务器接收业务数据交互请求并获取其中携带的业务id,查询本方存储的系统业务登记簿中该业务id对应的业务中各服务器之间的业务归属关系,确认本方与发起方服务器之间在该业务id对应的业务中是否存在业务归属关系;若不存在,则执行步骤s103;若存在,则执行步骤s105;

15、s103、响应方服务器根据自身存储的系统业务登记簿中记录的其与主服务器之间的通信路由路径,向主服务器发送系统业务登记簿同步更新请求,从主服务器获取最新的系统业务登记簿进行更新存储,然后执行步骤s104;

16、s104、响应方服务器根据更新后的系统业务登记簿再次确认本方与发起方服务器之间在业务数据交互请求携带的业务id对应的业务中是否存在业务归属关系;若不存在,则向发起方服务器反馈数据交互失败提示信息;若存在,则执行步骤s105;

17、s105、响应方服务器响应数据交互请求,按照本方存储的系统业务登记簿中该业务id对应的业务在服务器之间进行数据交互的数据接口调用规则,与发起方服务器进行业务数据交互。

18、上述分布式系统的数据交互校验方法中,作为优选方案,所述步骤s103具体为:

19、s1031、响应方服务器查询自身存储的系统业务登记簿中记录的主服务器与子服务器之间以及各子服务器之间存在的业务归属关系,确认本方与主服务器之间建立通信的通信路由路径;若所述通信路由路径中本方与主服务器之间包含作为路由中转的子服务器,则执行步骤s1032;若所述通信路由路径中本方与主服务器存在直接业务归属关系,则执行步骤s1037;

20、s1032、响应方服务器发送系统业务登记簿同步更新请求至所述通信路由路径中上传方向的下一个子服务器,且系统业务登记簿同步更新请求中携带有所述通信路由路径;

21、s1033、作为路由中转的子服务器获取所述通信路由路径,将系统业务登记簿同步更新请求转发至所述通信路由路径中上传方向的下一个服务器,直至转达至主服务器;

22、s1034、主服务器响应所述系统业务登记簿同步更新请求,将最新的系统业务登记簿通过预先约定的加密公钥加密为登记簿密文,发送至所述通信路由路径中下发方向的下一个子服务器;

23、s1035、作为路由中转的子服务器接收所述登记簿密文,转发至所述通信路由路径中下发方向的下一个子服务器,直至转达至所述响应方服务器,执行步骤s1036;同时,作为路由中转的子服务器通过预先预定的解密私钥对登记簿密文解密,获得所述最新的系统业务登记簿,并核对本方存储的系统业务登记簿与所述最新的系统业务登记簿是否一致;若不一致,作为路由中转的子服务器则也对所述最新的系统业务登记簿进行更新存储;

24、s1036、响应方服务器通过预先预定的解密私钥对登记簿密文解密,获得所述最新的系统业务登记簿,然后执行步骤s1038;

25、s1037、响应方服务器向主服务器发送系统业务登记簿同步更新请求,主服务器响应所述系统业务登记簿同步更新请求,向响应方服务器发送最新的系统业务登记簿,然后执行步骤s1038;

26、s1038、响应方服务器获取所述最新的系统业务登记簿进行更新存储。

27、上述分布式系统的数据交互校验方法中,作为优选方案,所述主服务器还存储各业务的最新版本号和各历史版本号对应的运行软件安装包和配置文件,并建立有用于记录各业务的最新版本号和各历史版本号对应的数据传输协议的业务版本登记簿,且在每个子服务器创建或更新业务时向其分发业务版本登记簿;

28、当任意子服务器在业务运行中与其它子服务器进行数据交互时,根据业务版本登记簿确认相互之间的数据传输协议达成一致后,进行双方的数据交互。

29、上述分布式系统的数据交互校验方法中,作为优选方案,子服务器在业务运行中与其它子服务器进行数据交互时确认相互之间的数据传输协议达成一致的步骤包括:

30、s201、子服务器作为发起方服务器,向响应方服务器发送业务数据交互请求,所述业务数据交互请求中携带有发起方服务器运行相应业务对应的业务id和业务软件版本号;所述交互响应方服务器为其它子服务器;

31、s202、响应方服务器接收业务数据交互请求并获取其中的业务id和业务软件版本号,确认本方相应业务id的业务软件版本号是否与其一致;若相一致,则执行步骤s206;若不一致,则执行步骤s203;

32、s203、响应方服务器确认本方相应业务id的业务软件版本号是否高于业务数据交互请求中携带的业务软件版本号;若高于,则执行步骤s204;若本方相应业务id的业务软件版本号低于业务数据交互请求中携带的业务软件版本号,则执行步骤205;

33、s204、响应方服务器响应数据交互请求,并查询本方存储的业务版本登记簿,按照业务数据交互请求中携带的业务id的业务软件版本号对应的数据传输协议对业务数据进行传输协议转换,使得响应方服务器与发起方服务器之间在该业务id所对应的数据传输协议达成一致,然后执行步骤s206;

34、s205、响应方服务器将本方相应业务id的业务软件版本号反馈至发起方服务器;发起方服务器查询其存储的业务版本登记簿,按照响应方服务器反馈的业务id的业务软件版本号对应的数据传输协议对业务数据进行传输协议转换,使得发起方服务器与响应方服务器之间在该业务id所对应的数据传输协议达成一致,然后再次向响应方服务器发送传输协议转换后的业务数据交互请求,由响应方服务器对该业务数据交互请求进行响应,然后执行步骤s206;

35、s206、响应方服务器与发起方服务器之间针对业务数据交互请求中所携带业务id的业务,以相同数据传输协议进行双方的业务数据交互。

36、上述分布式系统的数据交互校验方法中,作为优选方案,在作为发起方服务器或响应方服务器的子服务器确认本方在业务数据交互请求中所携带业务id对应的业务软件版本号比交互对方更低时,该子服务器还执行如下处理:

37、该子服务器根据自身存储的系统业务登记簿中记录的其与主服务器之间的通信路由路径,向主服务器发送所述业务数据交互请求中所携带业务id所对应业务的运行软件版本更新请求,从主服务器获取相应业务id的最新版本号对应的运行软件安装包和配置文件,进行相应业务软件版本的更新和配置,然后再与交互对方重新进行相应业务id的业务软件版本号的一致性确认。

38、上述分布式系统的数据交互校验方法中,作为优选方案,在子服务器中配置有业务代理运行模块,用于代理执行业务的数据交互处理;

39、在子服务器针对业务数据交互请求中携带的业务id所对应业务的运行软件版本更新之前,子服务器先将相应业务id对应的业务在服务器之间进行数据交互的数据接口调用规则、已与交互对方达成一致的数据传输协议、以及对业务数据交互请求进行响应所需的相关业务数据发送至业务代理运行模块进行缓存,然后由业务代理运行模块根据缓存数据代理执行与交互对方的数据交互处理;

40、在子服务器针对业务数据交互请求中携带的业务id所对应业务的运行软件版本更新和配置完成之后,则重新接管与交互对方的数据交互处理,释放和清除业务代理运行模块的缓存数据。

41、本发明与现有技术相比,具有如下有益效果:

42、1、本发明分布式系统的数据交互校验方法中,将业务运行的权限交由各个运行业务的子系统服务器自行验证,保证了业务只能在权限允许的子服务器设备范围内加以运行,确保了服务业务运行交互的稳定性,免去了子服务器之间在进行业务数据交互时对双方业务权限的校验内容,而在子服务器之间的数据交互验证中,只需要确认双方具有业务归属关系和明确相关业务接口调用规则即可,大幅简化了子服务器之间数据交互的校验内容和步骤,提高了数据交互校验效率。

43、2、本发明分布式系统的数据交互校验方法中,子服务器在业务运行中与其它子服务器进行数据交互时,如果确认相互之间存在业务归属关系,则完成交互权限的校验,执行双方的业务数据交互;而如果首次验证不存在业务归属关系,响应方服务器向主服务器从主服务器获取最新的系统业务登记簿进行同步更新之后,依据最新的系统业务登记簿对本方与发起方服务器之间的业务归属关系加以再次校验和确认,以解决因子服务器自身因网络更新不及时而造成分布式系统内业务数据交互不畅通、不稳定的问题。

44、3、本发明分布式系统的数据交互校验方法中,发起方服务器和响应方服务器之间在进行数据交互时,还会先确认双方针对需交互的业务id所对应业务的运行软件版本是否一致,并引入了传输协议转换机制,高版本向低版本进行协议转换兼容,保证双方还是能在版本协议一致的条件下进行数据传输交互,进一步解决了分布式系统中因部分子服务器可能存在业务软件版本更新不及时而引起的业务数据交互不畅通的问题。

45、4、本发明分布式系统的数据交互校验方法,在兼顾分布式系统内数据交互稳定性的同时,有效提升了子服务器之间执行业务数据交互校验的处理效率,能够有效的帮助提升分布式系统的服务业务处理性能,具有很好的技术推广应用价值。

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