0 0

通过取模方式,随机获得20个分区20

假如有100万个手机号码,要均匀分布到20个数据库分区,取模如何是好呢?当然其它好的算法也成
我试验了下通过手机号码的最后两位数的asicc码取模,不太理想

问题补充:
chen_yongkai 写道
直接用Long的hashCode

long value;//手机号
int hashCode=(int)(value ^ (value >>> 32));
int index=hashCode%20;

chen_yongkai 写道
直接用Long的hashCode

long value;//手机号
int hashCode=(int)(value ^ (value >>> 32));
int index=hashCode%20;

这个会产生负数.....
2012年5月22日 00:19

3个答案 按时间排序 按投票排序

0 0

采纳的答案

直接用Long的hashCode

long value;//手机号
int hashCode=(int)(value ^ (value >>> 32));
int index=hashCode%20;

2012年5月22日 11:18
0 0

引用
int index=hashCode%20; 


int index=Math.abs(hashCode)%20

2012年5月26日 12:14
0 0

据说手机是根据前7位分区的
前三位是运营商,和卡号类型,4-7位是省市的位置

你可以根据这个来分区

你看这个怎么样 ,这个分区数差不多在20*30左右
hashcode = N_0_3*100+N_4_7%20

2012年5月22日 08:46

相关推荐

    全面学习分区表及分区索引

    2. 哈希分区:通过计算分区键的哈希值并取模来决定数据存储在哪个分区。 3. 列表分区:预定义一组分区键值,数据根据这些值的匹配情况进入相应分区。 4. 组合分区:结合多种分区策略,如同时按日期和产品ID进行分区...

    计算机操作系统实验-动态分区分配方式的模拟.doc

    本实验报告通过模拟动态分区分配方式,帮助我们更好地理解动态分区存储管理方式及其实现过程。通过实验,我们可以看到动态分区分配方式的实现过程和效果,从而更好地理解计算机操作系统的存储管理机制。 六、源代码...

    动态分区分配方式的模拟.pdf

    动态分区分配方式的模拟 本实验报告旨在探讨动态分区分配方式的实现过程,並使用JAVA语言实现了首次适应算法和最正确适应算法的动态分区分配过程和回收过程。实验中,我们将使用SQL Server数据库来存储分区信息,並...

    datastage 分区

    例如,如果基数为10,那么字段值为1到9的记录会分配到第一个分区,10到19的记录分配到第二个分区,以此类推。这种方式适用于数据无明显顺序且需要均匀分布的场景。 6. **DB2分区(DB2 Partitioning)** 当与DB2...

    操作系统实验三——动态分区分配方式的模拟

    通过这个实验,学生不仅可以掌握C++编程技巧,还能深入理解操作系统中存储器管理的基本原理和实现方法,尤其是动态分区分配的策略。这对于后续学习操作系统、系统编程以及优化内存管理策略等方面的知识具有重要意义...

    可变分区存储管理方式的内存分配和回收

    可变分区存储管理提供了一种灵活的方式来分配内存资源,使得不同大小的程序都能够得到适当的内存支持。通过对空闲分区的有效管理和合理的调度算法选择,可以最大化内存的利用率,减少内存碎片的问题。同时,这种机制...

    动态分区存储管理方式的主存分配回收

    动态分区存储管理方式允许内存空间随着进程的创建和结束而灵活变化,它不同于固定分区方式,后者将内存预先划分为若干固定大小的区域。动态分区的主要任务包括:内存分配、内存释放和内存碎片整理。 首先,内存分配...

    操作系统课程设计——一动态分区分配方式的模拟

    - **内存管理方式:** 通过空闲分区链表来管理空闲分区。 - **初始条件:** 可用内存空间为640KB。 - **请求序列:** - 作业1申请130KB - 作业2申请60KB - 作业3申请100KB - 作业2释放60KB - 作业4申请200KB -...

    Android 增加一个分区配置指南 V1.00_rk系统新增分区_android_

    每个分区都有特定的功能,例如系统分区存储核心OS组件,用户分区则保存用户数据和应用程序。本文档“Android 增加一个分区配置指南 V1.00_rk系统新增分区_android_”详细介绍了如何在Rockchip(rk)平台上为Android...

    动态内存分区分配方式模拟

    动态内存分区分配是操作...通过这个项目,学习者不仅可以深入理解动态内存管理的基本概念,还能实际操作并观察不同策略如何影响系统的性能。这有助于培养解决实际问题的能力,特别是对于系统级编程和资源管理的理解。

    动态分区方式主存的分配和回收程序

    动态分区方式主存管理是操作系统中内存管理的一种策略,它允许系统根据进程的实际需求动态地分配内存空间。这种管理方式相对于固定分区有更高的灵活性,但同时也带来了更复杂的分配和回收问题。下面我们将深入探讨...

    在固定分区管理方式下实现主存分配和回收

    例如,通过编写模拟程序,可以创建数据结构来表示内存分区,使用上述分配算法进行分配和回收操作,并用可视化的方式展示内存的使用情况,如通过图形界面显示不同颜色的分区代表不同的状态(已分配、空闲等)。...

    spark自定义分区以及写了一个例子,对文件进行处理

    分区决定了数据在集群中的分布方式,通过合理的分区策略,可以优化数据的读写速度,提高任务的执行效率。本文将深入探讨Spark自定义分区的原理,并通过一个具体的Scala实现例子来阐述其应用。 首先,理解Spark中的...

    动态分区方式的主存分配和回收

    动态分区方式的主存分配和回收是操作系统管理内存资源的重要机制,主要应用于多任务环境,如服务器和桌面操作系统。在这样的系统中,内存资源需要灵活地分配给不同进程,同时保证高效利用和避免碎片问题。下面我们将...

    可变分区存储管理方式的内存分配与回收(C++)

    通过对可变分区存储管理方式下的内存分配与回收的探讨及具体实现,我们了解到这种内存管理方式在操作系统设计中的重要性和实用性。通过合理的内存分配与回收策略,可以显著提升系统的性能并降低内存碎片的影响。此外...

    动态分区分配方式模拟(c语言)

    动态分区分配方式模拟(C语言) 动态分区分配方式模拟是操作系统中的一种重要机制,它负责管理计算机系统中的内存资源,使得不同的程序可以共享内存空间。在本实现中,我们使用C语言来模拟动态分区分配过程,包括...

    计算机操作系统实验报告_动态分区分配方式的模拟

    本次实验关注点在于动态分区分配方式的模拟,其核心在于通过C语言实现首次适应算法和最佳适应算法,对动态分区进行有效的内存分配与回收。这两种算法是操作系统内存管理中,动态分区分配的两种主要策略,它们各有...

    oracle分区表之hash分区表的使用及扩展

    这种分区方式通过计算分区键的哈希值来决定数据存储在哪个分区,以此达到数据分散和负载均衡的目的。Hash分区具有常规分区表的优点,如提升数据可用性、减少管理成本以及优化查询性能。 在某些特定场景下,例如在...

    C语言实现动态分区分配方式的模拟实验报告附代码

    在计算机科学领域,操作系统是管理计算机...通过这个C语言模拟实验,学习者不仅能深入理解动态分区分配的工作原理,还能提升解决实际问题的能力,为未来在操作系统开发或系统级编程中遇到的内存管理问题打下坚实基础。

    MS SQL Server分区表、分区索引详解

    此外,对于具备多CPU系统的环境,分区使得表的操作能够通过并行方式执行,这对于提高整体性能尤其有益。 #### 二、创建分区表或分区索引的步骤 创建分区表或分区索引的过程可以分为以下几个步骤: ##### 2.1 确定...

Global site tag (gtag.js) - Google Analytics