[发明专利]一种生成金融数据交换消息唯一包ID的算法在审

专利信息
申请号: 201710017917.6 申请日: 2017-01-11
公开(公告)号: CN106657441A 公开(公告)日: 2017-05-10
发明(设计)人: 蒋春风;利驿飞 申请(专利权)人: 深圳证券通信有限公司
主分类号: H04L29/12 分类号: H04L29/12
代理公司: 深圳市科吉华烽知识产权事务所(普通合伙)44248 代理人: 罗志伟
地址: 518040 广东省*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 生成 金融 数据 交换 消息 唯一 id 算法
【说明书】:

技术领域

发明涉及生成交换消息唯一包ID的算,尤其涉及一种生成金融数据交换消息唯一包ID的算法。

背景技术

在Windows操作系统下,系统本身提供了一种GUID的算法,可以通过COM接口CoCreateGuid函数取得。在Linux下,也可以通过第三方的库实现UUID的功能。但以上两种方法都有自身的缺陷,无法在金融数据交换平台中使用。

在现有Windows操作系统下,系统本身提供了一种GUID的算法,可以通过COM接口CoCreateGuid函数取得。但是该技术方法有一个重要的缺陷是,在一秒钟内只能生成一个唯一的GUID,如果在同一秒内生成多个GUID,则该GUID会重复。由于在金融数据交换系统中,一秒钟需要处理几十万个不同的消息包,每一个包ID都不允许重复,显然一秒钟只能生成一个包ID的算法是不能满足需求的。另外,金融数据交换平台要求在多个不同平台下运行,比如Windows、Linux、AIX、HP-UX等,某一个操作系统提供的算法无法移植到其它操作系统,因此需要发明一种新的算法,能在常用各种操作系统(Windows、Linux、AIX、HP-UX)上通用的算法,同时保证在整个系统内,一秒内百万个以内消息包ID的唯一性。

发明内容

为了解决现有技术中的问题,本发明提供了一种生成金融数据交换消息唯一包ID的算法。

本发明提供了一种生成金融数据交换消息唯一包ID的算法,通过以下部分生成金融数据交换消息唯一包ID:

生成包ID的计算机网卡MAC地址;

生成包ID的计算机的本地时间;

进程PID;

累加数;

增加本地指针的字段。

作为本发明的进一步改进,所述本地时间精确到秒。

作为本发明的进一步改进,将所述金融数据交换消息唯一包ID转换为Base64格式进行编码。

本发明的有益效果是:通过上述方案,能在常用各种操作系统(Windows、Linux、AIX、HP-UX)上通用的算法,同时保证在整个系统内,一秒内百万个以内消息包ID的唯一性。

具体实施方式

下面通过具体实施方式对本发明进一步说明。

为了保证整个系统内,消息包ID的唯一性,首先需要考虑系统的特点。金融数据交换平台的特点是:

(1)分布式系统,消息包ID的生成位于各个不同的客户端机器或服务端计算机上,因此,需要在保证在任意一台计算机上生成的包ID不同。

(2)多进程,每一个客户端程序或服务端程序都是多进程的,也就是说,需要避免在同一个时刻,生成多个包ID重复的问题。

(3)常见操作系统上可移植。

因此,为了生成唯一包ID,需要在空间和时间上都唯一,亦即保证在不同的计算机上,同一时刻,生成的包ID唯一。从这个思路出发,发明的一种生成金融数据交换消息唯一包ID的算法,由以下几个部分组成:

(1)生成包ID的计算机网卡MAC地址。通过该字段,保证了在不同的计算机上生成的包ID肯定是不同的。即在空间上唯一。

(2)生成包ID的计算机的本地时间。该本地时间需要精确到秒。

(3)进程PID。在同一个时刻,同一台计算机内进程PID是唯一的。

(4)累加数:累加数的目的是保证在同一秒内,同一台计算机内同一个进程PID生成几十万个包ID的值是不同的。

(5)由于在金融数据交换平台中,以上算法也将封装到一个动态库中供客户调用。由于客户调用本接口的方式可能是不确定的,也可能千奇百怪,甚至是用法错误的。为了避免本算法被多个不同接口调用多次的情况,兼容客户可能产生的错误,因此,在算法中增加本地指针的字段,通过这个字段,即使使用者使用不正确的方式调用,都可以得到正确的结果。

通过以上算法中的五个字段的组合,可以得到一个唯一的包ID。在具体实践过程中,为了避免以上字段过长,可以将以上数据转换为Base64格式进行编码,以缩短包ID长度,提高在数据传输中的效率。

本发明提供的一种生成金融数据交换消息唯一包ID的算法,为满足证券、银行等金融行业机构件对金融数据交换的需求,加速金融数据交换平台的推广应用;促进金融行业的业务协议的标准化;促进金融行业的各项业务发展与创新。本发明提供的一种生成金融数据交换消息唯一包ID的算法,已经应用在金融数据交换平台产品中,也可以应用到其它消息交换中间件系统中。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳证券通信有限公司,未经深圳证券通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710017917.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top