一种跨平台的即时通信SDK接入系统技术方案

技术编号:17406272 阅读:29 留言:0更新日期:2018-03-07 04:23
本发明专利技术公开了一种跨平台的即时通信SDK接入系统,本发明专利技术通过架构基础技术层、核心业务层和接口层;且所述基础技术层:用于向网络IO、缓存持久化及加密、线程管理和内存管理提供一致的技术点接口;所述核心业务层:用于对即时通信系统的业务分类为多个业务模块;所述接口层:用于将业务模型封装成统一的对外接口,从而能够让软件及应用系统方便地增加即时通信功能,提高软件/应用系统的用户粘度,丰富的附件消息提高用户使用软件/应用时长。能够花费较少的时间,金钱,精力获得较大的回报。

A cross platform instant messaging SDK access system

The invention discloses a cross platform instant messaging SDK access system, the architecture based technology layer, core business layer and interface layer; and the basic technology layer for providing a consistent interface to the network technology at IO, cache persistence and encryption, thread management and memory management; the core the business layer: for business classification of the instant communication system for multiple service module; the interface layer is used to encapsulate the business model into a unified interface, which can make the system software and application easy to add instant communication function, improve the user viscosity / software application system, improve the user software / application message attachments rich time. It can take less time, money, and energy to get a big return.

【技术实现步骤摘要】
一种跨平台的即时通信SDK接入系统
本专利技术涉及即时通信领域,具体涉及一种跨平台的即时通信SDK接入系统。
技术介绍
即时通信,指的是一种基于互联网的即时交流消息的业务,也称为“实时通信”,简称为IM。允许两人或多人使用网络实时的传递文字消息,文件,语音和视频交流。当前是一个互联网的时代,个人和企业的软件/应用基本都会用到网络。当这时候用户就会迫切想要软件/应用提供能方便,及时的交流;而软件/应用的开发者们又头疼辛苦获取的用户,怎么能在自己的系统中保留下来,交流能让用户之间产生关系,而这种关系对用户有很大的粘性;如果从头去开发一个及时通讯系统会投入大量的时间,财力,物力资源,而且如果设计不好还会对现有的系统造成较大的改动。现有的做法是使用其他IM系统提供的外部接口进行集成,但是由于IM系统另外单独的进程,在定制性和实际使用的体验上较差。很难和原有的软件/应用结合起来。而且现有的IM系统基本都只会适用於单个或者少量系统,不能做到平台的全覆盖,即跨平台性,也让想进行IM集成的开发者和用户难以选择。
技术实现思路
本专利技术的目的在于,为解决上述技术问题,提供一种跨平台的即时通信SDK接入系统。为解决上述技术问题,本专利技术采用如下的技术方案:一种跨平台的即时通信SDK接入系统,包括:基础技术层、核心业务层和接口层;所述基础技术层:用于向网络IO、缓存持久化及加密、线程管理和内存管理提供一致的技术点接口;所述核心业务层:用于对即时通信系统的业务分类为多个业务模块;所述接口层:用于将业务模型封装成统一的对外接口。如前述的跨平台的即时通信SDK接入系统,所述基础技术层包括线程管理模块、数据库模块、内存管理模块和网络模块;所述线程管理模块用于为所述核心业务层提供业务消息队列和线程的调度;所述数据库模块用于对系统运行中产生的数据进行加密并且持久化;所述内存管理模块用于管理内存;所述内存管理模块用于将内存根据业务进行分类。如前述的跨平台的即时通信SDK接入系统,所述内存管理模块管理内存的方法为:使用过的内存先不进行释放,保存起来,在下一次使用所述内存的时候进行复用;并且记录最后一次使用的时间,如果超过设定时间期限内没有使用,则进行释放。如前述的跨平台的即时通信SDK接入系统,所述网络模块包括请求响应网络通道和服务器推送网络通道;请求响应网络通道用于提供终端对服务器的主动请求业务的网络支持,并使用HTTPS短链接;服务器推送网络通道用于提供主动推送业务的网络支持,该通道使用HTTPS长连接,每隔一段时间给服务器发送心跳包。如前述的跨平台的即时通信SDK接入系统,所述将内存根据业务进行分类的方法为:对即时通信涉及到的所有业务逻辑进行编号;每一种业务都有一个唯一的标识号,所述标识号与编号相同,所述标识号为对应业务使用的内存链数组下标。如前述的跨平台的即时通信SDK接入系统,所述业务模块包括:用户自身业务模块、联系人业务模块、群组业务模块、消息业务模块、组织机构业务模块和附件资源业务模块。如前述的跨平台的即时通信SDK接入系统,所述接口层包括:库开发语言层和封装语言层,用于为不同的平台提供不同语言的接口。如前述的跨平台的即时通信SDK接入系统,所述对外接口包括:创建及销毁类接口、配置类接口和请求应答类接口;所述创建及销毁类接口,提供SDK实例的创建和销毁;所述配置类接口,提供SDK全局或者单个实例的配置;所述请求应答类接口,提供外部使用者对业务接口的使用及获取结果。如前述的跨平台的即时通信SDK接入系统,所述核心业务层包括:用户自身业务模块、联系人业务模块、群组业务模块、消息业务模块、组织机构业务模块和附件资源业务模块。与现有技术相比,本专利技术通过架构基础技术层、核心业务层和接口层;且所述基础技术层:用于向网络IO、缓存持久化及加密、线程管理和内存管理提供一致的技术点接口;所述核心业务层:用于对即时通信系统的业务分类为多个业务模块;所述接口层:用于将业务模型封装成统一的对外接口,从而能够让软件/应用系统方便的增加即时通信功能,提高软件及应用系统的用户粘度,丰富的附件消息提高用户使用软件/应用时长。能够花费较少的时间,金钱,精力获得较大的回报。附图说明图1为本专利技术系统模块图;图2为本专利技术中线程运行示意图;图3为本专利技术中SQLITE加密接口执行流程图;图4为本专利技术中接口调用流程图;图5为本专利技术中业务请求流程示意图。下面结合附图和具体实施方式对本专利技术作进一步的说明。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。实施例1,如图1所示,本专利技术提供一种跨平台的即时通信SDK接入系统,包括:基础技术层1、核心业务层2和接口层3;所述基础技术层1:用于向网络IO、缓存持久化及加密、线程管理和内存管理提供一致的技术点接口;所述核心业务层2:用于对即时通信系统的业务分类为多个业务模块;所述接口层3:用于将业务模型封装成统一的对外接口。所述基础技术层1包括线程管理模块102、数据库模块104、内存管理模块103和网络模块101;所述线程管理模块102用于为核心业务层提供业务消息队列和线程的调度;具体调度方法如图2所示,核心业务层2所有业务模块按数据来源和业务耗时还能分类为:1、网络相关业务,如加好友,发送聊天信息,特点是都会走网络模块且耗时在10毫秒~100毫秒量级;2、本地缓存数据库业务,获取自己信息,获取聊天记录等,特点是会走数据库模块;3、网络耗时业务,如传输文件等业务。以上三种类型对于线程管理模块来说处理模式都一样,所有的核心业务层2业务处理都会使用到线程管理模块102,线程管理模块102中的消息队列中的数据来自于内存管理模块103。线程管理模块102会在各种消息的处理中调用数据库模块104和网络模块101。所述数据库模块104用于对系统运行中产生的数据进行加密并且持久化;优选使用AES256对数据库文件进行全文件加密,在具备高安全性的同时,具有较高的读写性能;如图3所示,加密方法可以为:1、首先判断是否设置了加密密钥,判断方法为,pKey长度不为零。2、如果设置了加密密钥,则使用用户的密码计算出数据库的最终加密密钥,再计算成功后,创建一个最终加密密钥=md5(设置密钥);进一步的使用最终加密密钥加密数据库。3、如果没有设置加密密钥,则判断当前数据库是否为主数据库(Sqlite中概念),如果当前数据库是主数据库,则数据库不用加密。如果当前数据库不是主数据库,则获取主数据库的加密密钥,如果获取成功,则使用主数据库的密钥加密当前数据库。所述内存管理模块103用于将内存根据业务进行分类。所述内存管理模块103还用于管理内存,所述管理内存的方法为:使用过的内存先不进行释放,保存起来,在下一次使用该内存的时候进行复用;并且记录最后一次使用的时间,如果超过设定时间期限内没有使用,则进行释放。所述网络模块101包括请求响应网络通道和服务器推送网络通道;请求响应网络通道用于提供终端对服务器的主动请求业务的网络支持,并使用HTTPS短链接;服务器推送网络通道用于提供主动推送业务的网络支持,该通道使用HTTPS长本文档来自技高网...
一种跨平台的即时通信SDK接入系统

【技术保护点】
一种跨平台的即时通信SDK接入系统,其特征在于,包括:基础技术层、核心业务层和接口层;所述基础技术层:用于向网络IO、缓存持久化及加密、线程管理和内存管理提供一致的技术点接口;所述核心业务层:用于对即时通信系统的业务分类为多个业务模块;所述接口层:用于将业务模型封装成统一的对外接口。

【技术特征摘要】
1.一种跨平台的即时通信SDK接入系统,其特征在于,包括:基础技术层、核心业务层和接口层;所述基础技术层:用于向网络IO、缓存持久化及加密、线程管理和内存管理提供一致的技术点接口;所述核心业务层:用于对即时通信系统的业务分类为多个业务模块;所述接口层:用于将业务模型封装成统一的对外接口。2.如权利要求1所述的跨平台的即时通信SDK接入系统,其特征在于,所述基础技术层包括线程管理模块、数据库模块、内存管理模块和网络模块;所述线程管理模块用于为所述核心业务层提供业务消息队列和线程的调度;所述数据库模块用于对系统运行中产生的数据进行加密并且持久化;所述内存管理模块用于管理内存;所述内存管理模块用于将内存根据业务进行分类。3.如权利要求2所述的跨平台的即时通信SDK接入系统,其特征在于,所述内存管理模块所述管理内存的方法为:使用过的内存先不进行释放,保存起来,在下一次使用所述内存的时候进行复用;并且记录最后一次使用的时间,如果超过设定时间期限内没有使用,则进行释放。4.如权利要求2所述的跨平台的即时通信SDK接入系统,其特征在于,所述网络模块包括请求响应网络通道和服务器推送网络通道;请求响应网络通道用于提供终端对服务器的主动请求业务的网络支持,并使用HTTPS短链接;服务器推送网络通道用于提供主动推送业...

【专利技术属性】
技术研发人员:杨厂普党艳平王斌康宁
申请(专利权)人:北京北信源软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1